我想使用 VP9 编解码器实时编码 3D 渲染图像,以便通过网络发送它们。我需要小的延迟(理想情况下每个帧都应该单独编码),所以 FFMPEG 具有分离的发送和接收功能不是一个选项。我选择了 libvpx。
我实现了功能,但它提供了可怕的性能(在 1280x728 分辨率下 <1FPS,没有色度二次采样,位深度 8)。
现在的问题是,当我为这个特定的用例初始化编码器时,我不知道应该通过什么设置。
此外,即使我知道加速 VP9 的选项(例如“speed”和“row-mt”),它们是 VP9 特定的,我无法找到一种方法来调整那些使用 libvpx 的 API 的选项,即使在查看之后源代码。看起来它们所在的结构(例如 VP9EncoderConfig)并未以任何方式向用户公开。
TL;博士:
- 哪些编码器设置适合我的用例?
- 如果它们是特定于 VP9 的,如何将它们传递到 libvpx 中?