By now most, if not all, video content creators and owners know about adaptive bit rate (ABR) video streaming (writes Coby Rich, Director of Marketing at US encoding specialist Sorenson Media). ABR delivery has affected the way each of us consumes video everyday.
Although many average consumers may not realise it, ABR delivery is becoming the standard for delivering video across the web, to mobile devices and to set-top boxes. The problem that many content creators run into when faced with the prospect of transitioning to an ABR delivery method is… “Where do I begin?”
Before we get into the specifics, let’s talk generally about what ABR is, different “flavours” of ABR, and uses for each flavour.
What is ABR?
ABR is a technique used to stream video across a variety of networks smoothly and securely. It works by detecting the end user’s bandwidth and adjusting the video quality to meet their needs in 2- to10-second increments.
One problem that ABR streaming set out to solve was to provide a positive user experience for all viewers regardless of their network speed, which if done properly, it does very effectively. The other reason many have switched to ABR is security. HTTP streaming has become the dominant ABR approach because it allows content producers to start with a secure streaming method and supports multiple encryption and DRM options on top.
ABR is most often delivered by using a Content Delivery Network (CDN). The main reason for using a CDN is scalability. Because CDN’s provide localised edge caches, they reduce long-haul traffic and cut down the cost of streaming.
What are the options for ABR?
Just like everything in life, ABR delivery has options. Currently there are three major “flavours” of ABR. These include: Adobe Dynamic Streaming, Apple HTTP Adaptive Streaming and Microsoft Smooth Streaming. Let’s break each of these down individually.
Adobe Dynamic Streaming is Adobe’s latest rendition of ABR delivery for live and on-demand streaming. This method began as a server-based RTMP adaptive streaming method, but now allows for HTTP streaming with Flash Player 10.1 and higher. This delivery method enables streaming of standards-based H.264 MP4 media over regular HTTP connections controlled by an .F4M file manifest.
Apple HTTP Adaptive streaming or Apple HTTP Live Streaming (HLS) was designed to provide ABR delivery to all Apple devices. Like Adobe Dynamic streaming, HLS uses H.264 as the video codec; however, HLS uses a transport stream (.ts) to deliver the files. All the transport streams are bundled together and need to be delivered by an index file (.M3U8 extension) containing a list of the associated media files.
Microsoft Smooth Streaming is an Internet Information Service (IIS) extension that was built to deliver ABR streams to Silverlight and other clients. The files need to have the .ismv extension and contain H.264 video fragments, as well as the associated audio fragments. An XML-based server manifest file and client manifest files are also generated. Content can then be delivered using a Smooth Streaming-enabled IIS origin server.
How do you encode for ABR delivery?
Every variety of ABR requires its own process and set of rules for delivery and none of them are very straightforward, one-step processes. The typical workflow for creating ABR streams is as follows: first, encode your video files into multiple streams that include variations of the frame size, data rate and frame rate.
Next, use a segmenting tool to cut up those streams into 2- to 10-second chunks so that the user will have a seamless experience regardless of bandwidth. Finally, use a third tool to create the index or playlist file that is required to control the streams.
This can definitely be a lot of work. Granted, each of the delivery methods has its own tools that can help eliminate some of the steps involved, but the point is that encoding for ABR delivery can be a time-consuming, frustrating process.
We saw this frustration first hand at Sorenson Media with many of our customers. Because of that frustration we made modifications to our encoding solutions — Sorenson Squeeze and Squeeze Server — to take the headache out of encoding for ABR.
Squeeze allows users to consolidate the steps of encoding and flavour of ABR into one easy step, no matter how you choose to deliver it. You can then take your files and deploy them via your own streaming server or CDN.
What does the future hold for ABR?
It is becoming increasingly clear that we are in the midst of another format war. Although this time it’s not really the formats, but the delivery methods that are battling for dominance.
Each method has its own strengths and weaknesses, but the fact is that in order for ABR to fully succeed as the mainstream delivery method there needs to be a change. Just as H.264 has become the standard for web video, ABR delivery needs to have a standard.
Enter MPEG-DASH. The good folks over at the Moving Picture Expert Group, (MPEG) who have helped determine the standards for several specifications that we rely upon daily, are now trying to get Dynamic Adaptive Streaming over HTTP (DASH) adopted as a standard.
DASH, in a nutshell, calls for a common Media Presentation Description (MPD) file that controls the files for delivery and includes the best of what ABR has to offer, including common encryption and DRM support. There have been several renditions of the spec, but MPEG should have a finalised version early this year.
I expect that once it is ratified, MPEG-DASH will gain momentum very quickly as many of the major content providers and device manufacturers are already behind it.
Even if DASH could limit the options for ABR to HLS and DASH (as Apple never seems to want to be a part of any standard other than their own) then, I believe, ABR delivery would begin to grow beyond the major players in the industry to a tool that every content producer could utilise.