Quantcast
Channel: Video Cloud Overview Recent
Viewing all articles
Browse latest Browse all 2356

Delivering Videos with Apple HLS

$
0
0
-14

Apple HTTP Live Streaming (HLS) is a protocol implemented by Apple for delivering video to Apple mobile devices including the iPhone, iPad, and iPod Touch. This protocol breaks the video into a sequence of small file downloads, each download loading one short chunk of the video using HTTP. The Apple App Store rules call for the use of Apple HLS for long form video content (greater than 5 Mb or 10 minutes). Apple also requires that there be a rendition whose total bitrate (video bitrate plus audio bitrate plus overhead - for a poster image, metadata, etc.) be 192 kbps or less. See this Apple Tech Note for more details.

Note that if you deliver video via progressive download to iOS devices (iPhones or iPads), iOS will attempt to download the entire video, even if the viewer never tries to play it. This can increase your bandwidth usage if you have many viewers on iOS devices. You can prevent this by insuring that there are HLS renditions for all of your videos.

Note: The ability to create and edit HLS renditions is limited to Pro and Enterprise level publishers.

Note: A default set of HLS renditions was made available to all Video Cloud publishers on November 20, 2013.

Note that Apple HLS has nothing to do with live video. For a list of all the options available from Brightcove for delivering live streaming video, see Delivering Live Streams.

Creating Apple HLS renditions

Video Cloud supports Apple HLS as a video encoding option, along with H.264 (MP4) and H.263 (FLV). You can configure your account to create one or more Apple HLS renditions, along with any H.264 or H.263 renditions you want to create, when you upload a video to Video Cloud. This feature is available only to Video Cloud Pro and Enterprise publishers since it requires the ability to add additional renditions.

To configure an Apple HLS rendition, edit your transcode settings. Under Account Settings > Transcode Settings > Multiple Renditions, add one or more renditions with the Video Container setting set to M2TS. In nearly all cases you will also want to maintain a full range of H.264 / MP4 renditions for delivery to desktop and mobile web applications, since most desktop browsers do not support HLS natively yet. For more information, see Setting your transcode options and Encoding for Mobile Video.

Once you have set your transcode settings to include one or more Apple HLS renditions, then every time you upload a video, whether you use the Media module, FTP batch provisioning, or the Media API, the video will include Apple HLS renditions along with the other multi-bitrate renditions that are created. To create HLS renditions for existing video content, you will need to re-encode the videos. See Re-encoding Existing Videos for information on how to do that.

Note: A default set of HLS renditions was made available to all Video Cloud publishers on November 20, 2013.

Playing Apple HLS renditions

Video Cloud supports Apple HLS playback on Apple iOS devices. Video Cloud smart players will automatically detect any available Apple HLS renditions.

The default behavior is to start with the lowest non-audio rendition. With connection=wifi appended to the dynamic URL for the m3u8 file, initial playback will use a 440 kbps or nearest lower bitrate stream available.

Any native apps you create for Apple devices using the Video Cloud App SDK for iOS can access and play back your Apple HLS renditions. You can also access your Apple HLS renditions using the Media API, by setting the media_delivery argument to http_ios and including the FLVURL property in the Video objects you retrieve with the Media API, as described in Accessing Video Content with the Media API.

Video Cloud also offers Apple HLS encryption, which lets you send encrypted video over HTTP for playback on devices running iOS including, the iPhone, iPad, and iPod Touch. See Protecting Videos on iOS Devices with HLS Encryption for details.

HLS on Kindle and other Android devices

Here are details on support for HLS on Android devices assuming the video does have HLS renditions available.

  • The logic for selecting HLS on Android is as follows:
    • If you are on Android < 4.x, you will never get HLS
    • If you are on Android 4.2 and above, you will always get HLS
    • If you are on Android 4.0 or 4.1, and there are no playable PD renditions available, you will get HLS
  • Video Cloud supports HLS renditions on Kindle Fire HD devices running Silk 2.3+ browsers, meaning HLS will be the default delivery on those devices regardless of whether or not mp4 renditions are available. Due to a number of other issues, there is no official support for HTML players on Kindle at this time. 
  • Support for HLS playback on Android only as a fallback when there are no other playable rendtions (i.e. mp4 renditions), because of a number of issues with Android support for HLS which are documented publicly.

Related Topics


Viewing all articles
Browse latest Browse all 2356

Trending Articles