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 |
- 对应 `VideoDecoder` 条目。
- 对应 `VideoDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 对应 `VideoDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 对应 `VideoDecoder` 条目。
- 对应 `VideoDecoder` 条目。
- browser-compat-data 未记录 Firefox for Android 的支持。
- 对应 `VideoDecoder` 条目。
- 对应 `VideoDecoder` 条目。
- 由 browser-compat-data 镜像自 Safari 的数据推导。
- 对应 `VideoDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 对应 `VideoDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 对应 `AudioDecoder` 条目。
- 对应 `AudioDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 对应 `AudioDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 对应 `AudioDecoder` 条目。
- 对应 `AudioDecoder` 条目。
- browser-compat-data 未记录 Firefox for Android 的支持。
- 对应 `AudioDecoder` 条目。
- 对应 `AudioDecoder` 条目。
- 由 browser-compat-data 镜像自 Safari 的数据推导。
- 对应 `AudioDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 对应 `AudioDecoder` 条目。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
资源与编解码器规则
Section titled “资源与编解码器规则”VideoFrame 与 AudioData 对象对其媒体资源做引用计数,因此页面用完每一个对象后应立即调用 close();等待垃圾回收来回收解码器输出的帧可能让后续解码停滞。不受支持或无效的编解码器字符串不会让 configure() 返回被拒绝的 promise:解码器会被关闭并向 error 回调投递 NotSupportedError,配置未通过校验时则同步抛出 TypeError,因此必须传入源媒体实际使用的完整编解码器字符串。
- WebCodecs:底层、硬件加速的音视频编解码
- WebCodecs(w3.org)
- WebCodecs API(developer.mozilla.org)