Adaptive bitrate streaming
From Wikipedia, the free encyclopedia
Adaptive bitratestreaming is a technique usedin streaming multimedia over computer networks.
While in the pastmost video streaming technologies utilized streaming protocols such RTP with RTSP,
today's adaptivestreaming technologies are almost exclusively based on HTTP and designed to work efficiently over large
distributed HTTPnetworks such as the Internet.
【以前的视频流技术都是用RTP和RTSP协议,现在的自适应流技术都是基本HTTP的,以用于大型的HTTP CDN网络。】
It works by detectinga user's bandwidth and CPU capacity in real time and adjusting the quality of avideo stream accordingly.
It requires the useof an encoder which can encode asingle source video at multiple bit rates. The player client switches between streaming the different encodingsdepending on available resources. "The result: very little buffering, fast start time anda good experience for both high-end and low-end connections."
【它通过实时侦测用户的带宽和CPU计算能力,及时调整相应的视频流品质。它要求,
在编码器端能对单一源视频编码生成多个码率的视频流。
在播放器端能够依据资源进行流切换。
其结果是:很小的缓冲,很快的起始时间,良好的高端和低端连接的用户体验】
More specifically,and as the implementations in use today are, Adaptive bitrate streaming is method of video streaming over HTTP where thesource content is encoded at multiple bit rates, then each of the different bitrate streams are segmented into small multi-second parts[5]. The streamingclient is made aware of the available streams at differing bit rates, andsegments of the streams by a manifest file.
When starting, theclient requests the segments from the lowest bit rate stream. If the clientfinds the download speed is greater than the bit rate of the segmentdownloaded, then it will request the next higher bit rate segments. Later, ifthe client finds the download speed for a segment is lower than the bit ratefor the segment, and therefore the network throughput has deteriorated, then itwill request a lower bit rate segment.
The segment size canvary depending on the particular implementation, but they are typically betweentwo (2) and ten (10) seconds [3][5].
ABS是视频流在HTTP上传输的一种方法:
首先将源内容编码成多个码率;
每个不同的码率的流都切分成很小的多秒片段。
流播放客户端能通过每个流的清单文件识别不同码率的有效流。
开始时,客户端请求最低码率的流片段,如果客户端发现下载速度大于已下载片段的码率,它就去请求更高的码率的片段。
如果客户端发现下载速度低于片断的码率,那么此时网络情况有恶化了,这时它就去请求低码率片段。
片段的大于可能根据实现有很多的不同,但通常会是在2~10秒内。
Contents [hide] · 1 Current uses · 2 Benefits of adaptive bit rate streaming · 3 History · 4 Implementations o 4.1 MPEG-DASH o 4.2 Adobe Dynamic Streaming for Flash o 4.3 Apple HTTP Adaptive Streaming for iPhone/iPad/STB o 4.4 Microsoft Smooth Streaming o 4.5 Octoshape Multi-BitRate o 4.6 Digital Interactive Television via Internet (DiTi Vision) o 4.7 QuavStreams Adaptive Streaming over HTTP o 4.8 Uplynk · 5 Criticisms · 6 References · 7 Further reading |
Current uses
Post-production houses, content delivery networks and studios useadaptive bit rate technology in order to provide consumers with higher qualityvideo using less manpower and fewer resources. The creation of multiple videooutputs, particularly for adaptive bit rate streaming, adds great value toconsumers.[6] If the technology isworking as designed, the end user or consumer should be completely unaware ofit. Therefore, even though media companies have been actively using adaptivebit rate technology for many years now and it has essentially become a standardpractice for high-end streaming providers, mainstream consumers are relativelyignorant of its necessity.
Benefits of adaptive bit rate streaming【自适应码率流的好处】
Consumers ofstreaming media experience the highest quality material when adaptive bit ratestreaming is used because the user's network and playback conditions areautomatically adapted to at any given time under changing conditions.
The media andentertainment industry are the main beneficiaries of adaptive bit ratestreaming. As the video space grows exponentially, content delivery networksand video providers can provide customers with a superior viewing experience.Adaptive bit rate technology requires additional encoding, but by putting theclient in charge, it simplifies the overall workflow and creates betterresults.
对用户体验更好。
A CDN is often used to deliver media streaming to anInternet audience, as it allows scalability. The CDN receives the stream fromthe source at its Origin server, then replicates it to many or all of its Edgecache servers. The end-user requests the stream and is redirected to the"closest" Edge server. The use of HTTP-based adaptive streamingallows the Edge server to run a simple HTTP server software, whose licence costis cheap or free, reducing software licencing cost, compared to costly mediaserver licences (e.g. Adobe Flash Media Streaming Server). The CDN cost forHTTP streaming media is then similar to HTTP web caching CDN cost.
CDN网络使用这个技术成本低廉,不需要FMS,且开销小。
History【历史】
Adaptive bit rate wascreated by the DVD Forum at the WG1 Special Streaming group in October 2002.The group was co-chaired by Toshiba andPhoenix Technologies, The expert group count with the collaboration of Microsoft, Apple Computer, DTS[disambiguationneeded], Warner Brothers,20th Century Fox, Digital Deluxe, Disney, Macromedia and Akamai.[citation needed] The technology was originally called DVDoverIP andwas an integral effort of the DVD ENAV book.[7] The concept came fromstoring MPEG-1 and MPEG-2 DVD TS Sectors into small 2KB files, which will beserved using an HTTP server to the player. The MPEG-1 segments provided thelower bandwidth stream, while the MPEG-2 provided a higher bit rate stream. Theoriginal XML schema provided a simple playlist of bit rates, languages and urlservers. The first working prototype was presented to the DVD Forum by PhoenixTechnologies at the Harman Kardon Lab in Villingen Germany.[citation needed]
Implementations【实现】
Adaptive bit ratestreaming was introduced by Move Networks and is now being developed andutilized by Adobe Systems, Apple, Microsoft andOctoshape.[8] In September 2010,Move Networks was awarded a patent for their adaptive bit rate streaming.[9]
MPEG-DASH
Main article: Dynamic Adaptive Streaming over HTTP
MPEG-DASH is the onlyadaptive bit-rate HTTP-based streaming solution that is an internationalstandard[10] MPEG-DASH technologywas developed under MPEG. Work on DASH started in 2010; it became a DraftInternational Standard in January 2011, and an International Standard inNovember 2011.[10][11][12] The MPEG-DASHstandard was published as ISO/IEC 23009-1:2012 in April, 2012.
MPEG-DASH is atechnology related to Adobe Systems HTTP Dynamic Streaming, Apple Inc. HTTP Live Streaming (HLS) and Microsoft Smooth Streaming.[13] DASH is based onAdaptive HTTP streaming (AHS) in 3GPP Release 9 and on HTTP Adaptive Streaming (HAS) in Open IPTV ForumRelease 2.[14] As part of theircollaboration with MPEG, 3GPP Release 10 has adopted DASH (with specific codecsand operating modes) for use over wireless networks.[14]
Standardizing anadaptive streaming solution is meant to provide confidence to the market thatthe solution can be adopted for universal deployment, compared to similar butmore vendor-centric solutions such as HLS by Apple, Smooth Streaming byMicrosoft, or HDS by Adobe.
Adobe DynamicStreaming for Flash【Adobe的方案】
"Dynamicstreaming is the process of efficiently delivering streaming video to users bydynamically switching among different streams of varying quality and sizeduring playback. This provides users with the best possible viewing experiencetheir bandwidth and local computer hardware (CPU) can support. Another major goal of dynamicstreaming is to make this process smooth and seamless to users, so that if up-scaling or down-scaling the quality of thestream is necessary, it is a smooth and nearly unnoticeable switch withoutdisrupting the continuous playback." [15]
The latest versionsof Flash Player and Flash Media Server support adaptive bit-rate streaming overthe traditional RTMP protocol, as well asHTTP, similar to the HTTP-based solutions from Apple andMicrosoft.[16] HTTP-based streaminghas the advantage of not requiring any firewall ports being opened outside ofthe normal ports used by web browsers. HTTP-based streaming also allows videofragments to be cached by browsers, proxies,and CDNs, drastically reducing the load on the source server.
Apple HTTP AdaptiveStreaming for iPhone/iPad/STB【Apple的方案】
Main article: HTTP Live Streaming
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. Itworks by breaking down streams into several small HTTP-based file downloadsthat load simultaneously at variable adaptive rates.
HTTP Live Streamingis a standard feature in the iPhone 3.0 and newer versions.[17]
HTTP adaptive bitrate streaming is based on HTTP progressive download, but contrary to the previous approach, here thefiles are very small, so that they can be compared to the streaming of packets,much like the case of using RTSP and RTP.[18]
While all adaptive bit-ratestreaming solutions are proprietary offerings as of October 2010, Apple hassubmitted its solution to the IETFfor consideration as an Informational Request For Comments.[19]
HLS streams can beidentified by the playlist url format extension of .m3u8. These adaptivestreams can be made available in many different bitrates and the client deviceinteracts with the server to obtain the best available bitrate which canreliably be delivered. The client devices range from ipad, iphones, Set TopBoxes (STBs) and other suitable devices
Microsoft SmoothStreaming【MS的方案】
Smooth Streaming isan IIS Media Services extension that enables adaptivestreaming of media to clients over HTTP.[20] The formatspecification is based on the ISO Base Media File Format and standardized byMicrosoft as the Protected Interoperable File Format.[21]Microsoft is activelyinvolved with 3GPP, MPEG and DECE organizations' efforts to standardize adaptivebit-rate HTTP streaming. Microsoft provides Smooth Streaming Client softwaredevelopment kits for Silverlight and Windows Phone 7, as well as a SmoothStreaming Porting Kit that can be used for other client operating systems, suchas Apple iOS, Android, and Linux.[22] IIS Media Services4.0, released in November 2010, introduced a feature which enables SmoothStreaming H.264/AAC videos, both live and on-demand, to be dynamicallyrepackaged into the Apple HTTP Adaptive Streaming format and delivered to iOSdevices without the need for re-encoding. Microsoft has successfullydemonstrated delivery of both live and on-demand 1080p HD video with SmoothStreaming to Silverlight clients. In 2010 Microsoft also partnered with NVIDIAto demonstrate live streaming of 1080p stereoscopic 3D video to PCs equippedwith NVIDIA 3D Vision technology.[23]
OctoshapeMulti-BitRate
Octoshape supportsautomatic multi-bit rate streaming using standard streaming formats like Flash,Windows and HLS inputs. Octoshape uses a unique throughput optimizationtechnology and resilient coding schemes to maximize the throughput consistencyof a video stream over the Internet. Octoshape supports shifting to theappropriate bit rate of the particular consumer of the video. However, the coretransport provides for a stable throughput profile over the Internet unlike TCPbased technologies like HTTP or RTMP that have variable throughput profilesbased on packet loss and latency. The technology selects appropriate bit ratesinstantly on startup, but rarely makes use of the rate shifting technologyduring a viewing session, giving the consumer a consistent TV quality videoexperience. Octoshape is also the first technology to deploy automaticmulti-bit rate technology along with Multicast transport over the publicInternet.[24]
Digital InteractiveTelevision via Internet (DiTi Vision)
DiTi Visiontechnology is the result of an exhaustive analysis of the Adaptive BitrateStreaming (ABS), Apple HTTP Live Streaming (HLS) and the DVB concepts, wherethe best elements from each have been taken and fused together to allow forseamless audiovisual streaming to user devices. Using DiTi Vision technologyallows the user to enjoy the same streaming channel(s) from a Web Browser,Apple & Android Smartphones/Tablets, Set Top Boxes or even directly fromthe Browser on some Smart TV's.
QuavStreams AdaptiveStreaming over HTTP
QuavStreams AdaptiveStreaming is a multimedia streaming technology developed by Quavlive. Thestreaming server is an HTTP server that has multiple versions of each video,encoded at different bitrates and resolutions. The server delivers the encodedvideo/audio frames switching from one level to another, according to thecurrent available bandwidth. The control is entirely server-based, so theclient doesn't need special additional features. The streaming control employsfeedback control theory.[25] Currently,QuavStreams supports H.264/MP3 codecs muxed into the FLV container andVP8/Vorbis codecs muxed into the WEBM container.
Uplynk
Uplynk delivers HDAdaptive Streaming to multiple platforms, including iOS, Android, Windows 8,Roku and all PC/Mac/Linux browser combination by encoding video on the cloudusing a single non-proprietary adaptive streaming format. Rather than streamingand storing multiple formats for different platforms and devices, UpLynk storesand streams only one. The first studio to use this technology for delivery wasDisney ABC Television, using it for video encoding for web, mobile and tabletstreaming apps on the ABC Player, ABC Family and Watch Disney apps, as well asthe live Watch Disney Channel, Watch Disney Junior, and Watch Disney XD.[26][27]
Criticisms
HTTP based adaptivebit rate technologies are significantly more operationally complex thantraditional streaming technologies. Some of the documented considerations arethings such as additional storage and encoding costs, and challenges withmaintaining quality globally. There have also been some interesting dynamicsfound around the interactions between complex adaptive bit rate logic competingwith complex TCP flow control logic.[28][29] [30] [31]
However, thesecriticisms have been outweighed in practice by the economics and scalability ofHTTP delivery: whereas non-HTTP streaming solutions require massive deploymentof specialized streaming server infrastructure, HTTP-based adaptive bit-ratestreaming can leverage the same HTTP web servers used to deliver all othercontent over the Internet.