リード開発メモ

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

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

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

以上。

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

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

■ MinGW+msys のインストール

まず、gccでビルドするので、以下より MinGWをインストールする。

MinGW は以下よりダウンロードできる。「Download mingw-get-setup.exe 」のリンクをクリックし、「mingw-get-setup.exe」をダウンロードする。
MinGW - Minimalist GNU for Windows

「mingw-get-setup.exe」を実行すると、インストールされ、インストールが完了すると、自動的にMinGW Installation Managerが起動する。

ffmpeg-build5

MinGW Installation Managerより必要なパッケージをインストールするため、以下にチェックを入れる(右クリックし、「Mark for Installation」を実行する)。
・mingw-developer-toolkit
・mingw32-base
・mingw32-gcc-g++
・msys-base

ffmpeg-build6

次にメニューの
    Installation - Apply Changes
を実行する。

インストールが完了したらCloseボタンを押し、ダイアログを閉じる。

ffmpeg-build10

MinGW Installation Managerも終了する。

次に
  C:\MinGW\msys\1.0\msys.bat
を実行する。

初期状態では gcc を実行しようとしても
    sh: gcc: command not found
と文句を言われてしまうので、
    C:\MinGW\msys\1.0\postinstall\pi.bat
を実行する。
ここでMinGW をインストールしたフォルダ(c:/MinGW)を指定する必要がある。
実行後いったん msys を閉じ、再度 msys.bat を実行すると gcc が実行できるようになっている。

■ nasm のインストール

この時点でffmpegをビルドしようとしても以下のエラーになる。
    yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

そこで ffmpeg のビルドで必要になる nasm をインストールしておく。yasm はなくてもいいようだ。

以下よりnasmを最新ソースをダウンロードする
http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D

2.11.08フォルダの「nasm-2.11.08.zip」をダウンロードし、
msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\nasm-2.11.08

msys.bat を実行し、以下のコマンドでビルドする。
    cd nasm-2.11.08
    ./configure -prefix=/mingw
    make
    make strip
    make install

完了したら、以下のコマンドなどインストールされていることを確認する。
    nasm -v

■ FFmpegのソースの配置

FFmpegのソースを公式サイトからダウンロードする。
https://www.ffmpeg.org/download.html

下のほうの「FFmpeg 2.8.6 "Feynman"」のgzipのボタンをクリック。
「ffmpeg-2.8.6.tar.gz」をダウンロード。

ダウンロードしたら解凍し、msysのhomeに配置する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\ffmpeg-2.8.6

■ FFmpegのビルド

msys.bat を実行し、以下を実行する。

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

LGPL 2.1 になっていることが分かる。

   License: LGPL version 2.1 or later
    Creating config.mak, config.h, and doc/config.texi...

このような警告は出ているがいちおう成功しているっぽい。

    WARNING: pkg-config not found, library detection may fail.

続けて以下を実行し、ビルドを開始する。結構時間がかかる。
    make

完了すると、ffmpeg-2.8.6 直下に
    ffmpeg_g.exe
    ffmpeg.exe
ができている。

ffmpeg_g.exeはデバッグ情報を含んだものらしい。
ffmpeg.exeを好きな場所にコピーして使う。

また、ffmpeg-2.8.6 以下の各フォルダに lib、dll ができている。

以上。

タスクトレイの「Windows 10 を入手する」アイコンを消す

タスクトレイに表示されている「Windows 10 を入手する」アイコンを消す。Windows 7 でのやり方です。

BlockWindows10Update0

コントロールパネルから「プログラムのアンインストール」を選び、左の「インストールされた更新プログラムを表示」をクリック。

BlockWindows10Update6


ウィンドウ右上の検索窓に「KB3035583」と入力。これがタスクトレイに例のアイコンを表示した更新プログラムである。

BlockWindows10Update7

これをアンインストールする。再起動を促されるので、再起動する。
するとタスクトレイのアイコンが消えている。

BlockWindows10Update10


ただし、このままだとWindows Updateのとき再度「KB3035583」がインストールされてしまうので、それを防ぐために、Windows Updateの対象から外しておく必要がある。

再度、コントロールパネルを開き、
    「システムとセキュリティ」-「Windows Update」-「更新プログラムの確認」
を選ぶ。
表示された更新プログラムの中から、「KB3035583」を見つける。チェックが入っているはずだ。
右クリックし、「更新プログラムの非表示」を実行する。

BlockWindows10Update11


するとチェックが外れ、これで問題の「KB3035583」は自動でインストールされなくなる。

以上です。

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