流媒体
注:
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的发展流程导图——


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文件和自身的条件,请求下载合适的媒体片段。由于在时间上,片段是对齐的,因此可以实现在不同片段间切换时,达到无缝切换的播放。

-
DASH标准(概述)
首先要解释的概念是MPD(Media Presentation Description,媒体表示描述)文件。
MPD为一个XML文件,他是用HTTP 中的URL(Uniform Resource Locators,统一资源定位器)表示媒体内容中不同质量和每种质量的各个段。其是一种分层的数据模型,见下图。

-
Period :
标注了视频的时长信息,也可以看做是更新mpd文件的最长时长。
一个Period通常表示一个媒体内容时期,包含一系列不同编码版本的的媒体组件,即不同视角或不同编解码器的视
-

2725

被折叠的 条评论
为什么被折叠?



