Video Formats and Captioning with the Native SDKs

Product(s)
Video Cloud
Brightcove Player
Role(s)
Device SDK Developer
Task(s)
Develop with the Native SDKs
Topic(s)
Captions
SDK
Android
iOS
tvOS

Understanding your options when choosing which video format to use and what captions to apply, is essential for ensuring your application will deliver the desired video experience to viewers.

Overview

The Brightcove Native Player SDKs for mobile platforms strive to ensure your application reaches a wider audience and meets FCC guidelines by ensuring that your content provides an exceptional caption experience.

For more information about standards and techniques for using captions, check out the Zencoder's blog post on closed captioning.

Review the video formats and captions for each category:

Progressive Download

Video formats using this scheme force the content to download from start to finish with no gaps and results in the full piece of content being downloaded to the device. This behavior means that viewers will be unable to seek to any area that has not already been buffered.

Based on this functionality, we advise that mid-roll advertisements are not used in combination with progressive download video formats. In addition to this, application publishers should be aware that any action that clears the video buffer will result in the client buffering from the start of the content should they attempt to resume playback afterwards.

Table for MP4/M4V support

Video format iOS SDK Android SDK
MP4/M4V yes yes
Caption format    
Sidecar WebVTT no yes
Sidecar TTML (DFXP) no yes
608 / 708 yes yes

Adaptive Bitrate Streaming

Video formats using this scheme are broken up into short segments that are downloaded when needed by the player. This allows users to seek anywhere in the content and only need to download the segment that they’ve jumped into. Generally, formats following this scheme use a “manifest” that contains all the details of the video such as the number of segments and where to find them.

Table for HTTP Live Streaming (HLS) support

Video format iOS SDK Android SDK
HTTP Live Streaming (HLS) yes yes
Caption format    
In-Manifest WebVTT yes yes
Sidecar WebVTT yes yes
Sidecar TTML (DFXP) no yes
608 / 708 yes yes

 

Similar to HLS, MPEG-DASH enables high quality streaming of media content over HTTP. It also works by breaking content into a sequence of file segments.

Table for Dynamic Adaptive Streaming over HTTP (MPEG-DASH) support

Video format iOS SDK Android SDK
Dynamic Adaptive Streaming over HTTP (MPEG-DASH) no yes
Caption format    
In-Manifest WebVTT no yes
Sidecar WebVTT no yes
Sidecar TTML (DFXP) no yes

 

Digital Rights Management (DRM)

A third set of formats worth noting are those proprietary formats that some DRM partners use.

The Brightcove Native Player SDKs can not access or control the properties and functionality of these formats. Issues found with these formats may need to be addressed to their proprietors directly.

Table for Widevine Media (.wvm) support

Video format iOS SDK Android SDK
Widevine Modular (DASH-CENC) no yes
Caption format    
Sidecar WebVTT no yes
Sidecar TTML (DFXP) no yes
608 / 708 no yes

 

Apple's FairPlay Streaming (FPS) technology can be used to deliver secure content when using HTTP Live Streaming (HLS).

Table for FairPlay Streaming (FPS) support

Video format iOS SDK tvOS SDK
HTTP Live Streaming (HLS) yes yes
Caption format    
Sidecar WebVTT yes yes

 

For more information about content protection with the Native SDKs, check out the Digital Rights Integrations page.