VR中文
首发于VR中文
MPEG-DASH 流媒体技术介绍(上)

MPEG-DASH 流媒体技术介绍(上)

简介

MPEG—DASH是一种常用的流媒体技术,在VR直播技术中,有很好的应用潜力。

DASH 是 Dynamic Adaptive Streaming over HTTP的简称。是一种自适应比特率流媒体技术。可以通过HTTP Web服务器传送流媒体。

DASH和苹果的HTTP Live Streaming(HLS)技术相似,MPEG-DASH通过把内容分割成小的基于HTTP的文件段序列,来进行流媒体播放。各个文件段可以设置成不同的比特率进行编码,以满足不同的客户端的网络需求。比如,DASH客户端可以根据当前的网络状况,自动选择对应的最匹配的比特率文件段下载,进行回放,而不会引起停顿或重新缓冲。这样,DASH客户端可以无缝地适应不断变化的网络条件,并提供高品质的播放,而能够尽量减少播放的停顿或缓冲。

MPEG-DASH,作为一种基于HTTP的自适应码率的流媒体传输解决方案,在2012年由ISO/IEC发表,正式成为国际标准。

MPEG-DASH使用现有的HTTP Web服务器基础设施,不需要进行修改。不管是互联网连接的电视,电视机顶盒,台式电脑,智能手机,还是平板电脑,智能手机,这些设备都可以采用DASH对互联网提供的多媒体内容(视频,电视,广播等)进行播放。

MPEG—DASH技术与编解码器无关,可使用H.265,H.264,VP9等任何编解码器进行编码。

​平台支持

安卓平台上的ExoPlayer支持MPEG-DASH。另外,三星、索尼、飞利浦、松下的一些较新型号的智能电视支持MPEG—DASH。Google的Chromecast、YouTube 和Netflix 也已支持MPEG-DASH。

虽然HTML5不直接支持MPEG-DASH,已经有基于JavaScript 的利用HTML5 Media Source Extension 实现的DASH播放器。Bitmovin 的 bitdash player采用HTML5 Encrypted Media Extensions支持DRM 。

与WebGL结合使用, 基于HTML5的MPEG-DASH自适应比特率流媒体可有效实现直播或者点播360°视频.

DASH与音频/视频编解码器无关。一般情况下,会有多个不同分辨率和比特率版本的多媒体文件可用,客户端可以根据网络状况,设备能力和用户偏好进行选择,从而实现自适应比特率流媒体和QoE。DASH还可以与任何底层应用层协议通用。

​结构组成

基于HTTP的自适应流技术一般有两个组成部分:编码的A / V流本身和标识文件。标识文件包含流文件的URL地址清单以指定播放器应该播放哪一个流文件。对于DASH ,实际的A / V流被称为Media Presentation,标识文件称为Media Presentation Description(稍。

Media Presentation 是一组结构化的音频/视频内容集合,包含Period,Adaptation Set,Representation,以及Segments。

Media Presentation指定一段连续的视频片段(Period)。每个Period包含多个音频/视频内容的集合(Adaptation Set)。视频内容可以是音频视频混合的,这样一个Adaptation Set就足够了。或者,也可以用基本流(Elemental Stream),以支持多语言音频功能。

每一个Adaptation Set含多个Representation,每个Representation代表一个独立的流。比如,一个Representation可以是640X480 @ 800Kbps的一个流,而另一个Representation 代表640X480 @ 500kbps的一个流。通过这样不同的Representation, DASH来达到自适应码率的目的。

每一个Representation由一系列的媒体段(Segment)组成。基本上所有的基于HTTP的自适应流技术都会使用这样的数据段。媒体段(Segment)可以是独立的文件,也可以是单一的媒体文件中指定的字节范围。单一媒体文件中相比于多个文件来比较,文件管理和高速缓存效率比较高。

DASH的标识文件,称为Media Presenation Description,是一个XML格式的文件。此文件定义各个内容组件和可替代的流文件的位置。这样DASH的播放端就可以知道何时启动播放,为适应CPU和缓冲状态必要时如何进行切换。也可以因为用户的输入不同(如启用/禁用字幕或改变语言设置),相应改变Adaptation Set。

发布于 2016-11-30

文章被以下专栏收录