MPEG-DASH介绍

MPEG-DASH是一种流媒体传输协议,整合了自适应流媒体方案,便于播放器兼容。内容提供商只需提供一种视频格式,通过MPD文件描述视频信息。DASH分为服务器端和客户端,服务器端处理视频切分,客户端通过请求MPD获取视频信息。MPD包含Period、AdaptationSet和Representation等标签,描述视频的时长、媒体类型和码率等详细信息。
摘要由CSDN通过智能技术生成

1. MPEG-DASH介绍

前言:从接触MPEG-DASH到现在大概也有3个多月了,前几天需要在课上总结下这半年的工作,大概做了一个ppt,现在想进一步总结下,写一个关于DASH入门的文章,供后人参考。

2. DASH起源

DASH(Dynamic Adaptive Streaming over HTTP)是一种流媒体传输协议,在此之前,苹果、微软、Adobe等公司都有自己的自适应流媒体实现方式,之后联合在一起制定了MPEG-DASH标准,改标准于2012年制定完毕。



DASH起源

2.1 MPEG-DASH白皮书
  • Part1: Media presentation description and segment formats
  • Part2: Reference software and conformance
  • Part3: Implementation guidelines
  • Part4: Format Independent Segment encryption and authentication

我看的比较多的是第一部分,关于MPD定义的部分,对于理解DASH的结构还是比较有帮助的,实际上就是定义了MPD文件各个标签的含义,没有必要深究,很多在实际的MPD中都没有使用到,只需要学习实际MPD文件的结构就好了,实际的MPD是分层的结构,跟HTML类似,是用XML语言描述的,所以很好理解。

2.2 DASH的优点

在我看来,DASH有以下几点优点,

  • 整合了之前的几种自适应流媒体方案,方便播放器的兼容。
  • 内容提供商只需要提供一种视频格式就好,而不必考虑兼容性问题。
  • 有开放的开源软件进行集成,便于这项技术的扩散应用。
  • 对用户来说,提升了带宽利用率,可以提升观看体验,是最直接的好处。

3. DASH基本结构

DASH可以分成服务器端和客户端两个部分,其中服务端负责将由264,265,AVS等(国产的国际视频压缩标准)压缩过的文件切分成DASH支持的格式,并生成相应的MPD文件。客户端首先请求mpd文件,根据请求到的mpd文件,就可以知道链接所对应的视频的信息,包括一下信息,

  • 直播/点播
  • 切分的每一个片段的长度
  • 整个视频的长度
  • 有多少种对应的码率,分辨率
  • 视频片段URL地址信息(可以通过类似的命名依次推出)
  • 对于直播还有开始直播的时间



  • Fig1. DASH起源
3.1 切分示例

如下图所以,将一段1080p,10s的视频切分成5种码率5个片段,每个片段2s的视频。在播放时候,可能的一种请求方式见Fig3,当然以这种请求方式进行请求的话,观看者一定会受不了的,分辨率切换这么快,肯定让人崩溃了。



Fig2. 切分方式示例

请求顺序:


Fig3. 请求顺序示例

3.2 MPD介绍

MPD(media presentation description)描述了视频的所有信息,在白皮书的Part1部分有详细的介绍。MPD主要分成以下标签,

  • Period : 标注了视频的时长信息,也可以看做是更新mpd文件的最长时长。
  • AdaptationSet : 包含了媒体呈现的形式,(视频/音频/字幕)。
  • Representaiton : 包含不同的码率、编码方式、帧率信息等。
  • Segment : 每一个具体的片段。(1,2,4,6,10s …)


    Fig4. MPD层次结构

    实际播放的时候,视频会在一个AdaptationSet中的不同Representaiton 之间切换码率,会依次请求该Representaiton下不同Segment序列。
3.3 MPD代码

一个常见的mpd文件如下,可以清楚的看到各个字段是如何描述的。

<!--
 MPD file Generated with GPAC version 0.5.1-DEV-rev5379  on 2014-09-13T02:57:14Z
-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500000S" type="static" mediaPresentationDuration="PT0H12M14.17S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
<ProgramInformatio
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值