HEVC (H.265) WebCodecs 注册

W3C 小组说明草案,

关于本文档的更多详细信息
此版本:
https://www.w3.org/TR/2026/DNOTE-webcodecs-hevc-codec-registration-20260608/
最新发布版本:
https://www.w3.org/TR/webcodecs-hevc-codec-registration/
编辑草案:
https://w3c.github.io/webcodecs/hevc_codec_registration.html
先前版本:
历史:
https://www.w3.org/standards/history/webcodecs-hevc-codec-registration/
反馈:
GitHub
编辑:
Paul Adenot (Mozilla)
Eugene Zemtsov (Google LLC)
前任编辑:
Bernard Aboba (Microsoft Corporation)
Chris Cunningham (Google LLC)
参与:
Git 仓库。
提交 issue。
版本历史:
https://github.com/w3c/webcodecs/commits

摘要

此注册被录入到 [webcodecs-codec-registry] 中。 它描述了 HEVC (H.265) 的:(1) 完全限定的 编解码器字符串、 (2) 特定于编解码器的 EncodedVideoChunk [[internal data]] 字节、(3) VideoDecoderConfig.description 字节、 (4) EncodedVideoChunk [[type]] 的值,以及 (5) 对 VideoEncoderConfig 的特定于编解码器的扩展

此注册无意包含关于某种 编解码器格式是否受知识产权权利主张约束的任何信息。如果实现者和 作者打算实现或使用某种特定的编解码器格式,建议他们就此事项 寻求适当的法律顾问意见。WebCodecs 的实现者 无需支持 HEVC / H.265 编解码器。

此注册是非规范性的。

本文档状态

本节描述本文档在发布时的状态。当前 W3C 出版物列表以及此 技术报告的最新修订版可在 W3C 标准和草案索引中找到。

欢迎对此规范提供反馈和评论。 关于此规范的讨论首选使用 GitHub Issues。或者,你也可以将评论发送到 Media Working Group 的邮件列表:public-media-wg@w3.org归档)。 此草案突出显示了一些仍有待工作组讨论的待处理问题。 对于这些问题的结果,包括它们是否有效,尚未作出决定。

本文档由 Media Working Group 作为 小组说明草案发布,使用的是 说明 轨道

小组说明草案未获得 W3C 或其成员的认可。

这是草案文档,可能在任何时候被其他文档更新、取代或废弃。 不应将本文档作为进行中工作以外的内容来引用。

W3C 专利政策不会对此文档附带任何许可 要求或承诺。

本文档受 2025年8月18日 W3C 流程文档管辖。

1. 完全限定的编解码器字符串

编解码器字符串以 "hev1." 或 "hvc1." 前缀开头,并带有 四个以点分隔的字段组成的后缀,如 [iso14496-15] 第 E.3 节所述。

2. EncodedVideoChunk 数据

EncodedVideoChunk [[internal data]] 预期为 [ITU-T-REC-H.265] 第 7.4.2.4 节所定义的访问单元。

注: 访问单元恰好包含一张基础层编码图像。

如果比特流采用 hevc 格式, 则假定 [[internal data]] 为规范格式,如 [iso14496-15] 第 8.3.2 节所定义。

如果比特流采用 annexb 格式, 则假定 [[internal data]] 为 Annex B 格式, 如 [ITU-T-REC-H.265] Annex B 所定义。

注: 由于 [[internal data]] 本质上是字节对齐的, 因此实现不需要恢复字节对齐。

3. VideoDecoderConfig description

如果存在 description, 则假定它是 HEVCDecoderConfigurationRecord,如 [iso14496-15] 第 8.3.3.1 节所定义,并且假定比特流采用 hevc 格式。

注: 此格式通常用于 .MP4 文件,其中 播放器通常可以随机访问媒体数据。

如果不存在 description, 则假定比特流 采用 annexb 格式。

注: "annexb" 格式由 [ITU-T-REC-H.265] Annex B 更详细地描述。此格式通常用于直播应用,其中 定期包含 VPS、SPS 和 PPS 数据可让用户轻松地 从流的中间开始。

4. EncodedVideoChunk type

如果某个 EncodedVideoChunk[[type]]key, 且比特流采用 hevc 格式,那么该 EncodedVideoChunk 预期 包含作为瞬时解码刷新(IDR)、干净随机访问(CRA)或断链访问(BLA)图像的 基础层主编码图像。

注: 如果比特流采用 hevc 格式,则解码所需的参数集 包含在 VideoDecoderConfig.description 中。

如果某个 EncodedVideoChunk[[type]]key, 且比特流采用 annexb 格式,那么该 EncodedVideoChunk 预期 同时包含作为瞬时 解码刷新(IDR)、干净随机访问(CRA)或断链访问(BLA) 图像的基础层编码图像,以及解码 EncodedVideoChunk 中所有视频数据 NAL 单元所需的所有参数集。

5. VideoEncoderConfig 扩展

partial dictionary VideoEncoderConfig {
  HevcEncoderConfig hevc;
};

hevc, 类型为 HevcEncoderConfig
包含 HEVC (H.265) 编解码器的特定于编解码器的配置选项。

5.1. HevcEncoderConfig

dictionary HevcEncoderConfig {
  HevcBitstreamFormat format = "hevc";
};

format, 类型为 HevcBitstreamFormat,默认为 "hevc"
配置输出 EncodedVideoChunk 的格式。 参见 HevcBitstreamFormat

5.2. HevcBitstreamFormat

enum HevcBitstreamFormat {
  "annexb",
  "hevc",
};

HevcBitstreamFormat 决定 HEVC 参数集的位置,以及 打包比特流的机制。

annexb
参数集会周期性地包含在整个比特流中。

注: 此格式由 [ITU-T-REC-H.265] Annex B 更详细地描述。此格式通常用于直播应用, 其中定期包含参数集数据可让用户 轻松地从流的中间开始。

hevc
参数集不包含在比特流中,而是通过 [[output callback]] 作为 description 输出,即 EncodedVideoChunkMetadata.decoderConfig 的 description。

注: 此格式由 [iso14496-15] 第 8.3 节更详细地描述。此格式通常用于 .MP4 文件,其中 播放器通常可以随机访问媒体数据。

6. VideoEncoderEncodeOptions 扩展

partial dictionary VideoEncoderEncodeOptions {
  VideoEncoderEncodeOptionsForHevc hevc;
};

hevc, 类型为 VideoEncoderEncodeOptionsForHevc
包含 [ITU-T-REC-H.265] 编解码器的特定于编解码器的编码选项。

6.1. VideoEncoderEncodeOptionsForHevc

dictionary VideoEncoderEncodeOptionsForHevc {
  unsigned short? quantizer;
};

quantizer, 类型为 unsigned short,可为 null
设置每帧的量化器值。 在 [ITU-T-REC-H.265] 中,量化器阈值可以在 0 到 51 之间变化。

7. 隐私考量

请参阅 隐私 考量一节,见 [WEBCODECS]

8. 安全考量

请参阅 安全 考量一节,见 [WEBCODECS]

一致性

文档 约定

一致性要求通过 描述性断言 和 RFC 2119 术语的组合来表达。 规范性部分中的关键词 “MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、 “MAY” 和 “OPTIONAL” 应按 RFC 2119 中的描述解释。 但是,为了可读性, 这些词在本规范中并不全部以大写字母出现。

本规范的所有文本均为规范性文本, 但显式标记为非规范性的章节、示例和注除外。[RFC2119]

本规范中的示例以 “for example” 一词引入, 或通过 class="example" 与规范性文本分开设置, 如下所示:

这是一个信息性示例的例子。

信息性注以 “Note” 一词开头,并通过 class="note" 与规范性文本分开设置, 如下所示:

注,这是一个信息性注。

索引

由此 规范定义的术语

由 引用定义的术语

参考文献

规范性参考文献

[RFC2119]
S. Bradner. 用于在 RFC 中指示要求级别的关键词。1997年3月。最佳当前实践。URL: https://datatracker.ietf.org/doc/html/rfc2119
[WEBCODECS]
Paul Adenot; Eugene Zemtsov. WebCodecs。2026年5月5日。WD。URL: https://www.w3.org/TR/webcodecs/
[WEBIDL]
Edgar Chen; Timothy Gu. Web IDL Standard。现行标准。URL: https://webidl.spec.whatwg.org/

非规范性参考文献

[ISO14496-15]
ISO/IEC 14496-15:2024 信息技术 — 音视频对象编码 — 第 15 部分:在 ISO 基础媒体文件格式中承载网络抽象层(NAL)单元 结构化视频。2024年10月。URL: https://www.iso.org/standard/89118.html
[ITU-T-REC-H.265]
H.265:高效视频编码。2021年8月。URL: https://www.itu.int/rec/T-REC-H.265
[WEBCODECS-CODEC-REGISTRY]
Paul Adenot; Eugene Zemtsov. WebCodecs 编解码器 注册表。2026年2月12日。DRY。URL: https://www.w3.org/TR/webcodecs-codec-registry/

IDL 索引

partial dictionary VideoEncoderConfig {
  HevcEncoderConfig hevc;
};


dictionary HevcEncoderConfig {
  HevcBitstreamFormat format = "hevc";
};


enum HevcBitstreamFormat {
  "annexb",
  "hevc",
};


partial dictionary VideoEncoderEncodeOptions {
  VideoEncoderEncodeOptionsForHevc hevc;
};


dictionary VideoEncoderEncodeOptionsForHevc {
  unsigned short? quantizer;
};