Media Services & Formats
HTTP Adaptive Streaming (HAS)
HTTP Adaptive streaming adjusts the quality of a video delivered to a web page based on changing network conditions to ensure the best possible viewer experience. Internet connection speeds vary widely, and the speed of each type of connection also varies depending on a wide variety of conditions. Adaptive streaming adjusts the bit rate of the video to adapt to changing network conditions. One or more representations (i.e., versions at different resolutions or bit rates) of multimedia files are typically available, and selection can be made based on network conditions, device capabilities and user preferences, enabling adaptive bitrate streaming. Adaptive streaming simplifies content creation and management, making streaming video easy to deploy, and does not require any coding.
The video is put in chunks and published to a webserver, along with a playlist file that describes the chunks. The webserver serves these over HTTP and the player recombines them according to the playlist file. The only difference for on demand video and Live TV, is that the playlist file will describe the whole video file for VoD. For live streams the playlist describes a 'rolling snapshot' of the broadcast and is regenerated regularly to describe the next set of chunks.
The most popular examples of HTTP Adaptive streaming in use today are:
- Apple HTTP Live streaming – implemented by Apple for QuickTime and IOS software systems. Video and audio inputs are typically encoded using H.264/ACC with the output being an MPEG-2 Transport Stream. The stream is broken down into a series of short media files (.ts) along with and index file (.m3u8) containing a list of the media files.
- Adobe HTTP Dynamic Streaming for Flash – supports Live and on-demand content by converting content into a fragmented MP4 file format and delivers high-definition video/audio using any Flash compatible codec. An open source file specification is used for fragmentation with .F4M for the manifest (index) file and F4F for the media segments which are stored in a single file.
- Microsoft IIS Smooth Streaming – uses Microsoft Silverlight as an application framework similar to Adobe Flash. Media content is stored as single file format (.ismv file) with the segments stored as fragments. The manifest file (.ismc) is used as an index for these fragments.
There are two main considerations to be taken when selecting one of these streaming protocols. One is obviously the supported playback platform or the framework used for the playback of the content. The second consideration is the availability of digital rights management (DRM) features to protect their content. In this regard, Adobe offers Flash Access and other technologies, Microsoft offers PlayReady content protection and while HLS does not support DRM, the specification does enable encryption.
Unified HAS - DASH Support
As the above implementations are restrictive to the framework used, the industry is screaming for a standardized way forward. Several standards bodies are working on an "open" standard, called Dynamic Adaptive Streaming over HTTP (DASH). Velocix has already proven DASH streaming works over Velocix systems today.
Dynamic Adaptive Streaming over HTTP (DASH) is a multimedia streaming technology, based on HTTP Adaptive Streaming, where a multimedia file is partitioned into one or more segments and delivered to a client using HTTP. A media presentation description (MPD) describes segment information (timing, URL, media characteristics such as video resolution and bit rates) and Segments can contain any media data, however the specification provides specific guidance and formats for use with two types of containers: MPEG-4 file format or MPEG-2 Transport Stream.
HTTP streaming over Velocix builds on the existing Velocix Website Acceleration service, which has been optimized for live HTTP Streaming and extended to provide HTTP Stream-level reporting. Instead of delivering content to end-users, your origin webserver acts as the seeding infrastructure for the Velocix CDN, which does the heavy lifting of consumer deliver for you.
Additional features are applied as well:
- Redirecting requests – The video chunks typically will be delivered by the most suitable Velocix Delivery Appliance which will serve the requested content from its local cache. The playlist is a relatively small file but the requests for it can be numerous. This can also be offloaded with Velocix and can be controlled using standard HTTP headers to set freshness criteria.
- Optimization for Live HTTP Streaming – The Delivery appliance detects identical requests for a set of chunks of the same stream and distributes these across all requesting consumers.
- Security protection – Protection of the index file that contains the encryption key.
- Origin Authentication – Specify the credentials the CDN must present to your origin when requesting a resource so that only valid requests are allowed.