これまで紹介してきたffmpegのインストールパターンを全て含めてみます。
まずはintelGPUのドライバのインストール。
#!/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
次に、全部入りスクリプトを実行してインストール。
#!/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 build-essential #SVT-AV1のビルドで必要になる
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
sudo apt install -y libvpl-dev
#QSV関連のライブラリをインストールする
sudo apt install -y libmfxgen1
#SVT-AV1のインストール-------------------------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git
cd SVT-AV1
cd Build
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
#intelVPLのインストール----------------------------------------------------------------------
sudo apt -y install automake #Makefileを自動生成するためのツール
sudo apt -y install autoconf #configureスクリプトを作成
sudo apt -y install libdrm-dev #グラフィックデバイスとの直接通信を可能にする低レベルライブラリ
cd ~
mkdir -p install
cd install
git clone https://github.com/intel/vpl-gpu-rt vpl-gpu-rt
cd vpl-gpu-rt
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
#ffmpegのダウンロード、インストール-----------------------------------------------------------
#export PKG_CONFIG_PATH="/opt/intel/mediasdk/lib/pkgconfig:$PKG_CONFIG_PATH"
cd ~
mkdir -p install
cd install
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
#export LD_LIBRARY_PATH="/usr/local/lib"
#export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
./configure --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libsvtav1 --enable-libvpl --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 -i input.mp4 -map 0:0 -c:v av1_qsv -b:v 3M -map 0:1 -c:a copy output.mkv
「input.mp4」のところはエンコードしたいファイル名を。
「output.mkv」のところは出力したときのファイル名を書きましょう。
拡張子はmp4でもmkvでも良いですが、対応している音声ファイルはmkv形式の方が多いと思います。
とりあえず、全部入りにしておくとエンコードの方法を変えたい時に柔軟に対応できるかと思います。
今回は以上です。
コメント