HEVC 的平滑流式处理协议 (MS-SSTR) 修正Smooth Streaming Protocol (MS-SSTR) Amendment for HEVC

1 简介1 Introduction

本文提供适用于平滑流式处理协议规范 [MS-SSTR](实现 HEVC 编码视频的平滑流式处理)的详细修正。This article provides detailed amendments to be applied to the Smooth Streaming Protocol specification [MS-SSTR] to enable Smooth Streaming of HEVC encoded video. 本规范只阐述了交付 HEVC 视频编解码器所要进行的更改。In this specification, we outline only the changes required to deliver the HEVC video codec. 本文遵循 [MS-SSTR] 规范所用的相同编号架构。The article follows the same numbering schema as the [MS-SSTR] specification. 整篇文章中显示的空白标题行用于将读者定位到 [MS-SSTR] 规范中的相应位置。The empty headlines presented throughout the article are provided to orient the reader to their position in the [MS-SSTR] specification. “(未更改)”表示文本是复制的,仅用于澄清目的。“(No Change)” indicates text is copied for clarification purposes only.

本文提供平滑流式处理清单中 HEVC 视频编解码器(使用“hev1”或“hvc1”格式化轨道)信号的技术实现要求;规范参考内容经过更新,参考了包括 HEVC、HEVC 通用加密在内的最新 MPEG 标准;ISO 基本媒体文件格式的框架名称经过更新,与最新规范保持一致。The article provides technical implementation requirements for the signaling of HEVC video codec (using either 'hev1' or 'hvc1' format tracks) in a Smooth Streaming manifest and normative references are updated to reference the current MPEG standards that include HEVC, Common Encryption of HEVC, and box names for ISO Base Media File Format have been updated to be consistent with the latest specifications.

参考的平滑流式处理协议规范 [MS-SSTR] 描述了通过以下方式传送实时和点播数字媒体(例如音频和视频)所用的在线格式:从编码器传送到 Web 服务器、从一台服务器传送到另一个服务器,以及从服务器传送到 HTTP 客户端。The referenced Smooth Streaming Protocol specification [MS-SSTR] describes the wire format used to deliver live and on-demand digital media, such as audio and video, in the following manners: from an encoder to a web server, from a server to another server, and from a server to an HTTP client. 通过 HTTP 使用基于 MPEG-4 ([MPEG4-RA]) 的数据结构传送方法能够在不同的压缩媒体内容质量级别之间近乎实时地无缝切换。The use of an MPEG-4 ([MPEG4-RA])-based data structure delivery over HTTP allows seamless switching in near real time between different quality levels of compressed media content. 因此,即使客户端计算机或设备的网络和视频呈现条件发生变化,也能为 HTTP 客户端最终用户带来一致的播放体验。The result is a constant playback experience for the HTTP client end user, even if network and video rendering conditions change for the client computer or device.

1.1 术语表1.1 Glossary

[MS-GLOS] 中定义了以下术语:The following terms are defined in [MS-GLOS]:

全局唯一标识符 (GUID)、通用唯一标识符 (UUID)globally unique identifier (GUID) universally unique identifier (UUID)

本文档专门使用了以下术语:The following terms are specific to this document:

构图时间: 在客户端呈现某个样本的时间,符合 [ISO/IEC-14496-12] 中的定义。composition time: The time a sample is presented at the client, as defined in [ISO/IEC-14496-12].

CENC:通用加密,符合 [ISO/IEC 23001-7] 第二版中的定义。CENC: Common Encryption, as defined in [ISO/IEC 23001-7] Second Edition.

解码时间: 在客户端解码某个样本所需的时间,符合 [ISO/IEC 14496-12:2008] 中的定义。decode time: The time a sample is required to be decoded on the client, as defined in [ISO/IEC 14496-12:2008].

片段: 一个可单独下载的媒体单元,由一个或多个样本构成。fragment: An independently downloadable unit of media that comprises one or more samples.

HEVC: 高效视频编码,符合 [ISO/IEC 23008-2] 中的定义HEVC: High Efficiency Video Coding, as defined in [ISO/IEC 23008-2]

清单: 有关呈现内容的元数据,可让客户端发出媒体请求。manifest: Metadata about the presentation that allows a client to make requests for media. 媒体: 由客户端用来播放呈现内容的压缩音频、视频和文本数据。media: Compressed audio, video, and text data used by the client to play a presentation. 媒体格式: 以压缩样本形式呈现音频或视频时所用的妥善定义的格式。media format: A well-defined format for representing audio or video as a compressed sample.

呈现内容: 播放单部电影所需的所有和相关元数据的集。presentation: The set of all streams and related metadata needed to play a single movie. 请求: 从客户端发送到服务器的 HTTP 消息,符合 [RFC2616] 响应: 中的定义。从服务器发送到客户端的 HTTP 消息,符合 [RFC2616] 中的定义request: An HTTP message sent from the client to the server, as defined in [RFC2616] response: An HTTP message sent from the server to the client, as defined in [RFC2616]

样本: 存储和处理媒体的最小基本单位(例如帧)。sample: The smallest fundamental unit (such as a frame) in which media is stored and processed.

可以、应该、必须、不应、不得: 这些术语(全部大写)的用法符合 [RFC2119] 中的描述 所有可选行为的陈述使用“可以”、“应该”或“不应”。MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as described in [RFC2119] All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.

1.2 参考1.2 References

对 Microsoft 开放规范文档的参考不包括发布年份,因为链接指向最新版本的文档,而这些文档经常更新。References to Microsoft Open Specifications documentation do not include a publishing year because links are to the latest version of the documents, which are updated frequently. 对其他文档的参考包括发布年份(如果已提供)。References to other documents include a publishing year when one is available.

1.2.1 规范参考1.2.1 Normative References

[MS-SSTR] 平滑流式处理协议 v20140502 https://msdn.microsoft.com/library/ff469518.aspx[MS-SSTR] Smooth Streaming Protocol v20140502 https://msdn.microsoft.com/library/ff469518.aspx

[ISO/IEC 14496-12] 国际标准化组织编写的“信息技术 -- 音频-视频对象编码 -- 第 12 部分:ISO 基本媒体文件格式”,ISO/IEC 14496-12:2014 版本 4,以及勘误 1、修正 1 和 2。[ISO/IEC 14496-12] International Organization for Standardization, "Information technology -- Coding of audio-visual objects -- Part 12: ISO Base Media File Format", ISO/IEC 14496-12:2014, Edition 4, Plus Corrigendum 1, Amendments 1 & 2. https://standards.iso.org/ittf/PubliclyAvailableStandards/c061988_ISO_IEC_14496-12_2012.zip

[ISO/IEC 14496-15] 国际标准化组织编写的“信息技术 -- 音频-视频对象编码 -- 第 15 部分:以 ISO 基本媒体文件格式传送 NAL 单位结构化视频”,ISO 14496-15:2015 版本 3。[ISO/IEC 14496-15] International Organization for Standardization, "Information technology -- Coding of audio-visual objects -- Part 15: Carriage of NAL unit structured video in the ISO Base Media File Format", ISO 14496-15:2015, Edition 3. https://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=65216

[ISO/IEC 23008-2] 信息技术 -- 异构环境中的高效编码和媒体传送 -- 第 2 部分:高效视频编码:2013 或最新版本https://standards.iso.org/ittf/PubliclyAvailableStandards/c035424_ISO_IEC_23008-2_2013.zip[ISO/IEC 23008-2] Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 2: High efficiency video coding: 2013 or newest edition https://standards.iso.org/ittf/PubliclyAvailableStandards/c035424_ISO_IEC_23008-2_2013.zip

[ISO/IEC 23001-7] 信息技术 -- MPEG 系统技术 -- 第 7 部分:ISO 基本媒体格式文件中的通用加密,CENC 版本 2:2015https://www.iso.org/iso/catalogue_detail.htm?csnumber=65271[ISO/IEC 23001-7] Information technology — MPEG systems technologies — Part 7: Common encryption in ISO base media file format files, CENC Edition 2:2015 https://www.iso.org/iso/catalogue_detail.htm?csnumber=65271

[RFC-6381] IETF RFC-6381 中阐述的“‘存储桶’媒体类型的‘编解码器’和‘配置文件’参数”https://tools.ietf.org/html/rfc6381[RFC-6381] IETF RFC-6381, “The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types” https://tools.ietf.org/html/rfc6381

[MPEG4-RA] MP4 注册机构“MP4REG”,http://www.mp4ra.org[MPEG4-RA] The MP4 Registration Authority, "MP4REG", http://www.mp4ra.org

[RFC2119] Bradner, S. 编写的“RFC 中用于指示要求级别的关键字”,BCP 14,RFC 2119,1997 年 3 月,https://www.rfc-editor.org/rfc/rfc2119.txt[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, https://www.rfc-editor.org/rfc/rfc2119.txt

1.2.2 信息性参考1.2.2 Informative References

[MS-GLOS] Microsoft Corporation 编写的“Windows 协议主要术语表”。[MS-GLOS] Microsoft Corporation, "Windows Protocols Master Glossary."

[RFC3548] Josefsson, S., Ed. 编写的“Base16、Base32 和 Base64 数据编码”,RFC 3548,2003 年 7 月,https://www.ietf.org/rfc/rfc3548.txt[RFC3548] Josefsson, S., Ed., "The Base16, Base32, and Base64 Data Encodings", RFC 3548, July 2003, https://www.ietf.org/rfc/rfc3548.txt

[RFC5234] Crocker, D., Ed. 和 Overell, P. 编写的“扩充的 BNF 语法规范:ABNF”,STD 68,RFC 5234,2008 年 1 月,https://www.rfc-editor.org/rfc/rfc5234.txt[RFC5234] Crocker, D., Ed., and Overell, P., "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008, https://www.rfc-editor.org/rfc/rfc5234.txt

1.3 概述1.3 Overview

下面指定了传送 HEVC 之前需要对平滑流式处理规范所做的唯一几处更改。Only changes to the Smooth Streaming specification required for the delivery of HEVC are specified below. 此处列出的小节标题未发生变化,目的是保留所参考的平滑流式处理规范 [MS-SSTR] 中的相应位置。Unchanged section headers are listed to maintain location in the referenced Smooth Streaming specification [MS-SSTR].

1.4 与其他协议之间的关系1.4 Relationship to Other Protocols

1.5 先决条件/前提条件1.5 Prerequisites/Preconditions

1.6 适用性声明1.6 Applicability Statement

1.7 版本控制和功能协商1.7 Versioning and Capability Negotiation

1.8 供应商可扩展的字段1.8 Vendor-Extensible Fields

应使用以下方法来识别采用 HEVC 视频格式的流:The following method SHALL be used identify streams using the HEVC video format:

  • 媒体格式的自定义描述性代码: 此功能根据第 2.2.2.5 节中的指定,由 FourCC 字段提供。Custom Descriptive Codes for Media Formats: This capability is provided by the FourCC field, as specified in section 2.2.2.5. 实现者可以根据 [ISO/IEC-14496-12] 中的指定,将扩展代码注册到 MPEG4-RA,来确保扩展不会发生冲突Implementers can ensure that extensions do not conflict by registering extension codes with the MPEG4-RA, as specified in [ISO/IEC-14496-12]

1.9 标准分配1.9 Standards Assignments

2 消息2 Messages

2.1 传输2.1 Transport

2.2 消息语法2.2 Message Syntax

2.2.1 清单请求2.2.1 Manifest Request

2.2.2 清单响应2.2.2 Manifest Response

2.2.2.1 SmoothStreamingMedia2.2.2.1 SmoothStreamingMedia

MinorVersion(变量): 清单响应消息的次要版本。MinorVersion (variable): The minor version of the Manifest Response message. 必须设置为 2。MUST be set to 2. (未更改)(No Change)

TimeScale(变量): Duration 属性的时标,指定为一秒的增量数。TimeScale (variable): The time scale of the Duration attribute, specified as the number of increments in one second. 默认值为The default value is

  1. (未更改)(No Change)

    建议值为 90000,表示包含分数帧速率视频(例如 30/1.001 Hz)的视频帧和片段的确切持续时间。The recommended value is 90000 for representing the exact duration of video frames and fragments containing fractional framerate video (for example, 30/1.001 Hz).

2.2.2.2 ProtectionElement2.2.2.2 ProtectionElement

将通用加密 (CENC) 应用到视频或音频流后,应显示 ProtectionElement。The ProtectionElement SHALL be present when Common Encryption (CENC) has been applied to video or audio streams. HEVC 加密流应符合通用加密第 2 版 [ISO/IEC 23001-7]。HEVC encrypted streams SHALL conform to Common Encryption 2nd Edition [ISO/IEC 23001-7]. 只应加密 VCL NAL 单元中的切片数据。Only slice data in VCL NAL Units SHALL be encrypted.

2.2.2.3 StreamElement2.2.2.3 StreamElement

StreamTimeScale(变量): 此流中的持续时间和时间值的时标,指定为一秒的增量数。StreamTimeScale (variable): The time scale for duration and time values in this stream, specified as the number of increments in one second. 对于 HEVC 流,建议指定值 90000。A value of 90000 is recommended for HEVC streams. 对于音频流,建议指定与波形样本频率匹配的值(例如 48000 或 44100)。A value matching the waveform sample frequency (for example, 48000 or 44100) is recommended for audio streams.

2.2.2.3.1 StreamProtectionElement2.2.2.3.1 StreamProtectionElement

2.2.2.4 UrlPattern2.2.2.4 UrlPattern

2.2.5 TrackElement2.2.5 TrackElement

FourCC(变量): 由四个字符组成的代码,用于确定对每个样本使用了哪种媒体格式。FourCC (variable): A four-character code that identifies which media format is used for each sample. 以下值范围是保留的,其语义含义如下:The following range of values is reserved with the following semantic meanings:

  • "hev1”:此轨迹的视频样本使用 HEVC 视频,并采用 [ISO/IEC-14496-15] 中指定的“hev1”样本说明格式。"hev1”: Video samples for this track use HEVC video, using the ‘hev1’ sample description format specified in [ISO/IEC-14496-15].

  • “hvc1”:此轨迹的视频样本使用 HEVC 视频,并采用 [ISO/IEC-14496-15] 中指定的“hvc1”样本说明格式。"hvc1”: Video samples for this track use HEVC video, using the ‘hvc1’ sample description format specified in [ISO/IEC-14496-15].

    CodecPrivateData(变量): 指定特定于媒体格式的参数,并在轨迹的所有样本中通用的数据,以十六进制编码字节的字符串表示。CodecPrivateData (variable): Data that specifies parameters specific to the media format and common to all samples in the track, represented as a string of hex-coded bytes. 字节序列的格式和语义含义根据 FourCC 字段的值而异,如下所述:The format and semantic meaning of byte sequence varies with the value of the FourCC field as follows:

    • 如果 TrackElement 描述 HEVC 视频,则 FourCC 字段应等于 "hev1""hvc1"When a TrackElement describes HEVC video, the FourCC field SHALL equal "hev1" or "hvc1"

    CodecPrivateData 字段应包含 ABNF [RFC5234] 中指定的以下字节序列的十六进制编码字符串表示形式(与 MS-SSTR 中的内容相同)The CodecPrivateData field SHALL contain a hex-coded string representation of the following byte sequence, specified in ABNF [RFC5234]: (no change from MS-SSTR)

    • %x00 %x00 %x00 %x01 SPSField %x00 %x00 %x00 %x01 PPSField%x00 %x00 %x00 %x01 SPSField %x00 %x00 %x00 %x01 PPSField

    • SPSField 包含序列参数集 (SPS)。SPSField contains the Sequence Parameter Set (SPS).

    • PPSField 包含切片参数集 (PPS)。PPSField contains the Slice Parameter Set (PPS).

    注意:视频参数集 (VPS) 未包含在 CodecPrivateData 中,但应包含在“hvcC”框中存储的文件的文件标头中。Note: The Video Parameter Set (VPS) is not contained in CodecPrivateData, but should be contained in the file header of stored files in the ‘hvcC’ box. 使用平滑流式处理协议的系统必须使用自定义属性“codecs”来告知附加的解码参数(例如 HEVC 层)。Systems using Smooth Streaming Protocol must signal additional decoding parameters (for example, HEVC Tier) using the Custom Attribute “codecs.”

2.2.2.5.1 CustomAttributesElement2.2.2.5.1 CustomAttributesElement

2.2.6 StreamFragmentElement2.2.6 StreamFragmentElement

SmoothStreamingMedia 的 MajorVersion 字段必须设置为 2,MinorVersion 字段必须设置为 2。The SmoothStreamingMedia’s MajorVersion field MUST be set to 2, and MinorVersion field MUST be set to 2. (未更改)(No Change)

2.2.2.6.1 TrackFragmentElement2.2.2.6.1 TrackFragmentElement

2.2.3 片段请求2.2.3 Fragment Request

注意:为 MinorVersion 2 和“hev1”或“hvc1”请求的默认媒体格式为 [ISO/IEC 14496-12] ISO 基本媒体文件格式第四版和 [ISO/IEC 23001-7] 通用加密第二版中指定的“iso8”品牌 ISO 基本媒体文件格式。Note: The default media format requested for MinorVersion 2 and ‘hev1’ or 'hvc1' is ‘iso8’ brand ISO Base Media File Format specified in [ISO/IEC 14496-12] ISO Base Media File Format Fourth Edition, and [ISO/IEC 23001-7] Common Encryption Second Edition.

2.2.4 片段响应2.2.4 Fragment Response

2.2.4.1 MoofBox2.2.4.1 MoofBox

2.2.4.2 MfhdBox2.2.4.2 MfhdBox

2.2.4.3 TrafBox2.2.4.3 TrafBox

2.2.4.4 TfxdBox2.2.4.4 TfxdBox

TfxdBox 已弃用,其功能已被 [ISO/IEC 14496-12] 第 8.8.12 节中指定的轨迹片段解码时间框(“tfdt”)取代。The TfxdBox is deprecated, and its function replaced by the Track Fragment Decode Time Box (‘tfdt’) specified in [ISO/IEC 14496-12] section 8.8.12.

注意:客户端可以通过将轨迹运行框(“trun”)中列出的样本持续时间相加,或者将样本数量乘以默认样本持续时间,来计算片段的持续时间。Note: A client may calculate the duration of a fragment by summing the sample durations listed in the Track Run Box (‘trun’) or multiplying the number of samples times the default sample duration. 将“tfdt”中的 baseMediaDecodeTime 加上片段持续时间等于下一个片段的 URL 时间参数。The baseMediaDecodeTime in ‘tfdt’ plus fragment duration equals the URL time parameter for the next fragment.

应该根据 [ISO/IEC 14496-12] 第 8.16.5 节中的指定,视需要在电影片段框(“moof”)的前面插入生成器引用时间框(“prft”),表示电影片段框引用的第一个样本的轨迹片段解码时间对应的 UTC 时间。A Producer Reference Time Box (‘prft’) SHOULD be inserted prior to a Movie Fragment Box (‘moof’) as needed, to indicate the UTC time corresponding to the Track Fragment Decode Time of the first sample referenced by the Movie Fragment Box, as specified in [ISO/IEC 14496-12] section 8.16.5.

2.2.4.5 TfrfBox2.2.4.5 TfrfBox

TfrfBox 已弃用,其功能已被 [ISO/IEC 14496-12] 第 8.8.12 节中指定的轨迹片段解码时间框(“tfdt”)取代。The TfrfBox is deprecated, and its function replaced by the Track Fragment Decode Time Box (‘tfdt’) specified in [ISO/IEC 14496-12] section 8.8.12.

注意:客户端可以通过将轨迹运行框(“trun”)中列出的样本持续时间相加,或者将样本数量乘以默认样本持续时间,来计算片段的持续时间。Note: A client may calculate the duration of a fragment by summing the sample durations listed in the Track Run Box (‘trun’) or multiplying the number of samples times the default sample duration. 将“tfdt”中的 baseMediaDecodeTime 加上片段持续时间等于下一个片段的 URL 时间参数。The baseMediaDecodeTime in ‘tfdt’ plus fragment duration equals the URL time parameter for the next fragment. 预提地址已被弃用,因为它们会延迟实时传送视频流。Look ahead addresses are deprecated because they delay live streaming.

2.2.4.6 TfhdBox2.2.4.6 TfhdBox

TfhdBox 和相关字段根据片段中的样本元数据封装默认值。The TfhdBox and related fields encapsulate defaults for per sample metadata in the fragment. TfhdBox 字段的语法是 [ISO/IEC-14496-12] 第 8.8.7 节中定义的轨迹片段标头框的语法的严格子集。The syntax of the TfhdBox field is a strict subset of the syntax of the Track Fragment Header Box defined in [ISO/IEC-14496-12] section 8.8.7.

BaseDataOffset(8 字节):MdatBox 字段开始位置到 MdatBox 字段中样本字段的偏移量,以字节表示。BaseDataOffset (8 bytes): The offset, in bytes, from the beginning of the MdatBox field to the sample field in the MdatBox field. 若要告知此限制,必须设置 default-base-is-moof 标志 (0x020000)。To signal this restriction, the default-base-is-moof flag (0x020000) must be set.

2.2.4.7 TrunBox2.2.4.7 TrunBox

TrunBox 和相关字段根据请求片段的样本元数据封装。The TrunBox and related fields encapsulate per sample metadata for the requested fragment. TrunBox 的语法是 [ISO/IEC 14496-12] 第 8.8.8 节中定义的版本 1 轨迹片段运行框的严格子集。The syntax of TrunBox is a strict subset of the Version 1 Track Fragment Run Box defined in [ISO/IEC-14496-12] section 8.8.8.

SampleCompositionTimeOffset(4 字节): 每个样本的样本构图时间偏移量经过调整,使片段中第一个呈现的样本的呈现时间等于第一个解码样本的解码时间。SampleCompositionTimeOffset (4 bytes): The Sample Composition Time offset of each sample adjusted so that the presentation time of the first presented sample in the fragment is equal to the decode time of the first decoded sample. 应该根据Negative video sample composition offsets SHALL be used,

[ISO/IEC-14496-12] 中的定义,使用负值视频样本构图偏移量。as defined in [ISO/IEC-14496-12].

注意:这可以避免视频滞后音频等于最大解码图片缓冲消除延迟所造成的视频同步错误,并保持可能具有不同消除延迟的备用片段之间的呈现计时。Note: This avoids a video synchronization error caused by video lagging audio equal to the largest decoded picture buffer removal delay, and maintains presentation timing between alternative fragments that may have different removal delays.

本节中定义的字段语法(符合 ABNF [RFC5234] 中的指定)保持不变,但以下各项例外:The syntax of the fields defined in this section, specified in ABNF [RFC5234], remains the same, except as follows:

SampleCompositionTimeOffset = SIGNED_INT32SampleCompositionTimeOffset = SIGNED_INT32

2.2.4.8 MdatBox2.2.4.8 MdatBox

2.2.4.9 片段响应通用字段2.2.4.9 Fragment Response Common Fields

2.2.5 稀疏流指针2.2.5 Sparse Stream Pointer

2.2.6 片段目前不可用2.2.6 Fragment Not Yet Available

2.2.7 实时引入2.2.7 Live Ingest

2.2.7.1 FileType2.2.7.1 FileType

FileType(变量): 指定 MPEG-4 ([MPEG4-RA]) 文件的子类型和目标用途,以及高级属性。FileType (variable): specifies the subtype and intended use of the MPEG-4 ([MPEG4-RA]) file, and high-level attributes.

MajorBrand(变量): 媒体文件的主要品牌。MajorBrand (variable): The major brand of the media file. 必须设置为“isml”。MUST be set to "isml."

MinorVersion(变量): 媒体文件的次要版本。MinorVersion (variable): The minor version of the media file. 必须设置为 1。MUST be set to 1.

CompatibleBrands(变量): 指定支持的 MPEG-4 品牌。CompatibleBrands (variable): Specifies the supported brands of MPEG-4. 必须包含“ccff”和“iso8”。MUST include "ccff" and "iso8."

本节中定义的字段语法(符合 ABNF [RFC5234] 中的指定)如下:The syntax of the fields defined in this section, specified in ABNF [RFC5234], is as follows:

FileType = MajorBrand MinorVersion CompatibleBrands
MajorBrand = STRING_UINT32
MinorVersion = STRING_UINT32
CompatibleBrands = "ccff" "iso8" 0\*(STRING_UINT32)

注意:兼容性品牌“ccff”和“iso8”指示片段符合“通用容器文件格式”、通用加密 [ISO/IEC 23001-7] 和 ISO 基本媒体文件格式版本 4 [ISO/IEC 14496-12]。Note: The compatibility brands ‘ccff’ and ‘iso8’ indicate that fragments conform to “Common Container File Format” and Common Encryption [ISO/IEC 23001-7] and ISO Base Media File Format Edition 4 [ISO/IEC 14496-12].

2.2.7.2 StreamManifestBox2.2.7.2 StreamManifestBox

2.2.7.2.1 StreamSMIL2.2.7.2.1 StreamSMIL

2.2.7.3 LiveServerManifestBox2.2.7.3 LiveServerManifestBox

2.2.7.3.1 LiveSMIL2.2.7.3.1 LiveSMIL

2.2.7.4 MoovBox2.2.7.4 MoovBox

2.2.7.5 Fragment2.2.7.5 Fragment

2.2.7.5.1 轨迹片段扩展标头2.2.7.5.1 Track Fragment Extended Header

2.2.8 服务器到服务器的引入2.2.8 Server-to-Server Ingest

3 协议详细信息3 Protocol Details

3.1 客户端详细信息3.1 Client Details

3.1.1 抽象化数据模型3.1.1 Abstract Data Model

3.1.1.1 呈现内容说明3.1.1.1 Presentation Description

“呈现说明”数据元素封装呈现内容的所有元数据。The Presentation Description data element encapsulates all metadata for the presentation.

呈现元数据:呈现内容中所有流通用的一组元数据。Presentation Metadata: A set of metadata that is common to all streams in the presentation. 呈现内容元数据包括第 2.2.2.1 节中指定的以下字段:Presentation Metadata comprises the following fields, specified in section 2.2.2.1:

  • MajorVersionMajorVersion

  • MinorVersionMinorVersion

  • TimeScaleTimeScale

  • 持续时间Duration

  • IsLiveIsLive

  • LookaheadCountLookaheadCount

  • DVRWindowLengthDVRWindowLength

    包含 HEVC 流的呈现内容应该设置:Presentations containing HEVC Streams SHALL set:

MajorVersion = 2
MinorVersion = 2

LookaheadCount = 0(注意:框已弃用)LookaheadCount = 0 (Note: Boxes deprecated)

呈现内容还应设置:Presentations SHOULD also set:

TimeScale = 90000

流集合:根据第 3.1.1.1.2 节指定的“流说明”数据元素集合。Stream Collection: A collection of Stream Description data elements, as specified in section 3.1.1.1.2.

保护说明:根据第 3.1.1.1.1 节指定的“保护系统元数据说明”数据元素集合。Protection Description: A collection of Protection System Metadata Description data elements, as specified in section 3.1.1.1.1.

3.1.1.1.1 保护系统元数据说明3.1.1.1.1 Protection System Metadata Description

“保护系统元数据说明”数据元素封装特定于单个内容保护系统的元数据。The Protection System Metadata Description data element encapsulates metadata specific to a single Content Protection System. (未更改)(No Change)

保护标头说明:与单个内容保护系统相关的内容保护元数据。Protection Header Description: Content protection metadata that pertains to a single Content Protection System. 保护标头说明包括第 2.2.2.2 节中指定的以下字段:Protection Header Description comprises the following fields, specified in section 2.2.2.2:

  • SystemIDSystemID
  • ProtectionHeaderContentProtectionHeaderContent
3.1.1.1.2 流说明3.1.1.1.2 Stream Description
3.1.1.1.2.1 轨迹说明3.1.1.1.2.1 Track Description
3.1.1.1.2.1.1 自定义属性说明3.1.1.1.2.1.1 Custom Attribute Description
3.1.1.3 片段引用说明3.1.1.3 Fragment Reference Description
3.1.1.3.1 轨迹特定的片段引用说明3.1.1.3.1 Track-Specific Fragment Reference Description

3.1.1.2 片段说明3.1.1.2 Fragment Description

3.1.1.2.1 样本说明3.1.1.2.1 Sample Description

3.1.2 计时器3.1.2 Timers

3.1.3 初始化3.1.3 Initialization

3.1.4 较高层触发的事件3.1.4 Higher-Layer Triggered Events

3.1.4.1 开放式呈现内容3.1.4.1 Open Presentation

3.1.4.2 获取片段3.1.4.2 Get Fragment

3.1.4.3 闭合式呈现内容3.1.4.3 Close Presentation

3.1.5 事件处理和规则定序3.1.5 Processing Events and Sequencing Rules

3.1.5.1 清单请求和清单响应3.1.5.1 Manifest Request and Manifest Response

3.1.5.2 片段请求和片段响应3.1.5.2 Fragment Request and Fragment Response

3.2 服务器详细信息3.2 Server Details

3.3 实时编码器详细信息3.3 Live Encoder Details

4 协议示例4 Protocol Examples

5 安全性5 Security

5.1 实现者的安全注意事项5.1 Security Considerations for Implementers

如果使用此协议传输的内容具有较高的商业价值,则应使用内容保护系统来防止未经授权使用内容。If the content transported using this protocol has high commercial value, a Content Protection System should be used to prevent unauthorized use of the content. 可以使用 ProtectionElement 来承载与内容保护系统的用法相关的元数据。The ProtectionElement can be used to carry metadata related to the use of a Content Protection System. 应该根据 MPEG 通用加密第二版:2015 [ISO/IEC 23001-7] 中的指定加密受保护的音频和视频内容。Protected audio and video content SHALL be encrypted as specified by MPEG Common Encryption Second Edition: 2015 [ISO/IEC 23001-7].

注意:对于 HEVC 视频,只会加密 VCL NAL 中的切片数据。Note: For HEVC video, only slice data in VCL NALs is encrypted. 在解密之前,呈现应用程序可以访问切片标头和其他 NAL。Slice headers and other NALs are accessible to presentation applications prior to decryption. 呈现应用程序无法使用安全视频路径的加密信息。in a secure video path, encrypted information is not available to presentation applications.

5.2 安全参数的索引5.2 Index of Security Parameters

安全参数Security parameter Section
ProtectionElementProtectionElement 2.2.2.22.2.2.2
通用加密框Common Encryption Boxes [ISO/IEC 23001-7][ISO/IEC 23001-7]

5.3 通用加密框5.3 Common Encryption Boxes

如果已应用通用加密并且在 [ISO/IEC 23001-7] 或 [ISO/IEC 14496-12] 中指定了片段响应,则可以在片段响应中呈现以下框:The following boxes may be present in fragment responses when Common Encryption is applied, and are specified in [ISO/IEC 23001-7] or [ISO/IEC 14496-12]:

  1. 保护系统特定的标头框(“pssh”)Protection System Specific Header Box (‘pssh’)

  2. 样本加密框(“senc”)Sample Encryption Box (‘senc’)

  3. 样本辅助信息偏移量框(“saio”)Sample Auxiliary Information Offset Box (‘saio’)

  4. 样本辅助信息大小框(“saiz”)Sample Auxiliary Information Size Box (‘saiz’)

  5. 样本组说明框(“sgpd”)Sample Group Description Box (‘sgpd’)

  6. 要分组的样本框(“sbgp”)Sample to Group Box (‘sbgp’)


媒体服务学习路径Media Services learning paths

媒体服务 v3(最新版本)Media Services v3 (latest)

查看最新版本的 Azure 媒体服务!Check out the latest version of Azure Media Services!

媒体服务 v2(旧版)Media Services v2 (legacy)