DASH 清单类型 - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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 行业论坛实施指南