以前この記事で、Ubuntu + Intel ARCでffmpegを使う記事を書きました。
今回はUbuntu + Radeonの記事です。
RadeonといえばAMFでしょ!と、以前は自分も思っていました。
最近はAMDもAMFはあまり積極的では無いようで。
なので、VAAPI版です。
#!/bin/bash
#ffmpegのビルドに必要なライブラリのインストール-----------------------------------------
sudo apt -y update
sudo apt -y upgrade
sudo apt -y install yasm
sudo apt -y install nasm
sudo apt -y install cmake
sudo apt -y install git
sudo apt -y install clang
sudo apt -y install pkg-config
sudo apt -y install build-essential #SVT-AV1のビルドで必要
sudo apt -y install libva-dev #ビルドでVA-APIを有効化するのに必要
#ソフトウェアエンコードとAV1デコードに必要なライブラリのインストール--------------------------
sudo apt install -y libx264-dev
sudo apt install -y libx265-dev libnuma-dev
sudo apt install -y libdav1d-dev #AV1のデコードで必要
#SVT-AV1のインストール-----------------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git
cd SVT-AV1
#git checkout v2.2.1 #最新版がビルドできなかった時にコメントアウト
cd Build/linux
export CC="clang"
export CXX="clang++"
./build.sh release
sudo ./build.sh install # インストールだけsudo
#ffmpegのダウンロード、インストール--------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libsvtav1 --enable-vaapi --enable-gpl
sudo make -j$(nproc)
sudo make install
if grep -qxF "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" "$HOME/.profile"; then
echo "設定はすでに .profile に存在しています。"
else
echo "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" >> "$HOME/.profile"
echo "再起動してください"
fi
基本的には以前の記事とほぼ同じです。
sudo apt -y install intel-media-va-driver-non-free #VA-APIでエンコードに必要(intelGPUのみ)
という部分がなくなっているだけです。
以上で今回の記事は終わりですが、一応以前自分が使っていたAMF導入スクリプトを下に残しておきます。
一応AMF導入
amdgpuをamf付きでインストール。
sudo amdgpu-install --usecase=amf
もしこの時、「E: パッケージ amf-amdgpu-pro が見つかりません」と表示されるなら、現在登録されているリポジトリには「amf」は含まれていないということになります。

「amdgpu-install_6.4.60403-1_all.deb」や「amdgpu-install_6.4.60404-1_all.deb」には入っていました。
もし、それらのリポジトリを登録していたら、


sudo apt update
sudo amdgpu-install --usecase=amf
を実行して、

そうしたならば、今度は以下のように実行します。
#!/bin/bash
#ffmpegのビルドに必要なライブラリのインストール-----------------------------------------
sudo apt -y update
sudo apt -y upgrade
sudo apt -y install clang
sudo apt -y install yasm
sudo apt -y install nasm
sudo apt -y install cmake
sudo apt -y install git
sudo apt -y install pkg-config
sudo apt -y install build-essential #SVT-AV1のビルドで必要になる
sudo apt -y install libva-dev
#ソフトウェアエンコーダ、AV1デコーダ----------------------------------------------------------
sudo apt update
sudo apt install -y libx264-dev
sudo apt install -y libx265-dev libnuma-dev
sudo apt install -y libdav1d-dev
#SVT-AV1のインストール-------------------------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git
cd SVT-AV1/Build/linux
export CC="clang"
export CXX="clang++"
./build.sh release
sudo ./build.sh install # インストールだけsudo
#amfのダウンロード、インストール---------------------------------------------------------------
#amfを使う場合は、amdgpuをamf付きで先にインストールすること
cd ~
mkdir -p install
cd install
git clone https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git
cd AMF/amf/public/include
sudo mkdir /usr/local/include/AMF
sudo cp -r ./* /usr/local/include/AMF/
#ffmpegのダウンロード、インストール-----------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libsvtav1 --enable-amf --enable-shared --enable-pic --enable-gpl
sudo make -j$(nproc)
sudo make install
if grep -qxF "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" "$HOME/.profile"; then
echo "設定はすでに .profile に存在しています。"
else
echo "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" >> "$HOME/.profile"
echo "再起動してください"
fi
一度再起動したのち、「ffmpeg -encoders | grep amf」を実行すると、

ffmpeg -i input.mp4 -map 0:0 -header_insertion_mode gop -c:v av1_amf -quality high_quality -b:v 3M -pix_fmt yuv420p output.mp4
といった具合でコマンド入力すれば、


というわけで、AMF導入方法でした。
今回は以上です。
コメント