RSS2.0 hr
カテゴリ
 連絡事項 (11)
 開発全般 未分類 (2)
 WEB開発 未分類 (1)
 C# (1)
 Java (2)
 PHP (1)
 Flash (1)
 WPF, Silverlight (6)
 Android (2)
 MySQL (1)
 ニコ窓 (66)
 Nico Rec Ctrlr (4)
 Live Seeker (8)
 Live Seeker Lite (4)
 Nico2ls (1)
 未完成ツール (7)
 TinyMCE (4)
 FFmpeg (6)
 Linux (1)
 PCパーツ関連 (1)
 掲載誌 (3)
コンテンツ一覧
最新記事
2015/01/12 12:00
ニコ窓の開発&公開終了
2014/05/04 00:00
ニコ窓 Ver3.015 公開
2014/04/27 00:00
ニコ窓 Ver3.014 公開
2014/03/08 00:00
ニコ窓 Ver3.013 公開
2014/03/02 22:00
Android関連の開発リンク集
コンテンツ一覧
公開ツール
ニコ窓
ニコニコ生放送用
ブラウザ
ニコ窓
コンテンツ
P. 1 2 List
■ Windows環境でのFFmpegのコンパイル 1/6 - 2010/07/16 22:00:05

2ヶ月くらい前にまとめたものなのですが、FFmpeg を Windows 環境(MinGW / MSYS)でコンパイルしたときのメモです。
自分用のメモを貼り付けただけなので、かなり分かりにくいかと思います。

FFmpeg は、公式のバイナリが配布されていないため、使用する場合はソースからコンパイルする必要があります。
Windows バイナリをコンパイル方法は、幾つかあるようなのですが、今回は、比較的情報が多かった MinGW / MSYS でコンパイルすることにしました。

■ 公式、解説サイト

 FFmpeg - 公式サイト
 FFmpeg の解説 - Wikipedia
 MinGW / MSYS - 公式サイト
 MinGW - Wikipedia
 MSYS - Wikipedia

■ FFmpeg のバイナリの配布について

FFmpeg は、オープンソースであり、再配布する場合は、GPL または LGPL のどちらかですることができます。
だだし、ライブラリによっては、GPL または LGPL でも再配布できないものがあるため、それらは除く必要はあります。
更に、特許のあるコーデック等を含める場合は、再配布者が各自でライセンスを取得する必要があるため、ソフトウェア特許が有効な日本では、ライセンスを取得しないとバイナリを配布できないようです。

FFmpeg のコンパイル方法を解説したサイトは、結構あるのですが、バイナリが配布されていないのは、上記のことが理由のようです。
稀に、特許のあるコーデック等を含めたバイナリを配布している日本のサイトを見かけますが、多分、無許可で配布しているのだと思います。

特許については、以下の条項があり、商用でなく個人で試験又は研究目的でコンパイルして、使用する分には問題にならないようです。
ただし、この場合も、再配布する場合は、権利者の許可が必要だと思います。
※ 私も適当に調べただけなので、間違っているかもしれません。

第69条(特許権の効力が及ばない範囲)
第1項 特許権の効力は、試験又は研究のためにする特許発明の実施には、及ばない。

日本でバイナリを再配布する場合は、著作権と特許権の両方をクリアする必要があり、色々と大変なため、このページでは、コンパイル方法のみを解説し、バイナリの再配布はしていません。

コンパイル方法については、作業項目が多いため、最低限必要な作業だけをまとめたものです。
コンパイルの基礎知識等の細かい説明は書いていませんので、詳細を知りたい場合は、他のサイトを見て頂いたほうがよいかと思います。
また、コンパイル環境やライブラリのバージョンによっては、うまくいかないことがありますので、注意して下さい。

■ 解説ページリンク

Windows環境でのFFmpegのコンパイル 1/6

  ■ 公式、解説サイト
  ■ FFmpeg のバイナリの配布について

Windows環境でのFFmpegのコンパイル 2/6
 FFmpegの開発環境の構築 1/3

  ■ MinGWのインストール
  ■ gcc のアップデート
  ■ libgmp のインストール
  ■ libmpc のインストール
  ■ libmpfr のインストール

Windows環境でのFFmpegのコンパイル 3/6
 FFmpegの開発環境の構築 2/3

  ■ MSYSのインストール
  ■ 環境変数の設定

Windows環境でのFFmpegのコンパイル 4/6

 FFmpegの開発環境の構築 3/3

  ■ MSYS Developer Tool Kitのインストール
  ■ pr.exe (coreutils-5.97-MSYS-1.0.11-2) のコピー
  ■ nasm のインストール

Windows環境でのFFmpegのコンパイル 5/6
 FFmpeg 関連ライブラリ(libmp3lame, librtmp)のコンパイル方法

  ■ LAME (libmp3lame) のコンパイル&インストール
  ■ OpenSSL のコンパイル&インストール
  ■ zlib (libz) のコンパイル&インストール
  ■ RTMP Dump (librtmp) のコンパイル&インストール

Windows環境でのFFmpegのコンパイル 6/6
 FFmpeg のコンパイル方法

  ■ FFmpeg のコンパイル&インストール

以上

カテゴリ: FFmpeg  ブックマーク: はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく  コメント( 0 )
■ Windows環境でのFFmpegのコンパイル 2/6 - 2010/07/16 22:00:04

FFmpegの開発環境の構築 1/3

■ MinGWのインストール

(1) 下記のURLから MinGW-5.1.6.exe をダウンロードする。

  MinGW 5.1.6 ⇒
   http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/

(2) 適当なフォルダを作成し、(1)でダウンロードした MinGW-5.1.6.exe を移動する。
   今回は、以下のフォルダを作成した。

  D:\Programs\MinGWFiles

(3) MinGW-5.1.6.exe をクリックし、インストーラを起動する。

 ① [Welcome to ...]と表示されるので内容を確認し、[Next]ボタンで先へ進む。

 ② インストール方法を聞かれるので、以下を選択する。

  Install or just download Files?

   ⇒ Download and install

 ③ ライセンス条項[Lisense Agreement]を確認し、[I Agree]ボタンで先へ進む。

 ④ パッケージ選択[Choose Package]で、インストールするパッケージを選択し、
   [Next]ボタンで先へ進む。

  Which MinGW package do you wish to install?

   ⇒ Current

 ⑤ コンポーネント選択[Choose Components]で、インストールするコンポーネントを
   選択し、[Next]ボタンで先へ進む。

  Select the type of install:

   ⇒ Custom

  Or,select tha optional...

   ⇒ 以下をチェック

    MinGW base tools

 ⑥ インストール先選択[Choose Install Location]で、インストール先を指定し、
   [Next]ボタンで先へ進む。

  Destination Folder

   ⇒ C:\MinGW
    ※任意のフォルダです。
     私は D:\Programs\MinGW へインストールしています。

 ⑦ スタートメニューフォルダ先選択[Choose Start Menu Folder]で、フォルダを
   確認し、[Install]ボタンで先へ進む。

   この後、④で選択したコンポーネントが(2)のフォルダへダウンロードされ、
   ⑤のフォルダへインストールされる。

 ⑧ 問題がなければ、インストール完了[Install Complete]が表示されるので、
   [Next]ボタンで先へ進む。

 ⑨ インストール完了[Install complete.]と表示されたら、[Finish]ボタンで終了する。
   念のため、スタートメニューで[MinGW]が増えていることを確認する。

■ gcc のアップデート

(1) 下記のURLから gcc-core-4.5.0-1-mingw32-bin.tar.lzma をダウンロードする。

  GCC Version 4 ⇒ gcc-4.5.0-1 ⇒
   http://sourceforge.net/projects/mingw/files/

(2) gcc-core-4.5.0-1-mingw32-bin.tar.lzma を展開し、bin, lib, libexec を
   MinGW のフォルダへ上書きする。

   ⇒ C:\MinGW
        ※私の場合は D:\Programs\MinGW

■ libgmp のインストール

(1) 下記のURLから libgmp-5.0.1-1-mingw32-dll-10.tar.lzma をダウンロードする。

  MinGW gmp ⇒ gmp-5.0.1-1 ⇒
   http://sourceforge.net/projects/mingw/files/

(2) libgmp-5.0.1-1-mingw32-dll-10.tar.lzma を展開し、libgmp-10.dll を
    MinGW の bin フォルダへコピーする。

   ⇒ C:\MinGW\bin
    ※私の場合は D:\Programs\MinGW\bin

■ libmpc のインストール

(1) 下記のURLから llibmpc-0.8.1-1-mingw32-dll-2.tar.lzma をダウンロードする。

  MinGW mpc ⇒ mpc-0.8.1-1  ⇒
   http://sourceforge.net/projects/mingw/files/

(2) libmpc-0.8.1-1-mingw32-dll-2.tar.lzma を展開し、libmpc-2.dll を
   MinGW の bin フォルダへコピーする。

   ⇒ C:\MinGW\bin
    ※私の場合は D:\Programs\MinGW\bin

■ libmpfr のインストール

(1) 下記のURLから libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma をダウンロードする。

  MinGW mpfr ⇒ mpfr-2.4.1-1  ⇒
  http://sourceforge.net/projects/mingw/files/

(2) libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma を展開し、libmpfr-1.dll を
   MinGW の bin フォルダへコピーする。

   ⇒ C:\MinGW\bin
    ※私の場合は D:\Programs\MinGW\bin

カテゴリ: FFmpeg  ブックマーク: はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく  コメント( 0 )
■ Windows環境でのFFmpegのコンパイル 3/6 - 2010/07/16 22:00:03

FFmpegの開発環境の構築 2/3

■ MSYSのインストール

(1) 下記のURLから MSYS-1.0.11.exe をダウンロードする。

  MSYS Base System ⇒
  http://sourceforge.net/projects/mingw/files/

(2) MSYS-1.0.11.exe をクリックし、インストーラを起動する。

 ① [Setup]メッセージが表示されるので内容を確認し、[はい]ボタンで先へ進む。

 ② インストール方法を聞かれるので、以下を選択する。

  Install or just download Files?

   ⇒ Download and install

 ① [Welcome to ...]と表示されるので内容を確認し、[Next]ボタンで先へ進む。

 ② ライセンス条項[Lisense Agreement]を確認し、[Yes]ボタンで先へ進む。

 ③ [Information]を確認し、[Next]ボタンで先へ進む。

 ④ インストール先選択[Select Destination Directory]で、インストール先を指定し、
   [Next]ボタンで先へ進む。

  Destination Folder

   ⇒ C:\msys\1.0
    ※任意のフォルダです。
     私は D:\Programs\MSYS へインストールしています。

 ⑥ スタートメニューフォルダ先選択[Select Start Menu Folder]で、フォルダを確認し、
   [Next]ボタンで先へ進む。

 ⑦ インストール内容確認[Redy to Install]で、内容を確認し、[Install]ボタンで
   インストールを開始する。

   途中、コマンドプロンプトで表示される質問は以下を選択する。

   Do you wish to continue with the post install? [yn ]
   (続けてポストインストールを行いますか?)

    ⇒ y

   Do you have MinGW installed? [yn ]
   (MinGW はインストールされていますか?)

    ⇒ y

   Where is your MinGW installation?
   (MinGW のインストールパスはどこですか?)

    ⇒ C:/msys/1.0
     ※上記、「■ MinGWのインストール 」の(3)の⑥で指定したパス。
      パスの'\'は、'/'に変更して入力して下さい。
      私の場合は D:/Programs/MinGW を入力。

  以下のように表示されるので、適当なキーを押します。

   D:\Programs\msys\1.0\postinstall>pause
   続行するには何かキーを押してください . . .

 ⑧ インストールが完了すると、[Setup]画面にもどるので、[Finish]ボタンで終了する。
   念のため、スタートメニューで[MinGW]⇒[MSYS]が増えていることを確認する。
   [MinGW]⇒[MSYS]⇒[MSYS]をクリックすると、コマンドプロンプト[MINGW32]が表示される。

■ 環境変数の設定

 環境変数の Path に、MinGW、MSYSの bin フォルダのパスを追加する。

 例:
  C:\MinGW\bin
  C:\msys\1.0\bin

カテゴリ: FFmpeg  ブックマーク: はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく  コメント( 0 )
■ Windows環境でのFFmpegのコンパイル 4/6 - 2010/07/16 22:00:02

FFmpegの開発環境の構築 3/3

■ MSYS Developer Tool Kitのインストール

(1) 下記のURLから msysDTK-1.0.1.exe をダウンロードする。

  MSYS Supplementary Tools ⇒ msysDTK-1.0.1 ⇒
   http://sourceforge.net/projects/mingw/files/

(2) msysDTK-1.0.1.exe をクリックし、インストーラを起動する。

 ① [Setup]メッセージが表示されるので内容を確認し、[はい]ボタンで先へ進む。

 ② [Welcome to ...]と表示されるので内容を確認し、[Next]ボタンで先へ進む。

 ③ ライセンス条項[Lisense Agreement]を確認し、[Yes]ボタンで先へ進む。

 ④ インストール先選択[Select Destination Directory]で、インストール先を指定し、
   [Next]ボタンで先へ進む。

  Select the folder where you would like...

   ⇒ C:\msys\1.0
    ※私の場合は D:\Programs\MSYS を指定

 ⑤ コンポーネント選択[Select Components]で、インストール対象を選択し、
   [Next]ボタンで先へ進む。

 ⑥ インストール内容確認[Redy to Install]で、内容を確認し、[Install]ボタンで
   インストールを開始する。

 ⑦ インストールが完了すると[Information]が表示されるので内容を確認して、
   [Next]ボタンで先へ進む。

 ⑧ [Setup has finished installing...]と表示されるので、[Finish]ボタンで終了する。

■ pr.exe (coreutils-5.97-MSYS-1.0.11-2) のコピー

 ffmpegのconfigureで pr.exe を使っているため、coreutils から別途コピーする。
  
(1) 下記のURLから coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 をダウンロードする。

  coreutils-5.97-MSYS-1.0.11-2 ⇒
   http://sourceforge.net/projects/mingw/files/

(2) coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 を展開し、bin フォルダの
   pr.exe を MSYS の bin フォルダへコピーする。

   ⇒ C:\msys\1.0\bin
    ※私の場合は D:\Programs\MSYS\bin

■ nasm のインストール

(1) 下記のURLから nasm-2.07-win32.zip をダウンロードする。

  Win32 binaries ⇒ 2.07 ⇒
   http://sourceforge.net/projects/nasm/files/

(2) nasm-2.07-win32.zip を展開し、nasm.exe, ndisasm.exe を MinGW の
    bin フォルダへコピーする。

   ⇒ C:\MinGW\bin
    ※私の場合は D:\Programs\MinGW\bin

カテゴリ: FFmpeg  ブックマーク: はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく  コメント( 0 )
■ Windows環境でのFFmpegのコンパイル 5/6 - 2010/07/16 22:00:01

FFmpeg 関連ライブラリ(libmp3lame, librtmp)のコンパイル方法

FFmpeg で使用するライブラリ(標準で含まれていないもの)をコンパイルする。
今回は、MP3 用のライブラリ libmp3lame と RTMP用のライブラリ librtmp の2つのみをコンパイルする。
OpenSSL と zlib もコンパイルしているが、これは librtmp のコンパイルに必要なもの。

■ LAME (libmp3lame) のコンパイル&インストール

(1) 下記のURLから lame-3.98.4.tar.gz をダウンロードする。

  LAME MP3 Encoder ⇒
   http://sourceforge.net/projects/lame/files/lame/
   http://lame.sourceforge.net/

(2) lame-3.98.4.tar.gz を展開し、MSYS の 適当なフォルダへコピーする。
   今回は、下記へコピーした。

   ⇒ /home/ユーザ名/lame-3.98.4

(3) MSYSを起動し、(2)のフォルダへ移動し、configure, make を実行する。

  $ cd lame-3.98.4
  $ ./configure --prefix=/mingw
  ...
  $ make
  ...
    $ make install

■ OpenSSL のコンパイル&インストール

(1) 下記のURLから openssl-1.0.0.tar.gz をダウンロードする。

  OpenSSL ⇒
   http://www.openssl.org/source/
   http://www.openssl.org/

(2) openssl-1.0.0.tar.gz を展開し、MSYS の 適当なフォルダへコピーする。
   今回は、下記へコピーした。

   ⇒ /home/ユーザ名/openssl-1.0.0

(3) MSYSを起動し、(2)のフォルダへ移動し、configure, make を実行する。

  $ cd openssl-1.0.0

  ▽ パッチの適用
   適用しないと engines/e_capi.c でエラーになる。
   パッチと同じ内容を wincrypt.h に追記してもよい。
  $  patch -p1 < openssl-1.0.0-mingw.diff

  ▽ エラー対策

   エラー例:
    make[1]: *** [md2test.exe] Error 2
    make[1]: *** [rc5test.exe] Error 2
    make[1]: *** [jpaketest.exe] Error 2

  上記のようなエラーが発生する場合は、XXtest.exe を XXtest.c のようにして、
  下記を実行する。
    
  $ cp test/dummytest.c test/md2test.c
  $ cp test/dummytest.c test/rc5test.c
  $ cp test/dummytest.c test/jpaketest.c

  $ ./Configure mingw --prefix=/mingw
  ...
  $  make
  ...
  $  make install_sw

■ zlib (libz) のコンパイル&インストール

(1) 下記のURLから zlib-1.2.5.tar.gz をダウンロードする。

  zlib ⇒
   http://www.zlib.net/

(2) zlib-1.2.5.tar.gz を展開し、MSYS の 適当なフォルダへコピーする。
   今回は、下記へコピーした。

  ⇒ /home/ユーザ名/zlib-1.2.5.tar.gz

(3) MSYSを起動し、(2)のフォルダへ移動し、configure, make を実行する。

  $ cd zlib-1.2.5.tar.gz

  ▽ ./win32/Makefile.gcc の変更
   116行目以降に、bin, include, lib のパスを設定(追記)する。

   115: # BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
   116: BINARY_PATH = /MinGW/bin
   117: INCLUDE_PATH = /MinGW/include
   118: LIBRARY_PATH = /MinGW/lib

  $ make -f ./win32/Makefile.gcc
  $ make -f ./win32/Makefile.gcc install

■ RTMP Dump (librtmp) のコンパイル&インストール

事前に openssl, zlib をインストールしておく。

(1) 下記のURLから rtmpdump-2.2d.tgz をダウンロードする。

  RTMP Dump ⇒
   http://rtmpdump.mplayerhq.hu/

(2) rtmpdump-2.2d.tgz を展開し、MSYS の 適当なフォルダへコピーする。
   今回は、下記へコピーした。

  ⇒ /home/ユーザ名/rtmpdump-2.2d

(3) MSYSを起動し、(2)のフォルダへ移動し、configure, make を実行する。

  $ cd rtmpdump-2.2d
  $ make mingw CC=gcc AR=ar
  ...
  $ cd librtmp
  $ make install prefix=/mingw

カテゴリ: FFmpeg  ブックマーク: はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく  コメント( 1 )
P. 1 2 List
お知らせ
サイト情報
2015/01/12 00:00
ニコ窓の開発&公開を終了しました。
閲覧者数
今日: 33 昨日: 24
合計: 806334 (PV)
開始: 2010/03/11
このサイトでは、C#で作成したツールを公開しています。
リンクは自由に張って頂いて構いません。
旧サイト(toypark.in)の記事等が含まれています。
管理人: motta
  はてなブックマーク Yahoo!ブックマーク Googleブックマーク Twitterでつぶやく
  RSS2.0 RSS2.0
  My Yahoo!
  livedoor Reader
  Windows Live
 
ACR WEB