4

我正在寻找使用 good-ol'FFmpeg和 Rust 做一些浏览器内视频工作。调用者与 ffmpeg 命令行交互的简单示例比比皆是。更复杂的例子更难找到。就我而言,我希望提取、处理和旋转离散帧。

Clipchamp令人印象深刻地使用了 WASM 和FFmpeg,但是下载的 WASM 文件(只有一个)不会向wasm-nmnor显示自己wasm-decompile,两者都抱怨相同的操作码:

有没有人分享我如何(1)内省正在使用的 WASM 模块或(2)更一般地建议我如何(最有可能使用 WASM 和 Rust)处理视频文件?

4

1 回答 1

3

WASM 模块使用 SIMD 指令(以 为前缀0xfd,也称为向量指令),上个月才合并到规范中。因此,最新版本wasm-decompile默认情况下还没有启用这些,但会在下一个版本中启用。--enable-simd同时,您可以使用命令行选项手动启用它们。此调用适用于我的最新版本:

./wasm-decompile --enable-simd ffmpeg_wasm_simd_c8f3841de02a8803b5e2618ed47cb70f.wasm

我还研究了wasm-nm,因为这对您的用例来说会更方便。可惜四年没更新了。然而,它只是一个薄包装parity-wasm,所以我尝试将其更新到最新版本,包括对 SIMD 和其他尚未标准化的指令集的支持。这编译得很好,但不幸的是仍然抱怨未知的操作码。在解决了这个问题后,由于意外的 EOF 而出错。所以我担心这个库有更多需要解决的基本问题。

于 2021-12-25T14:45:22.233 回答