小智 15
我将提供适用于 Windows 和 Linux 的说明,因为您没有指明您使用的是哪个平台。使用适用于您的案例的这些说明。
如果您使用的是 Windows,则可以通过 AMF 访问相关的编码器,命名为h264_amf和hevc_amf,其用法可以通过以下方式查看:
ffmpeg -h encoder=h264_amf
ffmpeg -h encoder=hevc_amf
Run Code Online (Sandbox Code Playgroud)
您需要为 Windows 构建一个 FFmpeg 二进制文件,无论是本机的,还是推荐的,交叉编译。该项目是该主题的良好开端。
如果您使用交叉编译选项,请为具有您需要的功能的构建传递以下参数:
./cross_compile_ffmpeg.sh --gcc-cpu-count=12 --build-libmxf=n --disable-nonfree=n --prefer-stable=y --compiler-flavors=multi
Run Code Online (Sandbox Code Playgroud)
请注意,上面生成的构建是不可再分发的,仅供个人使用。
在 Linux 上,使用开源 mesa amdgpu 驱动程序(不是从 AMD 安装的专有包),您可以访问基于 VAAPI 的编码器,恰当地命名为 h264_vaapi 和 hevc_vaapi,其用法可以通过以下方式查看:
ffmpeg -h encoder=h264_vaapi
ffmpeg -h encoder=hevc_vaapi
Run Code Online (Sandbox Code Playgroud)
据我所知(如果我错了,请纠正我),VP8 和 VP9 编码不会通过 VAAPI 在 AMD 方面公开。您可以通过运行来确认这一点:
vainfo | grep Slice
Run Code Online (Sandbox Code Playgroud)
在您的系统上并确认支持哪些编码器。启用 VAAPI 的 FFmpeg 很可能是 Ubuntu 之类的默认设置。但是,如果需要,您也可以从源构建副本。请参阅FFmpeg Wiki 上的编译指南,并根据需要进行调整。您可能还会发现诸如this 之类的助手很有用。
基于 AMD AMF 的编码器有可能最终登陆 Linux,使用基于 Vulkan 的互操作。将此视为一项正在进行的工作。
| 归档时间: |
|
| 查看次数: |
26731 次 |
| 最近记录: |