浏览器在其 WebCodecs 实现中不支持 Apple ProRes。此扩展包提供了一个解码器,可与 Mediabunny 配合使用,让您以前所未有的速度在浏览器中直接解码 ProRes。它基于 Mediabunny 的 自定义编码器 API 实现,并在底层使用了 TurboRes——一种极快的基于 WASM 的 ProRes 解码器。

GitHub 页面

安装 ​

此库与 Mediabunny 互为对等依赖。请使用 npm 同时安装两者:

npm install mediabunny @mediabunny/prores

或者,直接使用 script 标签引入:

<script src="mediabunny.js"></script>
<script src="mediabunny-prores.js"></script>

这将暴露全局对象 Mediabunny 和 MediabunnyProres。请使用 mediabunny-prores.d.ts 为这些全局变量提供类型定义。您可以从 发布页面 下载构建好的分发文件。

设置 ​

@mediabunny/prores 可以利用共享内存多线程以实现最佳性能。要在浏览器中启用此功能,您的网站必须通过设置以下响应头来实现跨域隔离:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

或者,您也可以使用:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: credentialless

这通常更加宽松,但 Safari(当然)并不支持。


如果您无法启用跨域隔离,@mediabunny/prores 将回退到较慢的多线程算法。

用法 ​

import { registerProresDecoder } from '@mediabunny/prores';

registerProresDecoder();

就这么简单——现在 Mediabunny 会自动使用已注册的 ProRes 解码器。