自適性串流(英語:ABS, adaptive bitrate streaming),是一種在電腦網路使用的一種技術串流技術。过去的流媒体技术多使用RTP/RTSP,但现在的技术则大多基于HTTP,并为更高效在大型分布式HTTP网络(例如互联网)分发而设计。
此技术根据实时检测的用户的带宽和CPU使用率,调整视频流的质量。这需要使用一种可以将单一视频源输出为多码率的编码器。播放器客户端依赖可用资源在不同码率的流之间切换。"结果就是:更少缓存、更快的开始播放、为低端和高端链接都提供良好的体验。"
根据当前广泛使用的实现,更具体来说,自适应串流(ABS):
流媒体客户端首先获取所有码率的切片索引信息。一开始,客户端先请求最低码率的串流。如果客户端判断下载速度比当前码率的切片串流快,它就去请求下一个更高码率的串流。随着播放的进行,如果客户端发现下载速度比当前码率的切片串流慢,转而请求下一个较低码率的串流。
切片大小和具体实现密切相关,不过一般都在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 是基于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 实现有:
Flash Player 和 Flash Media Server 的最新版支持传统的 RTMP 协议和 HTTP 协议。后者和 Apple 和微软基于 HTTP 的方案类似。
基于HTTP的流的优势是:
HDS 的文件格式为 FLV/F4V/MP4,索引文件为 f4m,同时支持直播和时移。
HTTP Live Streaming 在 iPhone 3.0 及更新版中成为标准功能。[5]
2010年10月,所有自适应串流方案都作为产权提供时,Apple 将HLS提交到 IETF,成为正式的 RFC.[6]
HLS 串流使用扩展名为 .m3u8 的文件作为索引,文件切片格式为TS,支持直播和时移。支持的客户端包括 iPad, iPhone, STB,VLC和其他支持的设备。
Smooth Streaming 是IIS的媒体服务扩展,用于支持基于HTTP的自适应串流。
在2010年11月发布的 IIS Media Services 4.0 中,微软引入了一项使 Live Smooth Streaming H.264/AAC 视频动态封装成 Apple HLS 格式的功能,直接提供给 iOS 设备,而不需要再次编码。
MSS 的文件切片格式为 mp4,索引文件为ism/ismc,同时支持直播和时移。