在 Ubuntu 20.04.5 上安装支持 AMF 的 FFMPEG

在 Ubuntu 20.04.5 上安装支持 AMF 的 FFMPEG

我在具有 AMD Radeon Pro V520 GPU 的 AWS g4ad 服务器实例上。我试图让我的 ffmpeg 在进行转换时使用 GPU,如下所示:

ffmpeg -i input.avi -c:v h264_amf output.mp4

当我安装普通的 ffmpeg 或使用 ppa:savoury1/ffmpeg4 中的 ffmpeg 时,它们没有启用 amf 编解码器(尽管 4.3 应该默认启用该代码)。我会收到此错误:

Unknown encoder 'h264_amf'

此外,不同的是从这里安装的: https://www.amd.com/en/support/linux-drivers

然后我尝试使用以下命令从源代码编译 ffmpeg:

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="$HOME/ffmpeg_build" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I$HOME/ffmpeg_build/include" \
      --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
      --extra-libs="-lpthread -lm" \
      --bindir="$HOME/bin" \
      --enable-libfdk-aac \
      --enable-gpl \
      --enable-libass \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libopus \
      --enable-libvorbis \
      --enable-libvpx \
      --enable-libx264 \
      --enable-libx265 \
      --enable-libtheora \
      --enable-openssl \
      --enable-amf \
      --enable-encoder=h264_amf \
      --enable-nonfree

但我得到了错误

ERROR: amf requested but not found

并且关于如何包含 AMF 的说明很模糊。

有人能提供一种让 FFMPEG 与 ffmpeg 协同工作的方法吗?

答案1

必须将 AMF repo 放在主文件夹中

cd ~/
git clone https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git
sudo mkdir /usr/local/include/AMF
cd /usr/local/include/AMF
sudo ln -sf ~/AMF/amf/public/include/core
sudo ln -sf ~/AMF/amf/public/include/components

[可选] 然后当你想更新和重建新版本时只需要

cd ~/AMF
git pull

然后尝试使用 --enable-amf 再次编译 ffmpeg

根据:

FFmpeg 可以使用 AMD 高级媒体框架库在具有视频编码引擎(VCE)的硬件上加速 H.264 和 HEVC(仅限 Windows)编码。

要启用支持,您必须从以下位置获取 AMF 框架头文件(版本 1.4.9+) https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git

在系统包含路径中创建一个 AMF/ 目录。将 AMF/amf/public/include/ 的内容复制到该目录中。然后使用 --enable-amf 配置 FFmpeg。

amf 编码器的初始化按以下顺序进行:1) 尝试通过 dx11 初始化(仅限 Windows)2) 尝试通过 dx9 初始化(仅限 Windows)3) 尝试通过 vulkan 初始化

要在 Linux 上使用 h.264(AMD VCE)编码器,需要 amdgru-pro 版本 19.20+ 和 amf-amdgpu-pro 包(amdgru-pro 包含,但不会自动安装)。

可以使用官方 amd 驱动程序档案中的 amdgpu-pro-install 脚本安装该驱动程序。

相关内容