2012年05月03日

FFmpeg rev.40282 ダウンロード

FFmpeg最新版(2012/05/02現在)、rev.40282(b197c1c)のWindows用バイナリを置いておきます。

内蔵AACエンコーダは、まだ実験段階のため、以前使用していたlibfaacや、neroAacEncに比べると音質は良くないです。
まともに動作するようになるまでは、neroAacEncを使用した音声AAC動画の作成方法を、こちらの記事に書きましたので、参考にしてください。

また、x264について、一番多く質問が寄せられるエラーの説明を記事にしましたので、思い当たる方は、ぜひご一読ください。
x264のエンコードでエラー(Error while opening encoder for output stream #0.0)

ffmpeg_bin-40282.zip
ffmpeg_bin_pentium4-40282.zip (Pentium4最適化版)
ffmpeg_bin_core2-40282.zip (Core2最適化版)
ffmpeg_bin_athlon64-40282.zip (Athlon64最適化版)
ffmpeg_bin_phenom-40282.zip (Phenom最適化版)

以下のライブラリをアップデートしました。
libbluray-0.2.2 (新規)
libcdio-0.90git-8ed1004
polarssl-1.1.3
libvpx-v1.0.0-179-g414b5ea
x264 rev.2197

今回より、gcc-4.7.0とmingw-w64-v1.0.3の組み合わせで、全部コンパイルし直しています。

mingw-w64を利用して、DirectShow(dshow)が使えるようになりました。


オリジナルの方は、主にx264関連の「-flags2」が独立したオプションで指定するようになり、「-partitions」オプションは書式が変わりました。

・従来の設定例
-flags2 +mixed_refs+mbtree -partitions parti4x4+partp8x8+partp4x4

・変更後の設定例
-mixed-refs 1 -mbtree 1 -partitions pi4x4,pp8x8,pp4x4

その他、以下のように変わりました。
「-flags2 +dct8x8」→「-8x8dct 1」
「-flags2 +fastpskip」→「-fast-pskip 1」

すべて確認したわけではありませんので、他にも変わっているかもしれません。

とりあえず今回は、従来のオプションも使えるようにしています。


バイナリはどれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Duron、Sempronの一部、Pentium3など)をお使いの方は、最適化無し版を使ってみてください。

最適化無し版でもエラーが出る場合は、サポート外とします。

zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。

携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。

FFmpegのコンパイルは、以下の記事を参考にしてください。
FFmpegのコンパイル (2011/07/31) w32threads

コンパイル環境:MinGW gcc-4.7.0
binutils-2.22
mingw-w64-v1.0.3 (sezero_20111101-w32-update-rev.4917)

各ライブラリのバージョンは、以下の通りです。
nasm-2.10
yasm-1.2.0
zlib-1.2.6
bzip2-1.0.6
libbluray-0.2.2
libcdio-0.90git-8ed1004
gsm-1.0.13
libmodplug-0.8.8.4
lame-3.99.5
opencore-amr-0.1.3
vo-aacenc-0.1.2
vo-amrwbenc-0.1.2
polarssl-1.1.3
rtmpdump-2.4-20120309 PolarSSL版
libogg-1.3.0
aoTuV Beta6.03 (libvorbis-1.3.3パッチ)
libtheora-1.1.1
speex-1.2rc1
libvpx-v1.0.0-179-g414b5ea
x264 rev.2197 (make fprofiled)
xvidcore-1.3.2
libiconv-1.13.1
freetype-2.4.9
expat-2.0.1
fontconfig-2.9.0
fribidi-0.19.2
libass-0.10.0

最適化オプションは、以下のようにしています。

最適化無し版
--extra-cflags="-march=i686 -mtune=generic"

Pentium4最適化版
--extra-cflags="-mtune=pentium4 -mfpmath=sse -msse" --cpu=pentium4

Core2最適化版
--extra-cflags="-mtune=core2 -mfpmath=sse -msse" --cpu=i686

Athlon64最適化版
--extra-cflags="-mtune=athlon64 -mfpmath=sse -msse" --cpu=i686

Phenom最適化版
--extra-cflags="-mtune=amdfam10 -mfpmath=sse -msse" --cpu=i686

configureオプションは以下の通りです。
$ ./configure --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-libass --enable-libbluray --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libcdio --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-librtmp --enable-libspeex --enable-libvorbis --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libx264 --enable-libxvid --disable-ffplay --disable-ffprobe --disable-ffserver --enable-w32threads --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse" --cpu=i686 --optflags="-O2 -finline-functions"

※--extra-cflagsは、最適化の種類により異なります。
posted by あべちん at 01:59 | Comment(6) | TrackBack(0) | FFmpegダウンロード
この記事へのコメント
待ってました、早速使わせて頂きます、ありがとうございました。
Posted by kamedo2 at 2012年05月03日 12:50
kamedo2さん、こんにちは。管理人です。

コメントありがとうございます。

ぼちぼち続けて行きますので、生温かく応援していただければ幸いです。
Posted by あべちん at 2012年05月04日 17:40
いつも便利に使わせていただいております。
つか、トラブルの時以外に書き込まない不届き者です(汗)

対策のお願いというより情報共有ということで。

本バージョンのx264でのエンコードを開始した瞬間にWindows側でエラーを履きます。
ログビューアに吐き出されるタイプのエラーではありません。
ちなみに、前バージョンの38811では問題なくエンコードできます。
NeroEncAACに引き渡すためのwavファイルの作成は問題なくできます。
この点から、x264関係で何かあるような感じです。
(オプション関係でなにか互換がなくなっているような感じですね)

環境としてはWindows7/64bit
ソースファイルはBDAVから抜き出して編集したmpeg-tsファイルです。
他のソースは時間の関係で検証していません。
ffmpegだけを置き換える形なのでx264のオプション設定に変わっているなどのことがなければちょっと原因が不明です。
ログ吐いてffmpegが終了するなら調べようもありますがWindowsのエラーとして落ちますので取っ掛かりが無いです。
入力ファイルは変更して試してみるぐらいはこのあと時間できたらやってみます。
Posted by KANAAN-PEPO at 2012年05月08日 20:02
KANAAN-PEPOさん、こんにちは。管理人です。

ぃぇぃぇ、教えていただいてバグに気づくこともありますので、ありがたく思っています。

rev.38811とrev.40282では、GCCをバージョンアップして、コンパイル環境もかなり変わったので、その辺りも影響しているかもしれませんね。

もう試されているかもしてませんが、ffmpeg.exeを右クリックして、プロパティで、互換モードを「Windows XP」にしてみてください。

ちなみに私の環境は、Windows XP SP3 32bitです。
Posted by あべちん at 2012年05月09日 19:59
基本的な質問で申し訳ないのですが、corei7を使っている場合はffmpeg_bin-40282.zipをDLすればよいのでしょうか?
Posted by 名無しさん at 2012年05月10日 06:00
名無しさん、こんにちは。管理人です。

corei7ならどれでも動作すると思いますので、お好みでご使用下さい。
どれでも、大して違いはありません。

あやしいと思ったら使用しない、という選択肢もあります。
Posted by あべちん at 2012年05月12日 03:32
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/55634945
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック