Jump to content

Adaptive bitrate streaming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 203.35.82.133 (talk) at 06:31, 27 June 2012 (Added description of implementations today). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video streaming technologies utilized streaming protocols such RTP with RTSP, today's adaptive streaming technologies are almost exclusively based on HTTP[citation needed] and designed to work efficiently over large distributed HTTP networks such as the Internet.

It works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a video stream accordingly. It requires the use of an encoder which can encode a single source video at multiple bit rates. The player client switches between streaming the different encodings depending on available resources. "The result: very little buffering, fast start time and a good experience for both high-end and low-end connections."[1]

More specifically, and as the implementations in use today are, Adaptive bitrate streaming is method of video streaming over HTTP where the source content is encoded at multiple bit rates, then each of the different bit rate streams are segmented into small multi-second parts. The streaming client is made aware of the available streams at differing bit rates, and segments of the streams by a manifest file. When starting the client requests the segments from the lowest bit rate stream. If the client finds the download speed is greater than the bit rate of the segment downloaded, then it will request the next higher bit rate segments. Later, if the client finds the download speed for a segment is lower than the bit rate for the segment, and therefore the network throughput has deteriorated, then it will request a lower bit rate segment. The segment size can vary depending on the particular implementation, but they are typically between two (2) and ten (10) seconds.

Current uses

Post-production houses, content delivery networks and studios use adaptive bit rate technology in order to provide consumers with higher quality video using less manpower and fewer resources. When all is said and done, the creation of multiple video outputs, particularly for adaptive bit rate streaming, adds great value to consumers.[2] If the technology is working as designed, the end user or consumer should be completely unaware of it. Therefore, even though media companies have been actively using adaptive bit rate technology for many years now and it has essentially become a standard practice for high-end streaming providers, mainstream consumers are relatively ignorant of its necessity.

Benefits of adaptive bit rate streaming

Consumers of streaming media experience the highest quality material when adaptive bit rate streaming is used because the user's network and playback conditions are automatically adapted to at any given time under changing conditions.

The media and entertainment industry are the main beneficiaries of adaptive bit rate streaming. As the video space grows exponentially, content delivery networks and video providers can provide customers with a superior viewing experience. Adaptive bit rate technology requires less encoding which simplifies overall workflow and creates better results.

A CDN is often used to deliver media streaming to an Internet audience, as it allows scalability. The CDN receives the stream from the source at its Origin server, then replicates it to many or all of its Edge cache servers. The end-user requests the stream and is redirected to the "closest" Edge server. The use of HTTP-based adaptive streaming allows the Edge server to run a simple HTTP server software, whose licence cost is cheap or free, reducing software licencing cost, compared to costly media server licences (e.g. Adobe Flash Media Streaming Server). The CDN cost for HTTP streaming media is then similar to HTTP web caching CDN cost.

Implementations

Adaptive bit rate streaming was conceptualized by Move Networks and is now being developed and utilized by Adobe Systems, Apple, Microsoft and Octoshape.[3] In September 2010, Move Networks was awarded a patent for their adaptive bit rate streaming.[4]

Adobe Dynamic Streaming for Flash

"Dynamic streaming is the process of efficiently delivering streaming video to users by dynamically switching among different streams of varying quality and size during playback. This provides users with the best possible viewing experience their bandwidth and local computer hardware (CPU) can support. Another major goal of dynamic streaming is to make this process smooth and seamless to users, so that if up-scaling or down-scaling the quality of the stream is necessary, it is a smooth and nearly unnoticeable switch without disrupting the continuous playback." [5]

The latest versions of Flash Player and Flash Media Server support adaptive bit-rate streaming over the traditional RTMP protocol, as well as HTTP, similar to the HTTP-based solutions from Apple and Microsoft.[6] HTTP-based streaming has the advantage of not requiring any firewall ports being opened outside of the normal ports used by web browsers. HTTP-based streaming also allows video fragments to be cached by browsers, proxies, and CDNs, drastically reducing the load on the source server.

Apple HTTP Adaptive Streaming for iPhone/iPad

HTTP Live Streaming (HLS) is an HTTP-based media streaming communications protocol implemented by Apple Inc. as part of their QuickTime X, and iPhone software systems." Apple's iPad also provides HTTP Live Streaming capabilities. It works by breaking down streams into several small HTTP-based file downloads that load simultaneously at variable adaptive rates.

HTTP Live Streaming is a standard feature in the iPhone 3.0 and newer versions.[7]

HTTP adaptive bit rate streaming is based on HTTP progressive download, but contrary to the previous approach, here the files are very small, so that they can be compared to the streaming of packets, much like the case of using RTSP and RTP.[8]

While all adaptive bit-rate streaming solutions are proprietary offerings as of October 2010, Apple has submitted its solution to the IETF for consideration as an Internet standard.[9]

Microsoft Smooth Streaming

Smooth Streaming is an IIS Media Services extension that enables adaptive streaming of media to clients over HTTP.[10] The format specification is based on the ISO Base Media File Format and standardized by Microsoft as the Protected Interoperable File Format.[11] Microsoft is actively involved with 3GPP, MPEG and DECE organizations' efforts to standardize adaptive bit-rate HTTP streaming. Microsoft provides Smooth Streaming Client software development kits for Silverlight and Windows Phone 7, as well as a Smooth Streaming Porting Kit that can be used for other client operating systems, such as Apple iOS, Android, and Linux.[12] IIS Media Services 4.0, released in November 2010, introduced a feature which enables Smooth Streaming H.264/AAC videos, both live and on-demand, to be dynamically repackaged into the Apple HTTP Adaptive Streaming format and delivered to iOS devices without the need for re-encoding. Microsoft has successfully demonstrated delivery of both live and on-demand 1080p HD video with Smooth Streaming to Silverlight clients. In 2010 Microsoft also partnered with NVIDIA to demonstrate live streaming of 1080p stereoscopic 3D video to PCs equipped with NVIDIA 3D Vision technology.[13]

Octoshape Multi-BitRate

Octoshape supports automatic multi-bit rate streaming using standard streaming formats like Flash, Windows and HLS inputs. Octoshape uses a unique throughput optimization technology and resilient coding schemes to maximize the throughput consistency of a video stream over the Internet. Octoshape supports shifting to the appropriate bit rate of the particular consumer of the video. However, the core transport provides for a stable throughput profile over the Internet unlike TCP based technologies like HTTP or RTMP that have variable throughput profiles based on packet loss and latency. The technology selects appropriate bit rates instantly on startup, but rarely makes use of the rate shifting technology during a viewing session, giving the consumer a consistent TV quality video experience. Octoshape is also the first technology to deploy automatic multi-bit rate technology along with Multicast transport over the public Internet.[14]

Dynamic Adaptive Streaming over HTTP

Dynamic Adaptive Streaming over HTTP a multimedia streaming technology developed by the Moving Picture Experts Group.

Digital Interactive Television via Internet (DiTi Vision)

DiTi Vision technology is the result of an exhaustive analysis of the Adaptive Bitrate Streaming (ABS), Apple HTTP Live Streaming (HLS) and the DVB concepts, where the best elements from each have been taken and fused together to allow for seamless audiovisual streaming to user devices. Using DiTi Vision technology allows the user to enjoy the same streaming channel(s) from a Web Browser, Apple & Android Smartphones/Tablets, Set Top Boxes or even directly from the Browser on some Smart TV's.

Criticisms

HTTP based adaptive bit rate technologies are significantly more operationally complex than traditional streaming technologies. Some of the documented considerations are things such as additional storage and encoding costs, and challenges with maintaining quality globally. There have also been some interesting dynamics found around the interactions between complex adaptive bit rate logic competing with complex TCP flow control logic.[15][16] [17] [18]

References

  1. ^ Gannes, Liz (10 June 2009). "The Next Big Thing in Video: Adaptive Bitrate Streaming". Archived from the original on 19 June 2010. Retrieved 1 June 2010. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  2. ^ Marshall, Daniel (18 February 2010). "Show Report: Video Processing Critical to Digital Asset Management". Elemental Technologies. Retrieved 15 October 2011.
  3. ^ Gannes, Liz (10 June 2009). "The Lowdown on Apple's HTTP Adaptive Bitrate Streaming". Archived from the original on 19 June 2010. Retrieved 24 June 2010. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  4. ^ "Move Gets Streaming Patent; Are Adobe & Apple Hosed? — Online Video News". Gigaom.com. 15 September 2010. Retrieved 15 October 2011.
  5. ^ Hassoun, David. Adobe Developer Connection. Adobe Systems. http://www.adobe.com/devnet/flashmediaserver/articles/dynstream_advanced_pt1.html. Blog. [Accessed 24 June 2010].
  6. ^ "HTTP Dynamic Streaming". Adobe Systems. Retrieved Accessed 13 Oct 2010. {{cite web}}: Check date values in: |accessdate= (help)
  7. ^ Prince McLean (9 July 2009). "Apple launches HTTP Live Streaming standard in iPhone 3.0". AppleInsider. Retrieved 15 October 2011.
  8. ^ Ch. Z. Patrikakis, N. Papaoulakis, Ch. Stefanoudaki, M. S. Nunes, "Streaming content wars: Download and play strikes back" presented at the Personalization in Media Delivery Platforms Workshop, [218 – 226], Venice, Italy, 2009.
  9. ^ R. Pantos, HTTP Live Streaming, IETF, retrieved 11 October 2011
  10. ^ "Smooth Streaming". IIS.net. Archived from the original on 15 June 2010. Retrieved 24 June 2010. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  11. ^ Chris Knowlton (8 September 2009), Protected Interoperable File Format, Microsoft, retrieved 15 October 2011
  12. ^ "Microsoft End-to-End Platform Powers Next-Generation Silverlight and IIS Media Experiences Across Multiple Screens". Microsoft. 8 April 2010. Retrieved 30 July 2011.
  13. ^ "First Day of IBC". Microsoft. Retrieved 22 January 2011.
  14. ^ "AT&T / Octoshape Internet Multicast Event". 1 December 2010. Retrieved 15 October 2011.
  15. ^ Pete Mastin (28 January 2011). "Is adaptive bit rate the yellow brick road, or fool's gold for HD streaming?". Retrieved 15 October 2011.
  16. ^ Saamer Akhshabi; Ali C. Begen; Constantine Dovrolis. "An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP" (PDF). Retrieved 15 October 2011. {{cite journal}}: Cite journal requires |journal= (help)
  17. ^ Luca De Cicco; Saverio Mascolo. "An Experimental Investigation of the Akamai Adaptive Video Streaming" (PDF). Retrieved 29 November 2011. {{cite journal}}: Cite journal requires |journal= (help)
  18. ^ "Adaptive streaming: a comparison". {{cite journal}}: Cite journal requires |journal= (help)

Further Reading