ffmpegでAV1のエンコードをしよう

以下は、AV1のソフトウェアエンコードを実行できるようにするためのビルドスクリプトです。

#!/bin/bash


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のビルドで必要

#AV1デコーダ----------------------------------------------------------

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
cd Build
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install

#ffmpegのダウンロード、インストール-----------------------------------------------------------
cd ~
mkdir -p install
cd install
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg

./configure --enable-libdav1d --enable-libsvtav1 --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

最後の部分は「.profile」に
「export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH」
というスクリプトを追記するという意味です。
もしすでに書き込まれている場合は
「設定はすでに .profile に存在しています。」
と出力されます。

通常は「再起動してください」と出力されますので、再起動しましょう。
再起動後は

ffmpeg -encoders | grep av1

で、「libsvtav1」が使えることを確認しましょう。
これでソフトウェアエンコードでAV1エンコードが使えるようになりました。

以下は例文です。

ffmpeg input.mp4 -map 0:0 -c:v libsvtav1 -b:v 2M -map 0:1 -c:a copy output.mkv

「input.mp4」のところはエンコードしたいファイル名を。
「output.mkv」のところは出力したときのファイル名を書きましょう。
拡張子はmp4でもmkvでも良いですが、対応している音声ファイルはmkv形式の方が多いと思います。

今回の記事は以上です。

コメント

タイトルとURLをコピーしました