追記パッチを更新しました。「-flags2」用のパッチを更新しました。改行が抜けているファイル用のパッチを更新しました。追記FFmpegのDirectShow(dshow)を有効にするためには、MinGW-w64が必要です。MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。改行が抜けているファイル用のパッチを更新しました。fate)を実行するためにffprobeが必要になりました。追記パッチを更新しました。追記その場合は、以下のパッチを適用してください。改行コードが原因のエラーが出るMakefileが増えるたびに、パッチを適用するのも面倒です。clone)済みのソースコードがある場合、一旦Makefileを全部削除して、改行コードをLFにして作成し直せば、エラーが出なくなります。stashその後、以下のパッチを適用します。「-flags2」用のパッチを更新しました。「-flags2」用のパッチを更新しました。fate)を実行するためにffprobeが必要だったのですが、また必要なくなりました。「-flags2」用のパッチを更新しました。「-flags2」用のパッチを更新しました。追記パッチを更新しました。追記パッチを更新しました。追記パッチを更新しました。追記パッチを更新しました。追記パッチを更新しました。pthreadsそれでは、FFmpeg(pthreads版)のコンパイルです。MSYSとMinGWから準備する方は、1、2番の記事からお読みください。MSYSとMinGWの準備ができている方は、3番の記事からお読みください。追記FFmpegのDirectShow(dshow)を有効にするためには、MinGW-w64が必要です。MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。追記MinGW-w64をインストールすると、winpthreadsというPthreadsライブラリが使用できます。winpthreadsのインストール手順は、以下の記事を参照してください。個別のライブラリについて以下のライブラリは、あらかじめインストールしておいてください。この記事を書いた時点より新しくなっているものもありますので、それぞれの記事で確認してください。※pthreads-w32と共存できません。fprofiled)xvidcore-1.3.2OpenSSLを使用する場合は、以下の記事を参照してください。openssl-1.0.0drtmpdump-2.4PolarSSLを、OpenSSLの代わりに使用する場合は、以下の記事を参照してください。当サイトでは、PolarSSLを使用しています。追記GnuTLSを、OpenSSLの代わりに使用する場合は、以下の記事を参照してください。OpenSSLはGPL非互換なので、GnuTLSかPolarSSLをおすすめします。字幕ファイルを読み込むためのライブラリlibassを追加する場合、以下のライブラリが必要になります。FFmpegのコンパイルFFmpegは、以下の場所にあります。http://ffmpeg.org/ソースコードはGitで管理されるようになり、SVNはrev.26402で更新が止まっています。今後は、Gitをインストールして、以下のコマンドでソースコードを入手してください。FFmpeghttp://ffmpeg.org/download.htmlここの、一番上のSnapshotのリンクからソースコードをダウンロードできます。いう形式になっていますので、そのファイル名に読み替えてください。ffmpeg-HEAD-3b5ddf0次に、configure、その他諸々の一括パッチを適用します。追記パッチを更新しました。rev.37209以降の更新で、「-flags2」で設定していたものが独立したオプションになり、特にx264関連の設定が大幅に変わりました。以前の「-flags2」の設定も使用できるように、Revert用のパッチを作りましたので、必要であれば適用してください。「-flags2」用のパッチを更新しました。以降、以下のようなエラーが出る場合があります。Stop.ファイルの最後に、改行コードが入っていないものがあるのが原因です。その場合は、以下のパッチを適用してください。改行コードが原因のエラーが出るMakefileが増えるたびに、パッチを適用するのも面倒です。clone)済みのソースコードがある場合、一旦Makefileを全部削除して、改行コードをLFにして作成し直せば、エラーが出なくなります。stashその後、以下のパッチを適用します。ffmpeg-global_opts-20120615.diffパッチを適用したら、configureを実行します。rev.23653から、libfaadが削除されました。v2デコーダーが本体に実装されたので、libfaadは不要になったらしいです。--disable-decoder=aacは削除してください。fate)を実行するためにffprobeが必要だったのですが、また必要なくなりました。rev.30971(4b87a08)から、--optflagsというオプションが追加され、最適化レベルを変えられるようになりました。有りだと、バイナリのサイズは小さくなるが、エンコード速度が落ちる。無しだと、エンコード速度は速いが、バイナリのサイズがでかくなる。無しの場合とエンコード速度が大して変わらない。いうことで、色々試した結果、以下のようにしました。最適化オプションは、PCの環境により以下のようにしています。※あくまでも一例ですので、もっと凝ってみたい方は、gccのマニュアルなどを見て研究されると良いかもしれません。-msse"FFmpegのconfigureオプションに、--cpu=athlon64などど追加すると、そのCPUに特化した最適化が実行されますので、ご自分の環境でしか使用しない場合は、試してみると良いかもしれません。