Adaptive bitrate streaming简介

1360阅读 0评论2013-09-28 geekerunix
分类:网络与安全

Adaptive bitrate streaming

From Wikipedia, the free encyclopedia

Adaptive bitrate streaming is a technique used in   over .

While in the past most video streaming technologies utilized streaming protocols such  with ,

today's adaptive streaming technologies are almost exclusively based on  and designed to work efficiently over large

distributed HTTP networks such as the Internet.

【以前的视频流技术都是用RTP和RTSP协议,现在的自适应流技术都是基本HTTP的,以用于大型的HTTP CDN网络。】

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  which can encode a single source video at multiple . The player client switches between streaming the different encodings depending on available resources. "The result: very little , fast start time and a 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 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 .

ABS是视频流在HTTP上传输的一种方法:

首先将源内容编码成多个码率;

每个不同的码率的流都切分成很小的多秒片段。

流播放客户端能通过每个流的清单文件识别不同码率的有效流。

开始时,客户端请求最低码率的流片段,如果客户端发现下载速度大于已下载片段的码率,它就去请求更高的码率的片段。

如果客户端发现下载速度低于片断的码率,那么此时网络情况有恶化了,这时它就去请求低码率片段。

片段的大于可能根据实现有很多的不同,但通常会是在2~10秒内。

Contents

  [

·        

·        

·        

·        

o   

o   

o   

o   

o   

o   

o   

o   

·        

·        

·        

 houses,  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. 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 additional , but by putting the client in charge, it simplifies the overall workflow and creates better results.

对用户体验更好。

A  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.

CDN网络使用这个技术成本低廉,不需要FMS,且开销小。

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  and, The expert group count with the collaboration of , , [], ,, , ,  and .[] The technology was originally called DVDoverIP and was an integral effort of the DVD ENAV book. 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.[]

Implementations【实现】

Adaptive bit rate streaming was introduced by Move Networks and is now being developed and utilized by , ,  and. In September 2010, Move Networks was awarded a patent for their adaptive bit rate streaming.

MPEG-DASH

Main article: 

MPEG-DASH is the only adaptive bit-rate HTTP-based streaming solution that is an international standard MPEG-DASH technology was developed under . Work on DASH started in 2010; it became a Draft International Standard in January 2011, and an International Standard in November 2011. The MPEG-DASH standard was published as  in April, 2012.

MPEG-DASH is a technology related to  ,   (HLS) and  . DASH is based on Adaptive HTTP streaming (AHS) in  Release 9 and on HTTP Adaptive Streaming (HAS) in Release 2. As part of their collaboration with MPEG, 3GPP Release 10 has adopted DASH (with specific codecs and operating modes) for use over wireless networks.

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.

Adobe Dynamic Streaming for FlashAdobe的方案】

"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 () can support. Another major goal of dynamic streaming is to make this process smooth and seamless to users, so that if  the quality of the stream is necessary, it is a smooth and nearly unnoticeable switch without disrupting the continuous playback." 

The latest versions of Flash Player and Flash Media Server support adaptive bit-rate streaming over the traditional  protocol, as well as, similar to the HTTP-based solutions from Apple and Microsoft. 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  by browsers, proxies, and , drastically reducing the load on the source server.

Apple HTTP Adaptive Streaming for iPhone/iPad/STBApple的方案】

Main article: 

HTTP Live Streaming (HLS) is an HTTP-based media streaming communications protocol implemented by  as part of their  X, and  software systems." Apple's  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.

HTTP adaptive bit rate streaming is based on HTTP , 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.

While all adaptive bit-rate streaming solutions are proprietary offerings as of October 2010, Apple has submitted its solution to the for consideration as an Informational .

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 devices

Microsoft Smooth StreamingMS的方案】

Smooth Streaming is an  that enables adaptive streaming of media to clients over HTTP. The format specification is based on the  and standardized by Microsoft as the Protected Interoperable File Format.Microsoft is actively involved with ,  and  organizations' efforts to standardize adaptive bit-rate HTTP streaming. Microsoft provides Smooth Streaming Client software development kits for  and , as well as a Smooth Streaming Porting Kit that can be used for other client operating systems, such as Apple iOS, Android, and Linux. 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  technology.

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.

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.

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. 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.

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.  

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.

 

上一篇:从ffmpeg中抽取出来的udp组播接收程序
下一篇:Dynamic Adaptive Streaming over HTTP Dataset