Adaptive bitrate streaming
Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks.
While in the past most video or audio streaming technologies utilized streaming protocols such as
and are designed to work efficiently over large distributed HTTP networks.Adaptive bitrate streaming works by detecting a user's
More specifically, adaptive bitrate streaming is a method of video streaming over HTTP where the source content is encoded at multiple bit rates. Each of the different bit rate streams are segmented into small multi-second parts.[6] The segment size can vary depending on the particular implementation, but they are typically between two and ten seconds.[4][6] First, the client downloads a manifest file that describes the available stream segments and their respective bit rates. During stream start-up, the client usually requests the segments from the lowest bit rate stream. If the client finds that the network throughput is greater than the bit rate of the downloaded segment, then it will request a higher bit rate segment. Later, if the client finds that the network throughput has deteriorated, it will request a lower bit rate segment. An adaptive bitrate (ABR) algorithm in the client performs the key function of deciding which bit rate segments to download, based on the current state of the network. Several types of ABR algorithms are in commercial use: throughput-based algorithms use the throughput achieved in recent prior downloads for decision-making (e.g., throughput rule in dash.js), buffer-based algorithms use only the client's current buffer level (e.g., BOLA[7] in dash.js), and hybrid algorithms combine both types of information (e.g., DYNAMIC[8] in dash.js).
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.[9] If the technology is working properly, the end user or consumer's content should play back without interruption and potentially go unnoticed. Media companies have been actively using adaptive bit rate technology for many years now and it has essentially become standard practice for high-end streaming providers; permitting little buffering when streaming high-resolution feeds (begins with low-resolution and climbs).
Benefits of adaptive bitrate streaming
Traditional server-driven 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.
HTTP-based adaptive bitrate streaming technologies yield additional benefits over traditional server-driven adaptive bitrate streaming. First, since the streaming technology is built on top of
A scalable
History
Adaptive bit rate over HTTP was created by the DVD Forum at the WG1 Special Streaming group in October 2002. The group was co-chaired by
Implementations
Adaptive bit rate streaming was introduced by Move Networks and is now being developed and utilized by
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is the only adaptive bit-rate HTTP-based streaming solution that is an international standard[20] MPEG-DASH technology was developed under
MPEG-DASH is a technology related to
The goal of standardizing an adaptive streaming solution is to assure the market that the solution can work universally, unlike other solutions that are more specific to certain vendors, such as Apple’s HLS, Microsoft’s Smooth Streaming, or Adobe’s HDS.
Available implementations are the HTML5-based bitdash MPEG-DASH player[25] as well as the open source C++-based DASH client access library libdash of bitmovin GmbH,[15] the DASH tools of the Institute of Information Technology (ITEC) at Alpen-Adria University Klagenfurt,[3][26] the multimedia framework of the GPAC group at Telecom ParisTech,[27] and the dash.js[28] player of the DASH-IF.
Apple HTTP Live Streaming (HLS)
HTTP Live Streaming (HLS) is an HTTP-based media streaming communications protocol implemented by
HTTP Live Streaming is a standard feature in the iPhone 3.0 and newer versions.[32]
Apple has submitted its solution to the
HLS streams can be identified by the playlist URL format extension of m3u8 or MIME type of application/vnd.apple.mpegurl.[34] 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.
Playback of HLS is supported on many platforms including Safari and native apps on macOS / iOS, Microsoft Edge on Windows 10, ExoPlayer on Android, and the Roku platform. Many Smart TVs also have native support for HLS. Playing HLS on other platforms like Chrome / Firefox is typically achieved via a browser / JavaScript player implementation. Many open source and commercial players are available including hls.js, video.js http-streaming, BitMovin, JWPlayer, THEOplayer, etc.
Adobe HTTP Dynamic Streaming (HDS)
"HTTP 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."[35]
The latest versions of Flash Player and Flash Media Server support adaptive bit-rate streaming over the traditional
Microsoft Smooth Streaming (MSS)
Smooth Streaming is an
Common Media Application Format (CMAF)
CMAF is a presentation container format used for the delivery of both HLS and MPEG-DASH. Hence it is intended to simplify delivery of HTTP-based streaming media. It was proposed in 2016 by Apple and Microsoft and officially published in 2018.[42]
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 does not need special additional features. The streaming control employs feedback control theory.
Uplynk
Self-learning clients
In recent years, the benefits of self-learning algorithms in adaptive bitrate streaming have been investigated in academia. While most of the initial self-learning approaches are implemented at the server-side
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.[11][52] [53] [54][55]
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.[citation needed]
With no single clearly defined or open standard for the digital rights management used in the above methods, there is no 100% compatible way of delivering restricted or time-sensitive content to any device or player. This also proves to be a problem with digital rights management being employed by any streaming protocol.
The method of segmenting files into smaller files used by some implementations (as used by
See also
- Multiple description coding
- Hierarchical modulation – alternative with reduced storage and authoring demands
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.
- ^ A. Bentaleb, B. Taani, A. Begen, C. Timmermer, and R. Zimmermann, "A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP", In IEEE Communications Surveys & (IEEE COMST), Volume 1 Issue 1, pp. 1-1, 2018.
- ^ a b DASH at ITEC, VLC Plugin, DASHEncoder and Dataset by C. Mueller, S. Lederer, C. Timmerer
- ^ a b "Proceedings Template – WORD" (PDF). Retrieved 16 December 2017.
- ^ 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.
- ^ a b "mmsys2012-final36.pdf" (PDF). Retrieved 16 December 2017.
- )
- ^ "From Theory to Practice: Improving Bitrate Adaptation in the DASH Reference Player, by Spiteri, Sitaraman and Sparacio, ACM Multimedia Systems Conference, June 2018" (PDF).
- ^ Marshall, Daniel (18 February 2010). "Show Report: Video Processing Critical to Digital Asset Management". Elemental Technologies. Archived from the original on 4 October 2011. Retrieved 15 October 2011.
- S2CID 18220375.
- ^ a b Saamer Akhshabi; Ali C. Begen; Constantine Dovrolis. "An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP" (PDF). Archived from the original (PDF) on 17 October 2011. Retrieved 15 October 2011.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Anthony Vetro. "The MPEG-DASH Standard for Multimedia Streaming Over the Internet" (PDF). Retrieved 10 July 2015.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Jan Ozer (28 April 2011). "What Is Adaptive Streaming?". Retrieved 10 July 2015.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Jeroen Famaey; Steven Latré; Niels Bouten; Wim Van de Meerssche; Bart de Vleeschauwer; Werner Van Leekwijck; Filip De Turck (May 2013). "On the merits of SVC-based HTTP Adaptive Streaming": 419–426. Retrieved 10 July 2015.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ a b libdash: Open-source DASH client library by bitmovin
- ^ "Distributed DASH Datset | ITEC – Dynamic Adaptive Streaming over HTTP". Itec.uni-klu.ac.at. Retrieved 16 December 2017.
- ^ 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.
- ^ "Move Gets Streaming Patent; Are Adobe & Apple Hosed? – Online Video News". Gigaom.com. 15 September 2010. Archived from the original on 22 October 2011. Retrieved 15 October 2011.
- ^ a b "MPEG ratifies its draft standard for DASH". MPEG. 2 December 2011. Archived from the original on 20 August 2012. Retrieved 26 August 2012.
- ^ Timmerer, Christian (26 April 2012). "HTTP streaming of MPEG media – blog entry". Multimediacommunication.blogspot.com. Retrieved 16 December 2017.
- ^ "ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH)". Iso.org. Retrieved 16 December 2017.
- ^ 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)
- ^ "bitdash HTML5 MPEG-DASH player". Dash-player.com. 22 January 2016. Archived from the original on 10 July 2016. Retrieved 16 December 2017.
- ^ "A VLC media player plugin enabling dynamic adaptive streaming over HTTP" (PDF). Retrieved 16 December 2017.
- ^ "GPAC Telecom ParisTech". Archived from the original on 24 February 2012. Retrieved 28 March 2013.
- ^ "dash.js". Github.com. Retrieved 16 December 2017.
- ^ Mac Developer Library, Apple, retrieved 2 June 2014
- ^ Shaka Packager Github Repository, Google, retrieved 3 January 2023
- ^ Unified Streaming, Unified Streaming, retrieved 3 January 2023
- ^ Prince McLean (9 July 2009). "Apple launches HTTP Live Streaming standard in iPhone 3.0". AppleInsider. Retrieved 15 October 2011.
- ^ R. Pantos, HTTP Live Streaming, IETF, retrieved 11 October 2011
- doi:10.17487/RFC8216.
- ^ Hassoun, David. "Dynamic streaming in Flash Media Server 3.5 – Part 1: Overview of the new capabilities". Adobe Developer Connection. Adobe Systems. Archived from the original on 30 March 2014.
- ^ "HTTP Dynamic Streaming". Adobe Systems. Retrieved 13 October 2010.
- ^ "FAQ HTTP Dynamic Streaming". Adobe Systems. Retrieved 12 January 2015.
- ^ "Smooth Streaming". IIS.net. Archived from the original on 15 June 2010. Retrieved 24 June 2010.
- ^ 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. Archived from the original on 2 February 2011. Retrieved 22 January 2011.
- ^ Traci Ruether (23 January 2019). "What Is CMAF?". Retrieved 13 January 2022.
- ^ Luca De Cicco; Saverio Mascolo; Vittorio Palmisano. "Feedback Control for Adaptive Live Video Streaming" (PDF). MMSYS2011. Retrieved 9 September 2012.
- ^ Dean Takahashi (16 January 2013). "Uplynk creates a cheap and efficient way for Disney to stream videos". VentureBeat. Retrieved 16 December 2017.
- ^ Dreier, Troy (16 January 2013). "UpLynk Emerges from Stealth Mode; DisneyABC Is First Customer – Streaming Media Magazine". Streamingmedia.com. Retrieved 16 December 2017.
- S2CID 13022779.
- .
- .
- .
- S2CID 26955239.
- .
- ^ Pete Mastin (28 January 2011). "Is adaptive bit rate the yellow brick road, or fool's gold for HD streaming?". Archived from the original on 7 September 2011. Retrieved 15 October 2011.
- ^ 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". Archived from the original on 19 April 2014. Retrieved 17 April 2014.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Chris Knowlton (28 January 2010). "Adaptive Streaming Comparison".
{{cite journal}}
: Cite journal requires|journal=
(help)
Further reading
- The Next Big Thing in Video: Adaptive Bitrate Streaming Archived 19 June 2010 at the Wayback Machine