我正在寻找使用 good-ol' FFmpeg
做一些浏览器内视频工作和锈。调用者与 ffmpeg 命令行交互的简单示例比比皆是。更复杂的例子更难找到。就我而言,我希望提取、处理和旋转离散帧。
Clipchamp对 WASM 和 FFmpeg
的使用令人印象深刻,但是下载的 WASM 文件 ( there's only one ) 不会向 wasm-nm
显示自己也不是 wasm-decompile
,都提示相同的操作码:
Unknown opcode 253
unexpected opcode: 0xfd 0x0
有没有人分享我如何(1)内省(introspection)正在使用的 WASM 模块或(2)更一般地建议我如何(最有可能使用 WASM 和 Rust)处理视频文件?
最佳答案
WASM 模块使用 SIMD 指令(以 0xfd
为前缀,也称为 vector instructions ),其中 were merged into the spec just last month .最新版本wasm-decompile
因此默认情况下还没有启用这些,但是 will in the next release .同时,您可以使用 --enable-simd
手动启用它们。命令行选项。此调用适用于我的最新版本:
./wasm-decompile --enable-simd ffmpeg_wasm_simd_c8f3841de02a8803b5e2618ed47cb70f.wasm
我还查看了 wasm-nm
,因为这对您的用例来说会更方便。可惜四年没更新了。它只是 parity-wasm
周围的薄包装但是,因此我尝试将其更新到最新版本,包括对 SIMD 和其他尚未标准化的指令集的支持。这编译得很好,但不幸的是仍然提示未知的操作码。在解决了这个问题后,由于意外的 EOF 而出错。所以我担心这个库有更多需要解决的基本问题。
关于ffmpeg - 如何列出此 WASM 模块中的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70454530/