1. 完全限定的编解码器字符串
编解码器字符串以前缀 "avc1." 或 "avc3." 开始,后接一个 6 字符的后缀,分别如 [rfc6381] 第 3.4 节和 [iso14496-15] 第 5.4.1 节所述。
2. EncodedVideoChunk 数据
EncodedVideoChunk
[[internal data]]
预期为
一个访问单元,如 [ITU-T-REC-H.264] 第
7.4.1.2 节所定义。
注: 一个访问单元恰好包含一个主编码 图像。
如果比特流采用 avc
格式,
[[internal data]]
则假定为规范格式,如
[iso14496-15]
第 5.3.2 节所定义。
如果比特流采用 annexb
格式,
[[internal data]]
则假定为 Annex B 格式,
如 [ITU-T-REC-H.264] Annex B
所定义。
注: 由于 [[internal data]]
本身是按字节对齐的,
实现无需恢复字节对齐。
3. VideoDecoderConfig 描述
如果存在 description,
则假定它是一个
AVCDecoderConfigurationRecord,如 [iso14496-15]
第
5.3.3.1 节所定义,并且比特流假定为 avc
格式。
注: 此格式常用于 .MP4 文件,在这种文件中, 播放器通常 可以随机访问媒体数据。
如果不存在 description,
则比特流假定为
annexb
格式。
注: "annexb" 格式由 [ITU-T-REC-H.264] Annex B 更详细地描述。此格式常用于直播应用,其中 周期性地包含 SPS 和 PPS 数据,使用户能够轻松地 从流的中间开始。
4. EncodedVideoChunk 类型
如果一个 EncodedVideoChunk
的
[[type]]
为
key,
并且比特流采用
avc
格式,则该 EncodedVideoChunk
预期会
包含一个作为即时解码刷新(IDR)
图像的主编码图像。
注: 如果比特流采用 avc
格式,则解码所需的参数集
包含在
VideoDecoderConfig.description
中。
如果一个 EncodedVideoChunk
的
[[type]]
为
key,
并且比特流采用
annexb
格式,则该 EncodedVideoChunk
预期
包含一个作为即时解码
刷新(IDR)图像的主编码图像,以及解码该 EncodedVideoChunk
中所有视频数据
NAL 单元所需的所有参数集。
5. VideoEncoderConfig 扩展
partial dictionary VideoEncoderConfig {AvcEncoderConfig avc ; };
avc, 类型为 AvcEncoderConfig- 包含 AVC (H.264) 编解码器的编解码器特定配置选项。
5.1. AvcEncoderConfig
dictionary {AvcEncoderConfig AvcBitstreamFormat format = "avc"; };
format, 类型为 AvcBitstreamFormat,默认值为"avc"-
配置输出
EncodedVideoChunk的格式。 参见AvcBitstreamFormat。
5.2. AvcBitstreamFormat
enum {AvcBitstreamFormat "annexb" ,"avc" , };
AvcBitstreamFormat
决定 AVC 参数集的位置,以及
打包比特流的机制。
annexb-
SPS 和 PPS 数据会周期性地包含在整个比特流中。
注: 此格式由 [ITU-T-REC-H.264] Annex B 更详细地描述。此格式常用于直播应用, 其中周期性地包含 SPS 和 PPS 数据,使用户能够轻松地 从流的中间开始。
avc-
SPS 和 PPS 数据不会包含在比特流中,而是
通过
[[output callback]]作为VideoDecoderConfig.description发出,作为EncodedVideoChunkMetadata.decoderConfig的一部分。注: 此格式由 [iso14496-15] 第 5.3 节更详细地描述。此格式常用于 .MP4 文件,其中 播放器通常可以随机访问媒体数据。
6. VideoEncoderEncodeOptions 扩展
partial dictionary VideoEncoderEncodeOptions {VideoEncoderEncodeOptionsForAvc avc ; };
avc, 类型为 VideoEncoderEncodeOptionsForAvc- 包含 [ITU-T-REC-H.264] 编解码器的编解码器特定编码选项。
6.1. VideoEncoderEncodeOptionsForAvc
dictionary {VideoEncoderEncodeOptionsForAvc unsigned short ?quantizer ; };
quantizer, 类型为 unsigned short,可空- 设置逐帧量化器值。 在 [ITU-T-REC-H.264] 中, 量化器阈值可以从 0 变化到 51。
7. 隐私考量
请参阅 隐私 考量一节,见 [WEBCODECS]。
8. 安全考量
请参阅 安全 考量一节,见 [WEBCODECS]。