リード開発メモ

大阪のソフトウェア会社です。 技術的な事柄についてのメモとしてブログを始めます。

ffmpeg

Windowsでffmpegをビルドする(その6)

Windowsでffmpegをビルドする手順。5回目。

ffmpeg にライブラリを追加してビルドする。
今回はH.265(HEVC)エンコーダ x265。

ライセンスはGPL v2。
そのため、ffmpeg とリンクすると ffmpeg も GPL となってしまう。

x265 は cmake でビルドするため、まずは cmake をインストールする。

■ cmake

以下よりLatest ReleaseのWindows ZIPをダウンロードする。
https://cmake.org/download/

cmake-3.4.3-win32-x86.zip がダウンロードできた。
これをCドライブ直下などに解凍し、環境変数に bin へのパスを追加する。

■ x265_1.9

次に x265 をビルドする。

最新ソースは以下から。
http://x265.org/

x265 Licenses のリンクから、Wiki の Release tarballs を経て、
http://ftp.videolan.org/pub/videolan/x265/
より、最新版 x265_1.9.tar.gz をダウンロード。

これを msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\x265_1.9

以下のコマンドを実行し、ビルド、インストールを行う。
    cd x265_1.9/build/msys
    cmake -G "MSYS Makefiles" ../../source -DCMAKE_INSTALL_PREFIX=/mingw -DWINXP_SUPPORT=ON -DENABLE_TESTS=ON -DENABLE_SHARED=OFF -DENABLE_CLI=OFF \
            -DCMAKE_CXX_FLAGS_RELEASE="-static-libgcc -static-libstdc++ -static"
    make
    make install

■ ffmpeg-2.8.6

最後に ffmpeg をビルドする。
--enable-libx265 を追加した。
また configure  する前に環境変数 PKG_CONFIG_PATH を設定し、かつ --pkg-config-flags="--static" を追加した。

    cd ffmpeg-2.8.6
    export PKG_CONFIG_PATH="/mingw/lib/pkgconfig"
    ./configure --prefix=ffmpeg/ --enable-shared \
                --extra-libs=-static --extra-cflags=--static \
                --enable-gpl --enable-version3 --cpu=i686 --enable-static --enable-zlib --arch=x86 \
                --enable-libmp3lame --enable-libfreetype --enable-libx264 \
                --enable-libx265 --pkg-config-flags="--static"
    make

以上。

Windowsでffmpegをビルドする(その5)

Windowsでffmpegをビルドする手順。5回目。

ffmpeg にライブラリを追加してビルドする。
今回はH.264エンコーダ x264。

ライセンスはGPL。
そのため、ffmpeg とリンクすると ffmpeg も GPL となってしまう。

x264 をインストールする前に yasm を入れておく。
ちなみに yasm がない状態で x264 を configure すると以下のようなエラーとなる。
        Found no assembler
        Minimum version is yasm-1.2.0
        If you really want to compile without asm, configure with --disable-asm.

■ yasm-1.3.0

ライセンスは BSD(の修正版?)。

yasm は以下よりダウンロードする。
http://yasm.tortall.net/Download.html

yasm-1.3.0.tar.gz がダウンロードできた。
これを msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\yasm-1.3.0

msys.bat を実行し、以下のコマンドでビルド、インストールする。
    cd yasm-1.3.0
    ./configure --prefix=/mingw
    make
    make install

■ x264

次に x264 をインストールする。
最新ソースは以下から。
http://www.videolan.org/developers/x264.html

Source の「daily tarball 」より最新の stable を取得。
ここでは x264-snapshot-20160206-2245-stable.tar.bz2 をダウンロードした。

これを msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\x264-snapshot-20160206-2245-stable

msys.bat を実行し、以下のコマンドでビルド、インストールする。
    cd x264-snapshot-20160206-2245-stable
    ./configure --prefix=/mingw \
                --disable-opencl \
                --enable-static
    make
    make install

■ ffmpeg-2.8.6

最後に ffmpeg をビルドする。
--enable-libx264 を追加した。
x264 が GPL であるため、--disable-gpl をつけたままビルドしようとすると、
    libx264 is gpl and --enable-gpl is not specified.
と怒られてしまう。そのため --enable-gpl に変更してビルドする。

    cd ffmpeg-2.8.6
    ./configure --prefix=ffmpeg/ --enable-shared \
                --extra-libs=-static --extra-cflags=--static \
                --enable-gpl --enable-version3 --cpu=i686 --enable-static --enable-zlib --arch=x86 \
                --enable-libmp3lame --enable-libfreetype --enable-libx264
    make

以上。

Windowsでffmpegをビルドする(その4)

Windowsでffmpegをビルドする手順。4回目。

ffmpeg にライブラリを追加してビルドする。
今回はフォント関連のライブラリである freetype2。

ライセンスは独自のライセンスだそうで、
商用か否かに関わらず、任意のプロジェクトで使用可能、とのこと。

以下より最新ソースをダウンロードする。
http://www.freetype.org/

freetype-2.6.tar.gz をダウンロードできた。
これを msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\freetype-2.6

msys.bat を実行し、以下のコマンドでビルド、インストールする。
    cd freetype-2.6
    ./configure --prefix=/mingw
    make
    make install

freetype2 がインストールできたら、ffmpeg をビルドする。

    cd ffmpeg-2.8.6
    ./configure --prefix=ffmpeg/ --enable-shared \
                --extra-libs=-static --extra-cflags=--static \
                --disable-gpl --enable-version3 --cpu=i686 --enable-static --enable-zlib --arch=x86 \
                --enable-libmp3lame --enable-libfreetype
    make

以上。

Windowsでffmpegをビルドする(その3)

Windowsでffmpegをビルドする手順。3回目。

ffmpeg にライブラリを追加してビルドする。
今回はmp3エンコーダの lame 。

ライセンスは LGPL。

以下より最新ソースをダウンロードする。
http://lame.sourceforge.net/

lame-3.99.5.tar.gz をダウンロードできた。
これを msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\lame-3.99.5

msys.bat を実行し、以下のコマンドでビルド、インストールする。
    cd lame-3.99.5
    ./configure --prefix=/mingw \
                --enable-static \
                --disable-shared \
                --disable-frontend \
                --enable-nasm
    make
    make install

lame がインストールできたら、ffmpeg をビルドする。

    cd ffmpeg-2.8.6
    ./configure --prefix=ffmpeg/ --enable-shared \
                --extra-libs=-static --extra-cflags=--static \
                --disable-gpl --enable-version3 --cpu=i686 --enable-static --enable-zlib --arch=x86 \
                --enable-libmp3lame
    make

以上。

Windowsでffmpegをビルドする(その2)

Windowsでffmpegをビルドする手順。2回目。

前回、ffmpeg をビルドした際に、
    WARNING: pkg-config not found, library detection may fail.
と警告が出ていたので、pkg-config をインストールしてみる。

pkg-config 自体は GPL のようだが、ビルドを助けるもので
ffmpeg 自体が GPL になるわけではない。

最新ソースは以下からダウンロードする。
http://www.freedesktop.org/wiki/Software/pkg-config/

「pkg-config-0.29.tar.gz」をダウンロードし、msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\pkg-config-0.29

msys.bat を実行し、以下のコマンドでビルド、インストールする。
    cd pkg-config-0.29
    ./configure --prefix=/mingw \
                --with-internal-glib  \
                --disable-host-tool
    make
    make install

単なる ./configure だと
    checking for pkg-config... no
    checking for GLIB... no
    configure: error: Either a previously installed pkg-config or "glib-2.0 >= 2.16" could not be found. Please set GLIB_CFLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to configure to use the bundled copy.
というエラーとなる。

インストールできたら
    pkg-config --version
などでインストールを確認できる。

pkg-config がインストールできたら、ffmpeg をビルドしてみる。ついでに
  --enable-version3
のフラグを追加して、LGPL 3 にしておく。

    cd ffmpeg-2.8.6
    ./configure --prefix=ffmpeg/ --enable-shared \
                --extra-libs=-static --extra-cflags=--static \
                --disable-gpl --enable-version3 --cpu=i686 --enable-static --enable-zlib --arch=x86
    make

これで警告が消えたはず。

以上。

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気