ffplayコンパイルのための追記事項

ffmpegコンパイルガイドはffplayをビルドしない設定になっている。本ブログエントリはffplayを合わせてビルドする際の追記である。(最終更新日:2024.11.13)

  1. ディスクイメージのマウント
    始めにffmpegコンパイルガイドで作成したディスクイメージをマウントする。ダブルクリックでも良いが、hdiutilコマンドを用いても良い。

    hdiutil attach /Path/To/ffmpeg_compile.sparsebundle/
  2. 環境変数の登録

    export VOLNAME=ffmpeg_compile
    export TARGET="/Volumes/${VOLNAME}"
    export SRC="${TARGET}/src"
    export CMPL="${TARGET}/compile"
    export PKG_CONFIG_PATH="${TARGET}/lib/pkgconfig"
    export LIBTOOL=`which glibtool`
    export LIBTOOLIZE=`which glibtoolize`
    export PATH=${TARGET}/bin:${PATH}
    #macOS Ctalina以降向け
    export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
  3. SDLのコンパイルとインストール

    cd ${SRC}
    rm SDL2-*
    curl -LO https://github.com/libsdl-org/SDL/releases/download/release-2.30.9/SDL2-2.30.9.tar.gz
    cd ${CMPL}
    rm -fr SDL2-*
    tar xf ${SRC}/SDL2-2.30.9.tar.gz
    cd SDL2-2.30.9
    ./configure --prefix=${TARGET} --disable-shared
    make && make install
  4. ffplayを含めたffmpegのコンパイル。

    新規インストールの場合

    cd ${CMPL}
    git clone git://source.ffmpeg.org/ffmpeg.git
    cd ffmpeg

    更新インストールの場合

    cd ${CMPL}/ffmpeg
    git pull
    make clean

    configureがライブラリを正しく見つけられるように、ターミナル.appで以下のコマンドを実行する。

    export LDFLAGS="-L${TARGET}/lib -lc++ -Wl,-rpath,/usr/local/lib"
    export CFLAGS="-I${TARGET}/include -lstdc++"

    configureオプション(共通)

    ./configure --prefix=${TARGET} --pkg-config-flags=--static --enable-gpl --enable-version3 --enable-nonfree \
    --enable-libmp3lame --enable-libfdk-aac --enable-libvo-amrwbenc \
    --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvorbis --enable-libspeex \
    --enable-libopus --enable-libgsm --enable-libtwolame --enable-libsoxr \
    --enable-libmodplug --enable-libopenjpeg --enable-libwebp \
    --enable-libtheora --enable-libx264 --enable-libopenh264 --enable-libx265 \
    --enable-libxvid --enable-libvpx --enable-libxavs \
    --enable-libfreetype --enable-libharfbuzz --enable-fontconfig --enable-libfribidi \
    --enable-libass --enable-libbluray --enable-libvidstab \
    --enable-libsnappy --enable-libzmq --enable-libzvbi \
    --enable-libzimg --enable-libaom --enable-libdav1d --enable-libmysofa \
    --enable-librubberband --enable-libshine \
    --enable-libvmaf --enable-libsvtav1 --enable-libxml2 \
    --enable-libplacebo

    configureが成功したら、ターミナル.appで以下のコマンドを実行する。

    make && make install
    cd ${TARGET}/bin
    sudo cp -p ffmpeg ffprobe ffplay /usr/local/bin

以上である。

改訂履歴
2015.02.09 ffmpegコンパイルガイド改訂に伴う修正反映
2015.02.10 ffmpegコンパイルガイド改訂に伴う修正反映
2015.06.08 ffmpegコンパイルガイドに沿い、ffmpegコンパイルを新規と更新に分けた。
2015.12.05 ffmpegコンパイルガイド改訂に伴う修正(gnutls/rtmp)反映
2016.01.27 ffmpegコンパイルガイド改訂に伴う修正(gnutls削除)反映
2016.02.23 El Capitanで表示される警告への対処。ffmpegコンパイルガイド改訂に伴う修正(vo-aacencのサポート中止)
2016.04.06 SDLコンパイル時にsrcディレクトリに展開していたのを修正
2016.04.19 ffmpegコンパイルガイド改訂に伴う修正(schroedinger/snappy/zeromq)反映
2016.09.05 ffmpegコンパイルガイド改訂に伴う修正(rtmp関連削除)反映
2016.11.11 ffplayでサポートされるSDLが1.x系から2.x系になったことによるSDLコンパイル手順変更
2017.03.21 ffmpegコンパイルガイド改訂に伴う修正(libzvbi追加)反映
2017.06.26 ffmpegコンパイルガイド改訂に伴う修正(schroedingerを廃止)反映
2017.09.17 ffmpegコンパイルガイド改訂に伴う修正(libcdioを追加)
2017.10.19 ffmpegコンパイルガイド改訂に伴う修正(libcdioに伴うffmpeg configureスクリプト修正を廃止)
2018.02.04 ffmpegコンパイルガイド改訂に伴う修正(ffserver廃止)
2018.04.09 ffmpegコンパイルガイド改訂に伴う修正(libzimgの追加)
2018.05.15 ffmpegコンパイルガイド改訂に伴う修正(libaom、libmysofa、librubberband、libshineの追加)
2018.10.10 SDLのバージョンアップ(2.0.5 → 2.0.8)(更新漏れ)
2018.10.17 PKG_CONFIG_PATH追加
2018.10.21 macOS Mojave対応として、SDL開発バージョンを採用
2018.11.13 ffmpegコンパイルガイド改訂に伴う修正(libxavs2、libdavs2の追加)
2019.01.23 ffmpegコンパイルガイド改訂に伴う修正(libdav1d追加)
2019.03.08 SDLのバージョンアップ(2.0.8 → 2.0.9)(macOS Mojaveの黒画面対策含む)
2019.07.04 ffmpegコンパイルガイド改訂に伴う修正(xavs廃止)
2019.09.12 ffmpegコンパイルガイド改訂に伴う修正(libvmafの追加)
2019.10.18 SDLのバージョンアップ(2.0.9 → 2.0.10)
2020.04.10 SDLのバージョンアップ(2.0.10 → 2.0.12)
2020.10.04 ffmpegコンパイルガイド改訂に伴う修正(libwavpackの廃止)
2021.02.12 SDLのバージョンアップ(2.0.12 → 2.0.14)
2021.08.19 SDLのバージョンアップ(2.0.14 → 2.0.16)
2021.12.31 SDLのバージョンアップ(2.0.16 → 2.0.18)
2022.02.05 SDLのバージョンアップ(2.0.18 → 2.0.20)
2022.02.05 ffmpegコンパイルガイド改訂に伴う修正(CFLAGS, LDFLAGSの変更)
2022.05.18 SDLのバージョンアップ(2.0.20 → 2.0.22)
2022.09.08 SDLのバージョンアップ(2.0.22 → 2.24.0)
2022.09.08 ffmpegコンパイルガイド改訂に伴う修正(–enable-libsvtav1の追加)
2022.10.16 SDLのバージョンアップ(2.24.0 → 2.24.1)
2022.11.15 SDLのバージョンアップ(2.24.1 → 2.24.2)
2022.12.18 SDLのバージョンアップ(2.24.2 → 2.26.1)
2023.01.19 SDLのバージョンアップ(2.26.1 → 2.26.2)
2023.02.20 SDLのバージョンアップ(2.26.2 → 2.26.3)
2023.03.20 SDLのバージョンアップ(2.26.3 → 2.26.4)
2023.04.25 SDLのバージョンアップ(2.26.4 → 2.26.5)
2023.04.25 ffmpegコンパイルガイド改訂に伴う修正(liibcdioの廃止)
2023.06.24 SDLのバージョンアップ(2.26.5 → 2.28.0)
2023.06.24 ffmpegコンパイルガイド改訂に伴う修正(xavs2/davs2の廃止)
2023.07.24 SDLのバージョンアップ(2.28.0 → 2.28.1)
2023.08.24 ffmpegコンパイルガイド改訂に伴う修正(xavsの復活)
2023.08.24 SDLのバージョンアップ(2.28.1 → 2.28.2)
2023.09.27 ffmpegコンパイルガイド改訂に伴う修正(libxml2追加)
2023.09.27 SDLのバージョンアップ(2.28.2 → 2.28.3)
2023.10.26 ffmpegコンパイルガイド改訂に伴う修正(libzeromq暫定削除)
2023.10.26 SDLのバージョンアップ(2.28.3 → 2.28.4)
2023.11.28 ffmpegコンパイルガイド改訂に伴う修正(libzeromq復活)
2023.11.28 SDLのバージョンアップ(2.28.4 → 2.28.5)
2024.01.27 ffmpegコンパイルガイド改訂に伴う修正(ffmpeg LDFLAGS修正)
2024.02.29 SDLのバージョンアップ(2.28.5 → 2.30.0)
2024.03.28 SDLのバージョンアップ(2.30.0 → 2.30.1)
2024.03.30 ffmpegコンパイルガイド改訂に伴う修正(libplacebo追加、ffmpeg LDFLAGS修正)
2024.05.01 SDLのバージョンアップ(2.30.1 → 2.30.2)
2024.05.31 SDLのバージョンアップ(2.30.2 → 2.30.3)
2024.07.05 SDLのバージョンアップ(2.30.3 → 2.30.5)
2024.07.05 ffmpegコンパイルガイド改訂に伴う修正(--enable-libharfbuzz追加)
2024.08.09 SDLのバージョンアップ(2.30.5 → 2.30.6)
2024.09.29 SDLのバージョンアップ(2.30.6 → 2.30.7)
2024.09.29 ffmpegコンパイルガイド改訂に伴う修正(ffmpegのLDFLAGSを修正 Xcode16対応。-ld_classicを削除)
2024.11.13 SDLのバージョンアップ(2.30.7 → 2.30.9)

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL