FFmpeg 5.0をコンパイルしてみる。

ビデオファイルをいじったりエンコードしたり加工したりするのに必須なffmpegの5.0がリリースされたので、コンパイルしてみました。

記事はこちら。「FFmpeg 5.0」が公開 ~大規模なAPIの変更を実施した長期サポート(LTS)リリース

環境はWSL2上にインストールされたArchLinuxを使います。別にUbuntuとか他のディストロでも問題ないと思いますが、うちはArchしかないので…。

まず、ffmpeg-windows-build-helperをcloneします。

$ git clone https://github.com/rdp/ffmpeg-windows-build-helpers

そしたらそのディレクトリに移動します。

$ cd ffmpeg-windows-build-helpers

指定オプションの意味は、

$ ./cross_compile_ffmpeg.sh -h

すれば出てきます。英語のみですけど。

でもってビルドします。

$ ./cross_compile_ffmpeg.sh --build-ffmpeg-shared=y --ffmpeg-git-checkout-version=n5.0 --fdk-aac-git-checkout-version=v2.0.2 --gcc-cpu-count=8 --disable-nonfree=n --build-intel-qsv=y --build-lsw=y --compiler-flavors=win64

すると怒られます。

    windows WSL detected: you must first disable 'binfmt' by running this
        sudo bash -c 'echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop'
        then try again

言われたとおりにします。

$ sudo bash -c 'echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop'

再度ビルドします。

$ ./cross_compile_ffmpeg.sh --build-ffmpeg-shared=y --ffmpeg-git-checkout-version=n5.0 --fdk-aac-git-checkout-version=v2.0.2 --gcc-cpu-count=8 --disable-nonfree=n --build-intel-qsv=y --build-lsw=y --compiler-flavors=win64

しばらく待ちます。
また怒られます。
仕方ないので、cross_compile_ffmpeg.shを編集し、

    config_options+=--enable-libsvthevc

をコメントアウトして、--enable-libbluray --enable-fontconfig --enable-libfreetypeを削除します。たぶんこれは字幕に必要だからだと思いますが、うちでは不要なので問題なしです。
再度ビルドします。
また怒られました・・・QSV関係なので、これはコマンドラインオプションから--build-intel-qsv=yを削除します。

再度ビルドします。

すると、

  Done! You will find 64-bit shared non-redistributable binaries in
  /home/kats/work/ffmpeg-windows-build-helpers/sandbox/win64/ffmpeg_git_with_fdk_aac_n5.0_shared/bin
  

なので、次のようにしてアーカイブし、mntしてるWindowsのフォルダに放り込みます。

  $ cd /home/kats/work/ffmpeg-windows-build-helpers/sandbox/win64/ffmpeg_git_with_fdk_aac_n5.0_shared
  $ 7z a ffmpeg_with_fdk_aac_n5.0_share.7z bin doc include lib presets LICENSE.md README.md
  $ cp ffmpeg_with_fdk_aac_n5.0_share.7z /mnt/c/Users/kats/work
  

でもって、パスの通ったところに展開すれば完了です。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...