自适性流
自适性流(英语: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、迪斯尼、Adobe和Akamai组成。
实现
编辑自适应流由Move Networks引入,现在的玩家有Adobe、Apple和微软。Move Networks在2010年9月获得了自适应流的专利。[1]
MPEG-DASH
编辑MPEG-DASH 是基于HTTP的自适应流方案中的唯一国际标准。[2]
MPEG-DASH 技术由 MPEG 主导开发:
- 2010年开始DASH相关工作,
- 2011年1月成为国际标准草案,
- 2011年11月成为国际标准[3],
- 2012年4月,MPEG-DASH 以ISO/IEC 23009-1:2012 (页面存档备份,存于互联网档案馆) 发表。
MPEG-DASH 基于3GPP第9版的 Adaptive HTTP streaming(AHS)和 Open IPTV Forum第2版的 HTTP Adaptive Streaming (HAS)。作为与MPEG合作的一部分,3GPP第10版采用了DASH(采用特别的编码和操作模式),用于无线网络。[4]
可用的 MPEG-DASH 实现有:
- bitmovin GmbH 的开源 DASH 客户端库 libdash 和 | DASHEncoder (页面存档备份,存于互联网档案馆)
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,同时支持直播和时移。
外部链接
编辑参考
编辑- ^ Move Gets Streaming Patent; Are Adobe & Apple Hosed? — Online Video News. Gigaom.com. 15 September 2010 [15 October 2011]. (原始内容存档于2011年10月22日).
- ^ MPEG ratifies its draft standard for DASH. MPEG. 2 December 2011 [26 August 2012]. (原始内容存档于2012年8月20日).
- ^ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH). [2014-01-19]. (原始内容存档于2017-01-29).
- ^ 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)
- ^ Prince McLean. Apple launches HTTP Live Str我要下載安裝eaming standard in iPhone 3.0. AppleInsider. 9 July 2009 [15 October 2011]. (原始内容存档于2019-05-13).
- ^ R. Pantos, HTTP Live Streaming, IETF, [11 Oct 2011], (原始内容存档于2019-10-17)