Windows用のFFmpegをビルドするためのスクリプトです。
Windows Subsystem for Linuxのインストール
こちらの記事を参考にしてください。
Ubuntu 18.04 LTSで説明します。
ffmpeg-windows-build-helpersのダウンロード
Ubuntuを起動して以下のコマンドを実行します。
git clone https://github.com/rdp/ffmpeg-windows-build-helpers.git cd ffmpeg-windows-build-helpers
必要なパッケージのインストール
スクリプトを実行します。
./cross_compile_ffmpeg.sh
以下のようなメッセージが表示されます。
Could not find the following execs (svn is actually package subversion, makeinfo is actually package texinfo, hg is actually package mercurial if you're missing them): libtoolize cmake python clang meson autogen gperf nasm unzip pax hg g++ makeinfo bison flex cvs yasm automake autoconf gcc svn make pkg-config ragel Install the missing packages before running this script. for ubuntu: $ sudo apt-get update $ sudo apt-get install subversion ragel curl texinfo g++ bison flex cvs yasm automake libtool autoconf gcc cmake git make pkg-config zlib1g-dev mercurial unzip pax nasm gperf autogen bzip2 autoconf-archive p7zip-full meson clang python3-distutils -y
sudoの行をコピーして実行します。
sudo apt-get update sudo apt-get install subversion ragel curl texinfo g++ bison flex cvs yasm automake libtool autoconf gcc cmake git make pkg-config zlib1g-dev mercurial unzip pax nasm gperf autogen bzip2 autoconf-archive p7zip-full meson clang python3-distutils -y
mesonのアップデート
スクリプトを実行します。
./cross_compile_ffmpeg.sh
以下のようなメッセージが表示されます。
your meson version is too old 0.45.1 wanted 0.49.2
以下のコマンドを実行します。
cd ~ git clone https://github.com/mesonbuild/meson.git cd meson cp meson.py meson echo 'export PATH=$HOME/meson:$PATH' >> ~/.bashrc source ~/.bashrc cd ~/ffmpeg-windows-build-helpers
binfmtの無効化
スクリプトを実行します。
./cross_compile_ffmpeg.sh
以下のようなメッセージが表示されます。
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の行をコピーして実行します。
sudo bash -c 'echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop'
ビルド
スクリプトを実行します。
./cross_compile_ffmpeg.sh
以下のようなメッセージが表示されます。
What version of MinGW-w64 would you like to build or update? 1. Both Win32 and Win64 2. Win32 (32-bit only) 3. Win64 (64-bit only) 4. Local native 5. Exit Input your choice [1-5]:
ビルドには非常に時間がかかるので2か3がおすすめです。
ファイルを取り出す
エクスプローラーで以下のフォルダを開きます。
\\wsl$\Ubuntu-18.04\home\ユーザー名\ffmpeg-windows-build-helpers\sandbox\win32かwin64\ffmpeg_git
ffmpeg.exe、ffplay.exe、ffprobe.exeを適当なフォルダにコピーします。
オプション
すべてのオプションは以下を実行すると表示されます。
./cross_compile_ffmpeg.sh -h
オプションは以下のようにスクリプト実行時に指定します。
./cross_compile_ffmpeg.sh --build-ffmpeg-shared=y
オプションを指定すると「ffmpeg_git_shared」のように出力フォルダ名が変わります。
Shared版のビルド
--build-ffmpeg-shared=y
ffmpeg_git_shared\bin に出力されます。
バージョンの指定
--ffmpeg-git-checkout-version=n4.3.1
nX.X.Xの形で指定します。
FDK AACを組み込む
--disable-nonfree=n
ライセンスの関係で再配布不可になります。
コメント