自分が使っているGPUがintel ARC A770 なので、まずはARC用のドライバをインストール。
#!/bin/bash
# IntelグラフィックスGPG公開キーをインストールする
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \
sudo gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics.gpg
# パッケージリポジトリを構成する
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \
sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
sudo apt update -y
sudo apt install -y libze1 intel-level-zero-gpu intel-opencl-icd clinfo libze-dev intel-ocloc intel-level-zero-gpu-raytracing
sudo usermod -aG render $USER
sudo usermod -aG video $USER
続いてffmpegのビルドとインストール。
#!/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 pkg-config
sudo apt -y install libva-dev #ビルドでVA-APIを有効化するのに必要
sudo apt install -y intel-media-va-driver-non-free #VA-APIでエンコードに必要
#ソフトウェアエンコードとAV1デコードに必要なライブラリのインストール--------------------------
sudo apt install -y libx264-dev
sudo apt install -y libx265-dev libnuma-dev
sudo apt install -y libdav1d-dev
#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-gpl
sudo make -j$(nproc)
sudo make install
以下は例文です。
ffmpeg -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf 'format=nv12,hwupload' -c:v av1_vaapi -b:v 3M -c:a copy output.mkv
「input.mp4」の部分はエンコードしたいファイル名。
「av1_vaapi」の部分は「hevc_vaapi」や「h264_vaapi」変えればエンコードの方法を変えることができます。
intelGPUならQSVがあるじゃないかというのは尤もです。
自分も普段はQSVを使っています。
ただ、こちらの方がインストールは簡単ですので一応紹介しました。
今回は以上です。
コメント