自适性流(英语:ABS, adaptive bitrate streaming),是一种在电脑网络使用的一种技术流技术。过去的流媒体技术多使用RTP/RTSP,但现在的技术则大多基于HTTP,并为更高效在大型分布式HTTP网络(例如互联网)分发而设计。

自适应流概览
自适应流工作图

此技术根据实时检测的用户的带宽和CPU使用率,调整视频流的质量。这需要使用一种可以将单一视频源输出为多码率编码器。播放器客户端依赖可用资源在不同码率的流之间切换。"结果就是:更少缓存、更快的开始播放、为低端和高端链接都提供良好的体验。"

根据当前广泛使用的实现,更具体来说,自适应流(ABS):

  • 使用HTTP传送视频流
  • 使用多码率编码源内容
  • 每个单码率的流被切成小的,几秒钟的小切片

流媒体客户端首先获取所有码率的切片索引信息。一开始,客户端先请求最低码率的流。如果客户端判断下载速度比当前码率的切片流快,它就去请求下一个更高码率的流。随着播放的进行,如果客户端发现下载速度比当前码率的切片流慢,转而请求下一个较低码率的流。

切片大小和具体实现密切相关,不过一般都在2~10秒之间。每个切片由一个完整的GOP序列组成,一个GOP序列里面有1个或者多个I帧,GOP序列的第一个帧必须是I帧,并且每个切片都能单独的解码播放显示。

历史

编辑

自适应流由WG1特别流工作组在2002年10月的DVD论坛创立。这个工作组由东芝Phoenix Technologies共同担任主席,专家组则由微软苹果DTS Inc.华纳兄弟20世纪福克斯Digital Deluxe迪斯尼AdobeAkamai组成。

实现

编辑

自适应流由Move Networks引入,现在的玩家有AdobeApple微软。Move Networks在2010年9月获得了自适应流的专利。[1]

MPEG-DASH

编辑

MPEG-DASH 是基于HTTP的自适应流方案中的唯一国际标准。[2]

MPEG-DASH 技术由 MPEG 主导开发:

MPEG-DASH 基于3GPP第9版的 Adaptive HTTP streaming(AHS)和 Open IPTV Forum第2版的 HTTP Adaptive Streaming (HAS)。作为与MPEG合作的一部分,3GPP第10版采用了DASH(采用特别的编码和操作模式),用于无线网络。[4]

可用的 MPEG-DASH 实现有:

Adobe HTTP Dynamic Streaming (HDS)

编辑

Flash Player 和 Flash Media Server 的最新版支持传统的 RTMP 协议和 HTTP 协议。后者和 Apple 和微软基于 HTTP 的方案类似。

基于HTTP的流的优势是:

  • 不需要防火墙开普通web浏览器所需端口以外的任何端口
  • 允许视频切片在浏览器、网关和 CDN 的缓存,从而显著降低源服务器的负载。

HDS 的文件格式为 FLV/F4V/MP4,索引文件为 f4m,同时支持直播和时移。

Apple HTTP Live Streaming (HLS)

编辑

HTTP Live Streaming 在 iPhone 3.0 及更新版中成为标准功能。[5]

2010年10月,所有自适应流方案都作为产权提供时,Apple 将HLS提交到 IETF,成为正式的 RFC.[6]

HLS 流使用扩展名为 .m3u8 的文件作为索引,文件切帧式为TS,支持直播和时移。支持的客户端包括 iPad, iPhone, STB,VLC和其他支持的设备。

Microsoft Smooth Streaming (MSS)

编辑

Smooth Streaming 是IIS的媒体服务扩展,用于支持基于HTTP的自适应流。

在2010年11月发布的 IIS Media Services 4.0 中,微软引入了一项使 Live Smooth Streaming H.264/AAC 视频动态封装成 Apple HLS 格式的功能,直接提供给 iOS 设备,而不需要再次编码。

MSS 的文件切帧式为 mp4,索引文件为ism/ismc,同时支持直播和时移。

外部链接

编辑

参考

编辑
  1. ^ Move Gets Streaming Patent; Are Adobe & Apple Hosed? — Online Video News. Gigaom.com. 15 September 2010 [15 October 2011]. (原始内容存档于2011年10月22日). 
  2. ^ MPEG ratifies its draft standard for DASH. MPEG. 2 December 2011 [26 August 2012]. (原始内容存档于2012年8月20日). 
  3. ^ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH). [2014-01-19]. (原始内容存档于2017-01-29). 
  4. ^ 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)
  5. ^ Prince McLean. Apple launches HTTP Live Str我要下載安裝eaming standard in iPhone 3.0. AppleInsider. 9 July 2009 [15 October 2011]. (原始内容存档于2019-05-13). 
  6. ^ R. Pantos, HTTP Live Streaming, IETF, [11 Oct 2011], (原始内容存档于2019-10-17)