2014年02月17日

FFmpegのビルド (2014/02/17)


FFmpeg(w32threads版)のビルド手順です。

MSYSとMinGWから準備する方は、1、2番の記事からお読みください。
MSYSとMinGWの準備ができている方は、3番の記事からお読みください。

1. MSYS環境のアップデート

2. MinGW環境のアップデート

FFmpegのDirectShow(dshow)を有効にするためには、mingwrtとw32apiの代わりに、MinGW-w64が必要です。
MinGW-w64を自分でビルドしてみたい方は、こちらを参考にしてください。
MinGW-w64のビルド (v3.1.0以降)

MinGW-w64を自分でビルドするのが面倒という方は、以下の記事を参照してください。
現在は、mingw-w64-v3系がメインですが、以下の記事では、mingw-w64-v1系をインストールします。
MinGW-w64 for win32 のインストール

FFmpegのconfigureと、その他のライブラリのconfigureでもpkg-configが必要なものがありますので、インストールしておいてください。
pkg-configのインストール


3. 個別のライブラリについて
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より新しくなっているものもありますので、それぞれの記事で確認してください。

あまり使用しないライブラリもありますので、必要なライブラリだけインストールして、それをconfigureオプションでenableにすれば良いです。

2016/03/25 追記
個別のライブラリに、Kvazaar HEVC encoderと、XZ Utilsを追加しました。
rev.78199(e07e88c)以降、libvo-aacencはサポートされなくなりました。

nasm-2.11
yasm-1.2.0
zlib-1.2.8
bzip2-1.0.6
libbluray-0.5.0
libcaca-0.99.beta18
libcdio-0.92
libcdio-paranoia-10.2+0.90+1
game-music-emu-0.6.0
gsm-1.0.13
libilbc-1.1.1
kvazaar
libmodplug-0.8.8.4
lame-3.99.5
OpenH264
openjpeg-1.5.1
opus-1.1
opencore-amr-0.1.3
vid.stab-0.98
vo-aacenc-0.1.3
vo-amrwbenc-0.1.3
libogg-1.3.1
aoTuV Beta6.03 (libvorbis-1.3.4パッチ)
libtheora-1.1.1
speex-1.2rc1
twolame-0.3.13
libsoxr-0.1.1
libvpx-v1.3.0
wavpack-4.70.0
libwebp-0.4.0
x264 (make fprofiled)
x265
xvidcore-1.4
xz-5.2.2

PolarSSLを使用する場合は、以下の記事を参照してください。
当サイトでは、PolarSSLを使用しています。
polarssl-1.3.4
rtmpdump-2.4 PolarSSL版

GnuTLSを、PolarSSLの代わりに使用する場合は、以下の記事を参照してください。
当サイトでは、以前はPolarSSLを使用していましたが、2015/08/16以降、GnuTLSを使用しています。
gmp-6.1.0
gnutls-3.4.10
rtmpdump-2.4 GnuTLS版

OpenSSLを使用する場合は、以下の記事を参照してください。
OpenSSLはGPL非互換なので、GnuTLSかPolarSSLをおすすめします。
openssl-1.0.1f
rtmpdump-2.4

字幕ファイルを読み込むためのライブラリlibassを追加する場合は、以下のライブラリが必要になります。
pkg-config_0.28-1_win32
libiconv-1.14
freetype-2.5.2
expat-2.1.0
fontconfig-2.11.0
fribidi-0.19.6
libass-0.10.2

FFplayをビルドする場合は、SDLが必要になります。
デフォルトでffplayはenableになっていますので、configureオプションに「--disable-ffplay」がある場合は削除してください。
SDL-1.2.15

SDLをインストールしていると、自動でSDLがenableになります。
SDLをインストールしていてもFFmpegでdisableにしたい場合は、configureオプションに「--disable-outdev=sdl」を追加してください。
「--disable-outdev=sdl」を付けてSDLがdisableになるのはFFmpegだけで、FFplayには影響ありません。


posted by あべちん at 11:37 | Comment(29) | TrackBack(0) | FFmpegビルド

2012年07月22日

FFmpegのコンパイル (2012/07/22) w32threads


2014/02/17 追記
ライブラリの追加やconfigureオプションの変更など、全面的に書き直しました。
今後の変更は、新しい記事の方を参照してください。
FFmpegのコンパイル (2014/02/17)



それでは、FFmpeg(w32threads版)のコンパイルです。

MSYSとMinGWから準備する方は、1、2番の記事からお読みください。
MSYSとMinGWの準備ができている方は、3番の記事からお読みください。

1. MSYS環境のアップデート

2. MinGW環境のアップデート

FFmpegのDirectShow(dshow)を有効にするためには、MinGW-w64が必要です。
MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。
MinGW-w64 for win32 のインストール

2013/10/14 追記
MinGW-w64も自分でビルドしてみたい方は、こちらも参考にしてください。
MinGW-w64 v3のビルド

2013/07/29 追記
FFmpegのconfigureと、その他のライブラリのconfigureでもpkg-configが必要なものがありますので、インストールしておいてください。
pkg-configのインストール


3. 個別のライブラリについて
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より新しくなっているものもありますので、それぞれの記事で確認してください。

nasm-2.10.09
yasm-1.2.0
zlib-1.2.8
bzip2-1.0.6
libbluray-0.3.0
libcaca-0.99.beta18
libcdio-0.90
libcdio-paranoia-10.2+0.90+1
gsm-1.0.13
libmodplug-0.8.8.4
lame-3.99.5
openjpeg-1.5.1
opus-1.0.3
opencore-amr-0.1.3
vid.stab-0.961
vo-aacenc-0.1.3
vo-amrwbenc-0.1.3
libogg-1.3.1
aoTuV Beta6.03 (libvorbis-1.3.3パッチ)
libtheora-1.1.1
speex-1.2rc1
twolame-0.3.13
libsoxr-0.1.1
libvpx-v1.2.0
wavpack-4.60.1
x264 (make fprofiled)
xvidcore-1.3.2

PolarSSLを使用する場合は、以下の記事を参照してください。
当サイトでは、PolarSSLを使用しています。
polarssl-1.2.8
rtmpdump-2.4 PolarSSL版

GnuTLSを、PolarSSLの代わりに使用する場合は、以下の記事を参照してください。
gnutls-3.2.2
rtmpdump-2.4 GnuTLS版

OpenSSLを使用する場合は、以下の記事を参照してください。
OpenSSLはGPL非互換なので、GnuTLSかPolarSSLをおすすめします。
openssl-1.0.1e
rtmpdump-2.4

字幕ファイルを読み込むためのライブラリlibassを追加する場合は、以下のライブラリが必要になります。
pkg-config_0.26-1_win32
libiconv-1.14
freetype-2.5.0.1
expat-2.1.0
fontconfig-2.10.93
fribidi-0.19.5
libass-0.10.1

2012/07/29 追記
ffplayをビルドする場合は、SDLが必要になります。
SDLをインストールして、configureオプションの「--disable-ffplay」を削除してください。
SDL-1.2.15

SDLをインストールしていると、configureで、自動でenableになります。
SDLをインストールしていてもdisableにしたい場合は、configureオプションに「--disable-outdev=sdl」を追加してください。



posted by あべちん at 12:10 | Comment(13) | TrackBack(0) | FFmpegビルド

FFmpegのコンパイル (2012/07/22) pthreads


2014/02/17 追記
ライブラリの追加やconfigureオプションの変更など、全面的に書き直しました。
pthreads版のFFmpegについては、最近あまり動作確認をしていません。
今後の変更は、新しい記事の方を参照してください。
FFmpegのコンパイル (2014/02/17)



それでは、FFmpeg(pthreads版)のコンパイルです。

MSYSとMinGWから準備する方は、1、2番の記事からお読みください。
MSYSとMinGWの準備ができている方は、3番の記事からお読みください。

1. MSYS環境のアップデート

2. MinGW環境のアップデート

FFmpegのDirectShow(dshow)を有効にするためには、MinGW-w64が必要です。
MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。
MinGW-w64 for win32 のインストール

MinGW-w64をインストールすると、winpthreadsというPthreadsライブラリが使用できます。
winpthreadsのインストール手順は、以下の記事を参照してください。
winpthreadsのコンパイル&インストール

2013/10/14 追記
MinGW-w64も自分でビルドしてみたい方は、こちらも参考にしてください。
MinGW-w64 v3のビルド

2013/07/29 追記
FFmpegのconfigureと、その他のライブラリのconfigureでもpkg-configが必要なものがありますので、インストールしておいてください。
pkg-configのインストール


3. 個別のライブラリについて
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より新しくなっているものもありますので、それぞれの記事で確認してください。

nasm-2.10.09
yasm-1.2.0
pthreads-w32 release 2.9.1
winpthreads (MinGW-w64) ※pthreads-w32と共存できません。
zlib-1.2.8
bzip2-1.0.6
libbluray-0.3.0
libcaca-0.99.beta18
libcdio-0.90
libcdio-paranoia-10.2+0.90+1
gsm-1.0.13
libmodplug-0.8.8.4
lame-3.99.5
openjpeg-1.5.1
opus-1.0.3
opencore-amr-0.1.3
vid.stab-0.961
vo-aacenc-0.1.3
vo-amrwbenc-0.1.3
libogg-1.3.1
aoTuV Beta6.03 (libvorbis-1.3.3パッチ)
libtheora-1.1.1
speex-1.2rc1
twolame-0.3.13
libsoxr-0.1.1
libvpx-v1.2.0
wavpack-4.60.1
x264 (make fprofiled)
xvidcore-1.3.2

PolarSSLを使用する場合は、以下の記事を参照してください。
当サイトでは、PolarSSLを使用しています。
polarssl-1.2.8
rtmpdump-2.4 PolarSSL版

GnuTLSを、PolarSSLの代わりに使用する場合は、以下の記事を参照してください。
gnutls-3.2.2
rtmpdump-2.4 GnuTLS版

OpenSSLを使用する場合は、以下の記事を参照してください。
OpenSSLはGPL非互換なので、GnuTLSかPolarSSLをおすすめします。
openssl-1.0.1e
rtmpdump-2.4

字幕ファイルを読み込むためのライブラリlibassを追加する場合は、以下のライブラリが必要になります。
pkg-config_0.26-1_win32
libiconv-1.14
freetype-2.5.0.1
expat-2.1.0
fontconfig-2.10.93
fribidi-0.19.5
libass-0.10.1

2012/07/29 追記
ffplayをビルドする場合は、SDLが必要になります。
SDLをインストールして、configureオプションの「--disable-ffplay」を削除してください。
SDL-1.2.15

SDLをインストールしていると、configureで、自動でenableになります。
SDLをインストールしていてもdisableにしたい場合は、configureオプションに「--disable-outdev=sdl」を追加してください。



posted by あべちん at 12:01 | Comment(13) | TrackBack(0) | FFmpegビルド