浏览器在其 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 解码器。