2023-05-28 (Sun)

FFmpeg

Ubuntu 22.04 LTS で AV1 のハードウェアエンコードに対応した最新の FFmpeg 6.0 を使ってみようと思った。あちこちのサイトで紹介されている某 PPA は、運営者が欲を出して闇落ちしたらしく、寄付しないとダウンロードできない private PPA に移行したようだ。代わりに https://github.com/markus-perl/ffmpeg-build-script を使った。

依存関係は全部入れてくれるスクリプトというわけではないようで、Issue 171 にあるように libxexet-dev が必要だった。libsdl2-dev はなくてもコンパイルできるが、ffplayCould not initialize SDL というエラーを出してしまう。

NVENC を使うには Issue 187 のパッチが必要。それと、FFmpeg 6.0 をインストールしてるのに、-versionインストーラのバージョン 1.45 が表示されるという(無害な)バグがある。これは FFmpegソースコードを Git で管理されている build script フォルダ以下に展開してしまい、FFmpeg 本体ではなく build script のバージョンが拾われてしまうため。対応策を投稿しておいた。

これで、QSV や NVENC を使って h264, h265 エンコードができるようになったが、肝心の AV1 が対応リストに出てこない……。Raptor Lake CPU と RTX 4070 Laptop なので、どちらも対応しているはずなのだが。

読んだ