本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DASH 清单类型
基于 HTTP 的动态自适应流式传输 (DASH) 使用媒体演示描述 (MPD) 清单来传送流媒体内容。了解 DASH 清单的结构和组件对于配置和排除 MediaTailor 工作流程故障至关重要。
- MPD(媒体演示说明)
-
MPD 是 DASH 流媒体中的主要清单文件,用于描述媒体内容的结构和可用性。它包含有关构成流媒体内容的时段、改编集、表示形式和片段的信息。
在各种上下文中,这种清单类型也被其他几个名称所熟知:
-
DASH 清单
-
DASH MPD
-
主清单(与 HLS 比较时)
-
演示文稿清单
在 MediaTailor 工作流程中,MPD 是播放请求的入口点,也是广告个性化的起点。
例 MPD 清单示例
<?xml version="1.0" encoding="UTF-8"?> <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minBufferTime="PT5.000S" maxSegmentDuration="PT2.005S" availabilityStartTime="2020-01-01T00:00:00Z" publishTime="2020-01-01T12:30:00Z" minimumUpdatePeriod="PT2.000S" timeShiftBufferDepth="PT5M"> <Period id="1" start="PT0.000S"> <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9"> <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000"> <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/> </Representation> <Representation id="2" mimeType="video/mp4" codecs="avc1.4d401f" width="1280" height="720" bandwidth="2800000"> <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/> </Representation> <Representation id="3" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" bandwidth="1100000"> <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/> </Representation> </AdaptationSet> <AdaptationSet id="2" contentType="audio" segmentAlignment="true" lang="eng"> <Representation id="4" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="48000" bandwidth="128000"> <SegmentTemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="96000"/> </Representation> </AdaptationSet> </Period> </MPD>
-
- 周期
-
周期是 DASH 演示文稿中的一个时间部分。每个 Period 都包含一个或多个改编集,代表媒体时间跨度。在广告插入工作流程中,通常使用单独的时间段来划分内容和广告。
这个组件也有其他几个名字:
-
内容细分
-
时间轴部分
-
节目片段
在 MediaTailor 工作流程中,使用时间段将主要内容与广告内容分开,每个广告通常由自己的时间段表示。
例 时期示例
<Period id="ad-period-1" start="PT30.000S" duration="PT15.000S"> <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9"> <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000"> <SegmentTemplate timescale="90000" initialization="ad1/init-stream$RepresentationID$.m4s" media="ad1/chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/> </Representation> </AdaptationSet> </Period>
-
- AdaptationSet
-
对一个或多个媒体内容组件的一 AdaptationSet 组可互换编码版本进行分组。例如,一个 AdaptationSet 可能包含多个视频质量级别,而另一个可能包含多个音频语言选项。
这个组件也被称为:
-
媒体组件组
-
直播套装
-
曲目组
在 MediaTailor 工作流程中, AdaptationSets 在广告插入期间保留,以保持内容和广告之间媒体类型的一致性。
-
- 表示
-
表示形式是其中媒体内容的特定编码版本。 AdaptationSet每种表示形式通常在比特率、分辨率或其他编码参数上有所不同,允许客户端根据网络条件和设备功能选择最合适的版本。
这个组件也被称为:
-
再现(类似于 HLS)
-
质量级别
-
比特率变体
-
直播变体
在 MediaTailor 工作流程中,广告周期中的表现尽可能与内容时段中的表现形式紧密匹配,以确保流畅的观看体验。
-
- 客户细分
-
区段是可以通过 URL 单独引用的媒体数据单元。片段包含实际的媒体内容(视频、音频等),并在 MPD 中引用。DASH 中有两种主要的区段类型:
-
初始化片段:包含表示的初始化信息,例如编解码器参数和计时信息。
-
媒体片段:包含表示形式中特定时间范围内的实际媒体数据。
在 MediaTailor 工作流程中,区段 URLs 通常会被修改为指向相应的内容或广告媒体文件。
-
注意
DASH 清单是基于 XML 的文件,通常使用扩展名。.mpd
这些文件及其组件的术语可能因不同的文档和上下文而异,但是 DASH 流媒体架构中的基本结构保持不变。
配置时 MediaTailor,您需要在内容来源中提供 MPD 清单的 URL。 MediaTailor 然后处理清单的个性化设置,通常是根据您的配置为广告插入额外的时段。
有关 DASH 清单规范的更多信息,请参阅 DASH 行业论坛实施指南