DASH 流媒体协议(Dynamic Adaptive Streaming over HTTP)概述——起源、MPD文件解析、相关项目

流媒体

注:
1、此篇文章立足于巨人的肩膀之上,侵必删
2、有许多内容尚未完成,包括segment的类别,HTTP协议基础等

DASH

  • DASH的起源——

    MPEG(Moving Picture Experts Group,动态影像专家小组),源自ISO与IEC等国际组织的工作小组。MPEG-DASH技术由MPEG负责开发。

    对DASH的工作始于2010年,2011年1月成为国际标准草案,2011年11月成为国际标准。

    2012年4月,被MPEG制定,标准为ISO - ISO/IEC 23009-1:2019 - Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 1: Media presentation description and segment formats,后有两版较大更新(2014与2019年),最新标准于2019年提出。

    制作DASH标准的目的,源于Adobe的HTTP Dynamic Streaming、Apple的HTTP Live Streaming(HLS)与微软的Smooth Streaming等协议无法兼容,阻碍了音视频向全世界推广的进程,故而需要一项标准加以规范。

    而DASH本身,则是基于3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)第9版的Adaptive HTTP Streaming(AHS),和Open IPTV Forum Release 2中的HTTP Adaptive Streaming(HAS)而产生的。(由于年代久远,对这两种方案有兴趣的可以自行查询)

    DASH的发展流程导图——

image
image

DASH行业论坛(DASH-IF,DASH Industry Forum | Catalyzing the adoption of MPEG-DASH (dashif.org))则进一步促进和催化了MPEG-DASH的采用,并帮助其从规范转变为实际业务。主要的流媒体和媒体公司,包括微软、Netflix、Google、爱立信、三星、Adobe等都在实际业务中尝试使用,并为不同使用环境创建了DASH使用指南。

  • DASH的工作原理(概述)

    • Server端将媒体文件分割为时间长度等长的片段(Segment),每个片段可以有不同的码率和分辨率;
    • 客户端通常通过对网络带宽的评估或者是自身缓冲区的大小,选择不同参数的片段。通过符合HTTP标准的GET请求进行对应片段的下载。

    客户端首先向服务器请求下载mpd文件,根据mpd文件和自身的条件,请求下载合适的媒体片段。由于在时间上,片段是对齐的,因此可以实现在不同片段间切换时,达到无缝切换的播放。

    image

  • DASH标准(概述)

    首先要解释的概念是MPD(Media Presentation Description,媒体表示描述)文件。

    MPD为一个XML文件,他是用HTTP 中的URL(Uniform Resource Locators,统一资源定位器)表示媒体内容中不同质量和每种质量的各个段。其是一种分层的数据模型,见下图。

    image

    • Period :

      标注了视频的时长信息,也可以看做是更新mpd文件的最长时长。

      一个Period通常表示一个媒体内容时期,包含一系列不同编码版本的的媒体组件,即不同视角或不同编解码器的视

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值