Packaging adaptive bitrate VOD content on the fly

The actual market on the OTT use Adaptive Bit Rate video format over HTTP (Smooth Streaming, HTTP Dynamic Streaming, HTTP Live Streaming and MPEG-DASH soon) to deliver the content. I make this analyse without integrate the DRMs system which is a big topic itself. Here is an overview of the different format available for each platform.

Smooth StreamingHTTP Dynamic StreamingHTTP Live Streaming
PCSilverlight Player or Windows 8 client SDKFlash PlayerSafari (on Mac OSX Only)
iOS (iPhone, iPad, AppleTV)Native player (Quicktime)
Android (> v3.0)Flash Player or AirNative player
XboxNative player
Windows PhoneNative player
Samsung Smart TVNative player

The matrix is a kind complex; all this technologies are multibitrate, so for one asset, you need to transcode for each bitrate. Each technology is different and use his own specification :

ManifestsChunksAudio CodecVideo Codec
Smooth StreamingISM (XML based)One ISMV for each BitRateAAC / WMAH264 / VC1
HTTP Dynamic StreamingF4M (XML based)One F4V for each BitRateAAC/MP3H264 / VP6
HTTP Live StreamingM3U8 (text based)TS chunked filesAAC/MP3H264

If I follow the specifications given by the manufacturers (HLS) or if I’m basing on 4 bitrates for the others formats (Smooth Streaming, HDS), I need to transcode more than 20 times the same asset.

There is an option to avoid and reduce significatively the number of transcoding tasks : the packaging on the fly. This article will only analyse the on-demand side, not the live.

Packaging on the fly is possible. If you look the second table, you will see all format can be encoded in H264 and AAC, so you would streamline the number of transcoding tasks from 20 times to 8. I take 8 because this is the number of bitrate given for the iPad encoding video recommandations.

The main idea is : have one ABR streaming format in input, repack in a server the content in anyone others formats. To do that there is different solutions, I group them by type :

  • solution self-hosted
  • solution provided by a CDN
  • solution provided by a Cloud services

Solution self-hosted

Adobe Media Server

Adobe Media Server (previously called Flash Media Server – FMS) is the media server provided by Adobe Systems. The real-time packaging was released in FMS 4.5 for HLS and HDS. The input file will be a f4v or mp4 file (setup to play on-demand MBR)

Currently, there is no support of Smooth Streaming protocol. I don’t know if Adobe’s team planned it in their roadmap.

Adobe Media Server v5.0.1 (the last one) can be installed on multiple platforms : Linux CentOs, Microsoft Windows Server, Red Hat.

Unified Streaming Platform

Unified Streaming Platform is provided by CodeShop, a dutch company. For VOD content, the idea is to provide from one unified source (based ISM or F4M files) to every ABR format : HLS, HDS, Smooth Streaming, MPEG-DASH.

To deploy the platform, you need 2 tools :

  • mp4split packager which convert mp4 files to fragmented format
  • a module for webserver (Apache, Nginx, Lighttpd, IIS) which convert on the fly the  input format to the asked output format.

The fact the solution is based on a module for common webserver, it is very easy to monitor.

There is a link to view a demo at the bottom of USP website.

Spectrum

Seawell Networks, a company based in Portland, Oregon,  develop Spectrum. You can use 2 format in input : HLS or Smooth Streaming. In the output, the software provide 3 formats : HLS, Smooth Streaming and HDS.

There are interesting features in this software which are added to the main one :

  • the advertising insertion dynamically
  • the real-time analytics
  • management via APIs

Wowza Media Server

Wowza is a US company based near Denver in Colorado. The first version was released in 2007 to provide a low cost solution compared to FMS. In Wowza Media Server version 3, released in 2009, they gave the option to use one format to deliver every devices.

The server is available on many platforms : Windows Server, all Linux distributions, Unix and Solaris. You can manage it from an administration UI. Some API (based in Java) are available to create and deploy your own add-on.

If you want more, you can ! Because Wowza give the opportunity to use an add-on which transcode on-the-fly : you have non-H264 input file, the add-on transcode in H264.

Solutions provided by CDN

Akamai Sola Vision

 his own solution of repacking on the fly : Sola Vision.

The input format is a simple MP4 file. You don’t need to package your content in one of the ABR format. The solution prepare the content to be streamed in HLS, HDS or FLV.

The main advantage is you have a all-in-one solution : content packaging and distribution via the Akamai infrastructure around the world.

Limelight Deliver Anywhere

Limelight announced too their own solution : Deliver Anywhere. The content is transformed into the good format : Smooth, HLS.

As Akamai, you can have access to the CDN infrastructure to deliver your content. You can access to complementary services like authentication via MediaVault, Bandwith control, watermarking…

Solutions provided by Cloud services

Windows Azure Media Services

Windows Azure Media Services was out in preview at the end of last spring. This solution provide some tools to manage and work on videos. One of the last feature which will be implemented in the cloud solution is called Dynamic Remux. One single MP4 file is stored and the asset can be encrypted dynamically and packaged :

  • Playready for Smooth, DASH and HLS
  • AES-128 for HLS.

As you can see, there is some solution which is available and can respond to your problematic. You can implement one of them in your infrastructure for production or use one of them to manage overload or burst for example.

You have the name of the tools, it’s your job to find the good application. If you need it  ;-)

6 thoughts on “Packaging adaptive bitrate VOD content on the fly

  1. bitonio

    Quelques petits compléments en vrac :

    - Les télévisions/lecteur de salon les plus récents chez Panasonic et Sony sont capables de consommer du HLS (pas dans toutes les subtilités mais ça fonctionne)
    - XBOX supporte aussi le HLS

    Reply
  2. sfaure

    Dans la foulée de @bitonio, j’ajoute LG comme lecteur HLS.

    Quid des CDNs qui utilisent des solutions “self-hosted” ? Je pense à Smartjog qui s’appuie sur Wowza et/ou USP …

    Reply
  3. Nick Drouin

    The dynamic remuxing capabilities of Windows Azure Media Services will include the ability to source from:
    – Multi-bit-rate MP4
    – Multi-bit-rate Smooth
    And produce:
    – Smooth
    – HLS v4
    Dynamic remux of encrypted content, dynamic encryption and DASH should be coming online some time in 2013. We can also source from a single-bit-rate mp4 or smooth, but you no longer have the advantages of adaptive bitrate (just the protocol / player-framework consistancy).

    Merci,

    -Nick Drouin,
    Windows Azure Media Services

    Reply
  4. Olivier Post author

    @Nick, @bitonio, thanks for the precision
    @sfaure I don’t know guys from SmartJob but if someone of this company can precise on their solution. I’m opened ;-)

    Reply
  5. Pingback: News from video ecosystem – week 2 – CES – 4K – ABR | Video, Web, Technologies…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>