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 Streaming||HTTP Dynamic Streaming||HTTP Live Streaming|
|PC||Silverlight Player or Windows 8 client SDK||Flash Player||Safari (on Mac OSX Only)|
|iOS (iPhone, iPad, AppleTV)||Native player (Quicktime)|
|Android (> v3.0)||Flash Player or Air||Native player|
|Windows Phone||Native player|
|Samsung Smart TV||Native 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 :
|Manifests||Chunks||Audio Codec||Video Codec|
|Smooth Streaming||ISM (XML based)||One ISMV for each BitRate||AAC / WMA||H264 / VC1|
|HTTP Dynamic Streaming||F4M (XML based)||One F4V for each BitRate||AAC/MP3||H264 / VP6|
|HTTP Live Streaming||M3U8 (text based)||TS chunked files||AAC/MP3||H264|
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
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.
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 ;-)