2009年09月26日

FFmpeg rev.20024 ダウンロード

FFmpeg最新版(2009/9/25現在)、rev.20024のWindows用バイナリを置いておきます。

内蔵AACのエンコード(出力)はまだ音が変です。
まともに動作するようになるまでは、Nero AAC コーデックを使用した、音声AAC動画の作成方法を、こちらの記事に書きましたので、参考にしてください。

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

以下のライブラリをアップデートしました。
opencore-amr-0.1.2
x264 rev.1271


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

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

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

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

FFmpegのコンパイルは、こちらの記事を参考にしてください。

コンパイル環境:MinGW gcc4.4.1

各ライブラリのバージョンは、以下の通りです。
nasm-2.07
yasm-0.8.0
pthreads-w32 release 2.9.0
zlib-1.2.3
bzip2-1.0.5
faac-1.28(deleted)
faad2-2.7
gsm-1.0.13
lame-398-2
libnut-662
opencore-amr-0.1.2
libogg-1.1.4
libvorbis-1.2.3
libtheora-1.0
x264 rev.1271
xvidcore-1.2.2

最適化オプションは、以下のようにしています。
configureのオプションに--enable-smallを付けると、gccのオプションに-Osが付きます。
--enable-smallを付けなければ、gccのオプションに-O3が付きます。

最適化無し版
--extra-cflags="-mtune=generic -mno-sse2 -fno-strict-aliasing"

Pentium4最適化版
--extra-cflags="-mtune=pentium4 -mfpmath=sse -msse -fno-strict-aliasing"

Core2最適化版
--extra-cflags="-mtune=core2 -mfpmath=sse -msse -fno-strict-aliasing"

Athlon64最適化版
--extra-cflags="-mtune=athlon64 -mfpmath=sse -msse -fno-strict-aliasing"

Phenom最適化版
--extra-cflags="-mtune=amdfam10 -mfpmath=sse -msse -fno-strict-aliasing"

configureオプションは以下の通りです。
$ ./configure --enable-memalign-hack --enable-postproc --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaad --disable-decoder=aac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libvorbis --enable-libtheora --enable-libxvid --enable-libx264 --disable-ffserver --disable-ffplay --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse -fno-strict-aliasing"

※--extra-cflagsは、最適化の種類により異なります。

configureのメッセージはこちら
posted by あべちん at 08:19 | Comment(8) | TrackBack(1) | FFmpegダウンロード
この記事へのコメント
こんにちは。

最近久しぶりに動画の変換をしたのですが、ffmpegの最新版だとエンコードすらされず古めのrev.18302ではx264でエンコードしても出力されたファイルはなぜか普通のmpeg4になります。   

設定がおかしいのでしょうか?

Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -pass 1 -passlogfile "<%TemporaryFile%>" -threads 2 -timestamp "<%TimeStamp%>" -flags bitexact -rc_eq "blurCplx^(1-qComp)" -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -keyint_min 0 -sc_threshold 70 -vcodec libx264 -s 640x480 -r 30.00 -b 8000k -acodec aac -ac 2 -ar 44100 -ab 192k -f ipod -level 13 "<%TemporaryFile%>.mp4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -pass 2 -passlogfile "<%TemporaryFile%>" -threads 2 -timestamp "<%TimeStamp%>" -flags bitexact -rc_eq "blurCplx^(1-qComp)" -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -keyint_min 0 -sc_threshold 70 -vcodec libxvid -s 640x480 -r 30.00 -b 8000k -acodec aac -ac 2 -ar 44100 -ab 192k -f ipod -level 13 "<%OutputFile%>.mp4""
Command2="rm "<%TemporaryFile%>"-0.log"
Posted by ま〜ちゃる at 2009年10月03日 09:28
ま〜ちゃるさん、こんにちは。管理人です。

golgolさんが以前コメントしてくださったのを参考にしてみてください。
http://blog.k-tai-douga.com/article/30430899.html#comment

Command0とCommand1のどこかに、
-me_range 16
などを追加すると、エンコードできると思います。

あと、
-rc_eq "blurCplx^(1-qComp)"
は、無くても問題なくなっています。

せっかく良い情報をいただいても、コメントだと埋もれてしまうので、もったいないですね。

なんとかせねばと考えてはいるのですけど。
Posted by あべちん at 2009年10月03日 11:19
素早い返信ありがとうございます。

-me_range 16
を追加すると無事エンコードできました。

何かあればそのときはまたよろしくお願いします。
Posted by ま〜ちゃる at 2009年10月03日 14:20
こんにちは。
rev.19754 以降で BonTsDemux が停止してしまうようになりました。
しばらくビルドごとに確認していたのですが、変化が無かったため書き込みさせていただきました。
ツールの影響の可能性も高いのですが、何か ffmpeg のオプションなどおかしいのでしょうか。
アドバイスがいただければ幸いです。

-f mp4 -vtag mp4v -vcodec libx264 -b 896k -bt 896k -qmin 24 -qmax 36 -qdiff 8 -s 720x480 -coder 1 -level 13 -nr 48 -g 256 -keyint_min 8 -sc_threshold 72 -mbd 2 -me_method umh -me_range 32 -subq 6 -refs 4 -trellis 2 -bf 8 -b_strategy 1 -bidir_refine 1 -directpred 3 -partitions parti4x4+parti8x8+partp8x8+partb8x8 -cmp chroma -flags ilme+ildct+alt+mv4+loop -flags2 bpyramid+wpred+mixed_refs+dct8x8+fastpskip -acodec libmp3lame -ac 2 -ar 48000 -ab 128k -y -threads 6 -copyts
Posted by gura at 2009年10月09日 23:56
こんにちは。
libopencore_amrnbを使いたかったのですが、どうしても
「Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate,rate,width or height」

という表示が出てしまい、変換することが出来ません。
cpuがphenomU955BEで、使用したffmpegは最適化なし版と、Phenom最適化版です。iniは下のように設定しています。

Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -ss 0 -t 540 -timestamp "<%TimeStamp%>" -vcodec mpeg4 -s 320x240 -r 9.99 -b 138k -acodec libopencore_amrnb -ac 1 -ar 8000 -ab 12 -f 3gp -threads 4 "<%TemporaryFile%>.3gp""

何か解決策はないでしょうか?
ちなみにamrwbは「unknown encoder」とエラーが出ました。
Posted by tantan at 2009年10月12日 14:05
すみません。
書き込んだ後で色々検索したり試したりして解決出来ました。abの値がおかしかったようで。
失礼しました。
Posted by tantan at 2009年10月12日 14:09
guraさん、こんにちは。管理人です。

BonTsDemuxは使ったことがないのでわかりませんが、こちらで配布しているFFmpegは、rev.19754とそれ以降では、libx264関連で違いがあります。

FFmpeg rev.19310のlibavcodec/libx264.cの変更によって、x264でエンコードされた動画が他のツールなどで不正なデータと判断されてしまうことがあるとのことで、libavcodec/libx264.cだけ、変更前のrev.19309相当のものにrevertしていました。

ですが、rev.19883あたりから上記のようなことをすると、libx264のエンコードがエラーで落ちるようになってしまったため、revertするをやめてオリジナルのものを使用するようになりました。

ということで、画質がよくなるとか劇的に早くなるなどということもありませんので、今まで使えていたものを使っていただくのが良いかと思います。
Posted by あべちん at 2009年10月13日 14:12
tantanさん、こんにちは。管理人です。

私も最初libopencore_amrnbでハマりました。
AMR NBの規格で、以下の値しか受け付けないようです。

-ac 1 :1ch モノラル
-ar 8000 :サンプリングレート 8kHz固定
-ab 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k :ビットレート 8種類のいずれか

他にも困っている方がいるかもしれませんので、ご参考まで。
Posted by あべちん at 2009年10月13日 14:39
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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

マリナーズ・イチロー逮捕!
Excerpt: 9年連続200安打 シアトル・マリナーズのイチロー逮捕!?
Weblog: 【メジャー】イチロー逮捕される!【200安打】
Tracked: 2009-09-27 04:47