跳转到内容

WebCodecs API 浏览器支持

发布于

WebCodecs API 通过 VideoEncoder、VideoDecoder、AudioEncoder 与 AudioDecoder,让 Web App 以底层、硬件加速的方式编码和解码单个视频帧与音频块。

下表覆盖核心的编码器与解码器接口,数据来自 MDN browser-compat-data;各行取自 AudioDecoder 条目,脚注有注明。Firefox 130 在桌面端加入了 VideoDecoder,但没有扩展到 Firefox for Android。

  • 图例
  • 支持
  • 部分支持
  • 需开启标志
  • 不支持
  • 未知
浏览器 / 平台支持版本置信度来源备注
Chrome (Desktop)支持94高来源1
Chrome (Android)支持94高来源23
Edge (Desktop)支持94高来源45
Firefox (Desktop)支持130高来源6
Firefox (Android)不支持—高来源78
Safari (macOS)支持16.4高来源9
Safari (iOS)支持16.4高来源1011
Samsung Internet支持17.0高来源1213
WebView (Android)支持94高来源1415
Chrome (Desktop)支持94高来源16
Chrome (Android)支持94高来源1718
Edge (Desktop)支持94高来源1920
Firefox (Desktop)支持130高来源21
Firefox (Android)不支持—高来源2223
Safari (macOS)支持26高来源24
Safari (iOS)支持26高来源2526
Samsung Internet支持17.0高来源2728
WebView (Android)支持94高来源2930
  1. 对应 `VideoDecoder` 条目。
  2. 对应 `VideoDecoder` 条目。
  3. 由 browser-compat-data 镜像自 Chrome 的数据推导。
  4. 对应 `VideoDecoder` 条目。
  5. 由 browser-compat-data 镜像自 Chrome 的数据推导。
  6. 对应 `VideoDecoder` 条目。
  7. 对应 `VideoDecoder` 条目。
  8. browser-compat-data 未记录 Firefox for Android 的支持。
  9. 对应 `VideoDecoder` 条目。
  10. 对应 `VideoDecoder` 条目。
  11. 由 browser-compat-data 镜像自 Safari 的数据推导。
  12. 对应 `VideoDecoder` 条目。
  13. 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
  14. 对应 `VideoDecoder` 条目。
  15. 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
  16. 对应 `AudioDecoder` 条目。
  17. 对应 `AudioDecoder` 条目。
  18. 由 browser-compat-data 镜像自 Chrome 的数据推导。
  19. 对应 `AudioDecoder` 条目。
  20. 由 browser-compat-data 镜像自 Chrome 的数据推导。
  21. 对应 `AudioDecoder` 条目。
  22. 对应 `AudioDecoder` 条目。
  23. browser-compat-data 未记录 Firefox for Android 的支持。
  24. 对应 `AudioDecoder` 条目。
  25. 对应 `AudioDecoder` 条目。
  26. 由 browser-compat-data 镜像自 Safari 的数据推导。
  27. 对应 `AudioDecoder` 条目。
  28. 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
  29. 对应 `AudioDecoder` 条目。
  30. 由 browser-compat-data 镜像自 Chrome Android 的数据推导。

源数据: /compatibility/webcodecs.json · 全球使用占比: 92 % (StatCounter 2026-05)

来源: 规范 · MDN · 最近核验 2026-10-03 · 置信度: 高 (由来源计算)

VideoFrame 与 AudioData 对象对其媒体资源做引用计数,因此页面用完每一个对象后应立即调用 close();等待垃圾回收来回收解码器输出的帧可能让后续解码停滞。不受支持或无效的编解码器字符串不会让 configure() 返回被拒绝的 promise:解码器会被关闭并向 error 回调投递 NotSupportedError,配置未通过校验时则同步抛出 TypeError,因此必须传入源媒体实际使用的完整编解码器字符串。