Adaptive bitrate streaming: Difference between revisions
Reverted to revision 571798786 by 70.49.196.192: Rv. tampering with optional styles. Googlefight is not our policy. MOS:STABILITY is.. |
Changed the "upright" factor - otherwise the article looks like shit in mobile Safari using non-mobile view. |
||
Line 1: | Line 1: | ||
{{Use dmy dates|date=June 2013}} |
{{Use dmy dates|date=June 2013}} |
||
[[File:Adaptive streaming overview daseddon 2011 07 28.png|thumb|upright= |
[[File:Adaptive streaming overview daseddon 2011 07 28.png|thumb|upright=2|Adaptive streaming overview]] |
||
[[File:Adaptive streaming overview bit rates 2011 07 28.png|thumb|upright= |
[[File:Adaptive streaming overview bit rates 2011 07 28.png|thumb|upright=2|Adaptive streaming in action]] |
||
'''Adaptive bitrate streaming''' is a technique used in [[streaming media|streaming]] [[multimedia]] over [[computer network]]s. While in the past most video streaming technologies utilized streaming protocols such [[Real-time Transport Protocol|RTP]] with [[RTSP]], today's adaptive streaming technologies are almost exclusively based on [[HTTP]]<ref>{{cite conference |title=An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP |author=Saamer Akhshabi, Ali C. Begen, Constantine Dovrolis |year=2011 |conference=In Proceedings of the second annual ACM conference on Multimedia systems (MMSys '11) |publisher=ACM |location=New York, NY, USA }}</ref> and designed to work efficiently over large distributed HTTP networks such as the Internet. |
'''Adaptive bitrate streaming''' is a technique used in [[streaming media|streaming]] [[multimedia]] over [[computer network]]s. While in the past most video streaming technologies utilized streaming protocols such [[Real-time Transport Protocol|RTP]] with [[RTSP]], today's adaptive streaming technologies are almost exclusively based on [[HTTP]]<ref>{{cite conference |title=An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP |author=Saamer Akhshabi, Ali C. Begen, Constantine Dovrolis |year=2011 |conference=In Proceedings of the second annual ACM conference on Multimedia systems (MMSys '11) |publisher=ACM |location=New York, NY, USA }}</ref> and designed to work efficiently over large distributed HTTP networks such as the Internet. |
||
Revision as of 00:20, 15 September 2013
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Adaptive_streaming_overview_daseddon_2011_07_28.png/440px-Adaptive_streaming_overview_daseddon_2011_07_28.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Adaptive_streaming_overview_bit_rates_2011_07_28.png/440px-Adaptive_streaming_overview_bit_rates_2011_07_28.png)
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[1] 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[2] switches between streaming the different encodings depending on available resources.[3] "The result: very little buffering, fast start time and a good experience for both high-end and low-end connections."[4]
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.[5] 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.[3][5]
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. The creation of multiple video outputs, particularly for adaptive bit rate streaming, adds great value to consumers.[6] 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 bitrate streaming
Adaptive bitrate streaming provides consumers of streaming media with the best-possible experience, since the media server automatically adapts to any changes in each user's network and playback conditions.
The media and entertainment industry also benefit from adaptive bitrate streaming. As the video space grows, content delivery networks and video providers can provide customers with a superior viewing experience. Adaptive bitrate technology requires additional encoding, but simplifies the overall workflow and creates better results.
A scalable CDN is used to deliver media streaming to an Internet audience. 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. This can be tested using libdash[7] and the Distributed DASH (D-DASH) dataset,[8] which has several mirrors across Europe. 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.
History
Adaptive bit rate was created by the DVD Forum at the WG1 Special Streaming group in October 2002. The group was co-chaired by Toshiba and Phoenix Technologies, The expert group count with the collaboration of Microsoft, Apple Computer, DTS Inc., Warner Brothers, 20th Century Fox, Digital Deluxe, Disney, Macromedia and Akamai.[citation needed] The technology was originally called DVDoverIP and was an integral effort of the DVD ENAV book.[9] The concept came from storing MPEG-1 and MPEG-2 DVD TS Sectors into small 2KB files, which will be served using an HTTP server to the player. The MPEG-1 segments provided the lower bandwidth stream, while the MPEG-2 provided a higher bit rate stream. The original XML schema provided a simple playlist of bit rates, languages and url servers. The first working prototype was presented to the DVD Forum by Phoenix Technologies at the Harman Kardon Lab in Villingen Germany.[citation needed]
Implementations
Adaptive bit rate streaming was introduced by Move Networks and is now being developed and utilized by Adobe Systems, Apple, Microsoft and Octoshape.[10] In September 2010, Move Networks was awarded a patent for their adaptive bit rate streaming.[11]
MPEG-DASH
MPEG-DASH is the only adaptive bit-rate HTTP-based streaming solution that is an international standard[12] MPEG-DASH technology was developed under MPEG. Work on DASH started in 2010; it became a Draft International Standard in January 2011, and an International Standard in November 2011.[12][13][14] The MPEG-DASH standard was published as ISO/IEC 23009-1:2012 in April, 2012.
MPEG-DASH is a technology related to Adobe Systems HTTP Dynamic Streaming, Apple Inc. HTTP Live Streaming (HLS) and Microsoft Smooth Streaming.[15] DASH is based on Adaptive HTTP streaming (AHS) in 3GPP Release 9 and on HTTP Adaptive Streaming (HAS) in Open IPTV Forum Release 2.[16] As part of their collaboration with MPEG, 3GPP Release 10 has adopted DASH (with specific codecs and operating modes) for use over wireless networks.[16]
Standardizing an adaptive streaming solution is meant to provide confidence to the market that the solution can be adopted for universal deployment, compared to similar but more vendor-centric solutions such as HLS by Apple, Smooth Streaming by Microsoft, or HDS by Adobe.
Available implementations are the open source DASH client access library libdash,[7] the DASH tools of the Institute of Information Technology (ITEC) at Alpen-Adria University Klagenfurt[2][17] and the multimedia framework of the GPAC group at Telecom ParisTech.[18]
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." [19]
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.[20] 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/STB
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.[21]
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.[22]
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 Informational Request For Comments.[23]
HLS streams can be identified by the playlist url format extension of .m3u8. These adaptive streams can be made available in many different bitrates and the client device interacts with the server to obtain the best available bitrate which can reliably be delivered. The client devices range from iPad, iPhones, Set Top Boxes (STBs) and other suitable client devices
Microsoft Smooth Streaming
Smooth Streaming is an IIS Media Services extension that enables adaptive streaming of media to clients over HTTP.[24] The format specification is based on the ISO base media file format and standardized by Microsoft as the Protected Interoperable File Format.[25] 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.[26] IIS Media Services 4.0, released in November 2010, introduced a feature which enables Live Smooth Streaming H.264/AAC videos 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.[27]
Octoshape Multi-BitRate
![]() | This section contains content that is written like an advertisement. (May 2012) |
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.[28]
Digital Interactive Television via Internet (DiTi Vision)
![]() | This section contains content that is written like an advertisement. (September 2012) |
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.
QuavStreams Adaptive Streaming over HTTP
QuavStreams Adaptive Streaming is a multimedia streaming technology developed by Quavlive. The streaming server is an HTTP server that has multiple versions of each video, encoded at different bitrates and resolutions. The server delivers the encoded video/audio frames switching from one level to another, according to the current available bandwidth. The control is entirely server-based, so the client doesn't need special additional features. The streaming control employs feedback control theory.[29] Currently, QuavStreams supports H.264/MP3 codecs muxed into the FLV container and VP8/Vorbis codecs muxed into the WEBM container.
upLynk
upLynk delivers HD Adaptive Streaming to multiple platforms, including iOS, Android, Windows 8, Roku and all PC/Mac/Linux browser combination by encoding video on the cloud using a single non-proprietary adaptive streaming format. Rather than streaming and storing multiple formats for different platforms and devices, upLynk stores and streams only one. The first studio to use this technology for delivery was Disney ABC Television, using it for video encoding for web, mobile and tablet streaming apps on the ABC Player, ABC Family and Watch Disney apps, as well as the live Watch Disney Channel, Watch Disney Junior, and Watch Disney XD.[30][31]
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.[32][33] [34] [35]
However, these criticisms have been outweighed in practice by the economics and scalability of HTTP delivery: whereas non-HTTP streaming solutions require massive deployment of specialized streaming server infrastructure, HTTP-based adaptive bit-rate streaming can leverage the same HTTP web servers used to deliver all other content over the Internet.
References
- ^ Saamer Akhshabi, Ali C. Begen, Constantine Dovrolis (2011). An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP. In Proceedings of the second annual ACM conference on Multimedia systems (MMSys '11). New York, NY, USA: ACM.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ a b DASH at ITEC, VLC Plugin, DASHEncoder and Dataset by C. Mueller, S. Lederer, C. Timmerer
- ^ a b C. Müller, S. Lederer and C. Timmerer, “An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments”, In Proceedings of the ACM Multimedia Systems Conference 2012 and the 4th ACM Workshop on Mobile Video, Chapel Hill, North Carolina, February 24, 2012.
- ^ 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) - ^ a b S. Lederer, C. Mueller and C. Timmerer, “Dynamic Adaptive Streaming over HTTP Dataset”, In Proceedings of the ACM Multimedia Systems Conference 2012, Chapel Hill, North Carolina, February 22-24, 2012.
- ^ Marshall, Daniel (18 February 2010). "Show Report: Video Processing Critical to Digital Asset Management". Elemental Technologies. Retrieved 15 October 2011.
- ^ a b libdash: Open-source DASH client library by bitmovin
- ^ Stefan Lederer, Christopher Mueller, Christian Timmerer, Cyril Concolato, Jean Le Feuvre and Karel Fliegel, Distributed DASH Dataset, In Proceedings of the ACM Conference on Multimedia Systems (ACM MMSys) 2013, Oslo, Norway, 2013.
- ^ DVD Book Construction, DVD Forum, May 2005
- ^ 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) - ^ "Move Gets Streaming Patent; Are Adobe & Apple Hosed? — Online Video News". Gigaom.com. 15 September 2010. Retrieved 15 October 2011.
- ^ a b "MPEG ratifies its draft standard for DASH". MPEG. 2 December 2011. Retrieved 26 August 2012.
- ^ HTTP streaming of MPEG media - blog entry
- ^ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH)
- ^ Updates on DASH - blog entry
- ^ a b ETSI 3GPP 3GPP TS 26.247; Transparent end-to-end packet-switched streaming service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)
- ^ C. Müller and C. Timmerer, “A VLC Media Player Plugin enabling Dynamic Adaptive Streaming over HTTP”, In Proceedings of the ACM Multimedia 2011 , Scottsdale, Arizona, November 28, 2011.
- ^ GPAC Telecom ParisTech
- ^ Hassoun, David. Adobe Developer Connection. Adobe Systems. http://www.adobe.com/devnet/flashmediaserver/articles/dynstream_advanced_pt1.html. Blog. [Accessed 24 June 2010].
- ^ "HTTP Dynamic Streaming". Adobe Systems. Retrieved Accessed 13 Oct 2010.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ Prince McLean (9 July 2009). "Apple launches HTTP Live Streaming standard in iPhone 3.0". AppleInsider. Retrieved 15 October 2011.
- ^ 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.
- ^ R. Pantos, HTTP Live Streaming, IETF, retrieved 11 October 2011
- ^ "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) - ^ Chris Knowlton (8 September 2009), Protected Interoperable File Format, Microsoft, retrieved 15 October 2011
- ^ "Microsoft End-to-End Platform Powers Next-Generation Silverlight and IIS Media Experiences Across Multiple Screens". Microsoft. 8 April 2010. Retrieved 30 July 2011.
- ^ "First Day of IBC". Microsoft. Retrieved 22 January 2011.
- ^ "AT&T / Octoshape Internet Multicast Event". 1 December 2010. Retrieved 15 October 2011.
- ^ Luca De Cicco; Saverio Mascolo; Vittorio Palmisano. "Feedback Control for Adaptive Live Video Streaming" (PDF). MMSYS2011. Retrieved 9 September 2012.
- ^ http://venturebeat.com/2013/01/16/uplynk-creates-a-cheap-and-efficient-way-for-disney-to-stream-videos/
- ^ http://www.streamingmedia.com/Articles/News/Online-Video-News/UpLynk-Emerges-from-Stealth-Mode%3B-Disney-ABC-Is-First-Customer-87154.aspx
- ^ Pete Mastin (28 January 2011). "Is adaptive bit rate the yellow brick road, or fool's gold for HD streaming?". Retrieved 15 October 2011.
- ^ 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) - ^ 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) - ^ "Adaptive streaming: a comparison".
{{cite journal}}
: Cite journal requires|journal=
(help)