2010年05月13日

FFmpeg rev.23100 ダウンロード

FFmpeg最新版(2010/5/12現在)、rev.23100のWindows用バイナリを置いておきます。

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

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

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

以下のライブラリをアップデートしました。
zlib-1.2.5
x264 rev.1583

今回も、gcc4.5.0を自前でビルドして使用しています。

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

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

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

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

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

コンパイル環境:MinGW gcc4.5.0
binutils-2.20.1
mingwrt-3.18
w32api-3.14

各ライブラリのバージョンは、以下の通りです。
nasm-2.08.01
yasm-1.0.0
pthreads-w32 release 2.9.0
zlib-1.2.5
bzip2-1.0.5
faac-1.28(deleted)
faad2-2.7
gsm-1.0.13
lame-3.98.4
libnut-664(deleted)
opencore-amr-0.1.2
openssl-1.0.0
rtmpdump-2.2d
libogg-1.2.0
libvorbis-1.3.1
libtheora-1.1.1
x264 rev.1583
xvidcore-1.2.2

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

最適化無し版
--extra-cflags="-march=i686 -mtune=generic -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-gpl --enable-version3 --enable-postproc --disable-avfilter --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaad --disable-decoder=aac --enable-libgsm --enable-librtmp --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libxvid --enable-libx264 --disable-ffserver --disable-ffplay --disable-ffprobe --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse -fno-strict-aliasing"

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


FFmpeg rev.23043からavfilterがサポートされているのですが、Xvidのエンコード(-acodec libxvid)の時、-aspectを指定しても
Invalid pixel aspect ratio 0/1
というエラーが出るようになってしまいました。

とりあえず原因が判明するまで、configureオプションに
--disable-avfilter
を追加して、avfilterを無効にしています。
posted by あべちん at 02:19 | Comment(23) | TrackBack(3) | FFmpegダウンロード
この記事へのコメント
毎度使わせて頂いております。

上記のような表示が出てしまいます。

please use vf=pad

-padbottom を使っているのが
原因のようなのですが、代替する
方法は有るのでしょうか。
Posted by tek at 2010年05月16日 10:50
tekさん、こんにちは。管理人です。

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

avfilterを有効にすると、
-vf "pad=640:480:0:0"
というようなことができるらしいです。

オプションが「-vfilter」と書かれていますが、現在は「-vf」に変更されています。
http://ffmpeg.org/libavfilter.html

ですが、本文で書いたように、libxvidのエンコードができなくなってしまったので、avfilterは無効にしてあります。

avfilterを有効にしても、libxvidのエンコードでエラーにならないようにしたいと思いますので、原因調査中です。

分かりしだいアップデートしますので、それまでは、以前のバージョンをお使いください。

申し訳ありませんが、よろしくお願いします。
Posted by あべちん at 2010年05月16日 17:49
お初です。
携帯動画変換君でffmpeg2として使わせていただいてます。
自分はコンパイル等のことは全くの初心者なのですが変換時にlibfaacが見つからないと出てエラーが起こってしまいました。

よく見るとlibfaacを削除されていらっしゃいますね。

今後入れる予定はないのでしょうか?
Posted by clover at 2010年05月20日 19:18
追記です

自分用以外には入れてないのですね

配布用に入れると何か問題があるのでしょうか?

教えていただきたいです
Posted by clover at 2010年05月20日 19:55
>>cloverさん

ちょうど1年ぐらい前にFAACのコードがLGPLに違反してることが分かり、
libfaacを含んだFFmpegを配布することができなくなってしまました。
http://blog.k-tai-douga.com/article/29147623.html
http://archives.free.net.ph/message/20090427.234537.0908798b.ja.html
Posted by 通りすがり at 2010年05月20日 21:03
初めて投稿させていただきます。
自分の環境だけかもしれませんが
WMVファイルの変換がおかしいです。
WMVファイルの音声部分(WMA)をWAVEに変換するときに
10秒ぐらいで変換が終了しているみたいです。
変換君付属のffmpegだとうまく変換できるみたいです。

Posted by skot at 2010年05月20日 21:20
把握しました。どうも、ありがとうございます。
自分でコンパイルしてみますね
Posted by clover at 2010年05月20日 21:26
cloverさん、通りすがりさん、こんにちは。
管理人です。

通りすがりさん
代わりに回答してくださって、ありがとうございました。
私の回答が遅めなので、とても助かります。

cloverさん
特に自分用というのはなくて、Athlon64最適化版+neroAacEncの組み合わせで使用しています。
内蔵のaacエンコーダが開発中で、ちょっとずつマシにはなってきているので、期待しています。
Posted by あべちん at 2010年05月21日 19:20
skotさん、こんにちは。管理人です。

neroAacEncに読み込ませるため、音声だけwavに変換するときの携帯動画変換君の設定は、以下のようになっています。

wav 16bit 44.1kHzの場合です。

Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vn -acodec pcm_s16le -ac 2 -ar 44100 "<%OutputFile%>.wav""

参考にしていただければ幸いです。
Posted by あべちん at 2010年05月21日 19:32
すいません、条件を追加します。
「-t」 オプションで時間を指定して、さらに
WMAファイル音声をwavに変換する時におかしくなります。
VOBファイルとかだと問題なかったので気付きませんでした。
他の方は問題ないのでしょうか?
Posted by skot at 2010年05月21日 21:10
skotさん、こんにちは。管理人です。

-t、その他の設定値はどうなっていますか?
実際の設定値を書いていただいた方が、確実な回答が得られると思います。
Posted by あべちん at 2010年05月21日 21:53
コマンドはWAVE変換だけなら
Command0=""<%AppPath%>\cores\ffmpeg" -ss 00:00:00.00 -t 03:00:49.00 -y -i "<%InputFile%>" -vn -ac 2 -ar 48000 -vol 512 -f wav "<%OutputFile%>.wav""
です。
あべちんさんの設定に-tコマンドを追加しても発生します。
Posted by skot at 2010年05月21日 22:08
skotさん
もしかして、avisync経由になってませんか?
自分のところの環境ではavisync経由を止めて直接ffmpegに読み込ませていると正常に処理されますが。
Posted by KANAAN-PEPO at 2010年05月22日 10:39
KANAAN-PEPOさん、お返事ありがとうございます。

>avisync経由になってませんか?

ご指摘の通り経由してました。
昔「WMVファイルを携帯動画変換君で使用する」
という記事を参考にしていじってました。
今はffmpegで直接WMVファイルを読み込めるんですね。
Ext0=WMV:\cores\AVS_Skelton.avs
などの部分を変更したらうまくいきました。
ありがとうございます

Posted by skot at 2010年05月22日 12:05
KANAAN-PEPOさん、skotさん、こんにちは。管理人です。

KANAAN-PEPOさん
おぉ、すばらしい!
avisynthとは、全く思いつきませんでした。
情報ありがとうございました。

skotさんも、問題解決されたようで良かったです。
Posted by あべちん at 2010年05月23日 15:01
いえ、自分も以前同じところでひっかかってましたのでそれを教えてもらったことですから。
って、綴り間違ってますね(^^;;)
Posted by KANAAN-PEPO at 2010年05月23日 18:19
KANAAN-PEPOさん、こんにちは。管理人です。

そう言われてみると、微妙に綴りが違ってますね。

このサイトの情報も色々な所からの寄せ集めみたいなものですが、私一人では限界がありますので、教えていただけると、とても助かります。

今後ともよろしくお願いします。
Posted by あべちん at 2010年05月24日 23:35
初めてこちらのページを拝見させていただきました。
唐突で申し訳ありませんが64bit版のffmpegの公開予定はないでしょうか?

Posted by 名無し at 2010年05月27日 13:38
名無しさん、こんにちは。管理人です。

わざわざ「名無し」さんと名乗っていらっしゃるのは、題名のないと言いながら「題名のない音楽会」という題名が付いているTV番組のような感じでしょうか。

それはさておき、この件については要望される方が時々いらっしゃるのですが、管理人に64bit OSの環境がないため、今のところ予定はございません。

いずれ、64bit OSが一般的になったら対応する必要があると考えております。

ということで、ご理解いただければ幸いです。
Posted by あべちん at 2010年05月27日 18:54
丁寧なお返事ありがとうございます。

それと名前は書かなくてもよかったんですね。
ネット上で文章を投稿するのが初めてだったのでマナーがわからずに申し訳ありません。
Posted by 名無し at 2010年05月27日 22:58
名無しさん、こんにちは。管理人です。

あれは冗談で、特に深い意味はありませんので、あまり気になさらないでください。

マナーとしては、何かしらお名前を書いていただいた方が良いと思います。

ニックネームなど、なんでも良いので決めておかれるとよいのではないでしょうか。
Posted by あべちん at 2010年05月30日 17:44
回目、夜6時か10時30分以降しか空いてないといわれて、
一緒に行っていた友達に時間を確認しようと、
ちょっと待ってくれるように頼んだら、5秒くらいして、すぐ切られた・・・・。
NYってこんなもんなんでしょうか・・・。
Posted by tory burch flats sale at 2011年11月05日 09:38
NYってこんなもんです(笑
また新手のスパムコメントですね。

極端に安いTory Burchなんて、たぶん偽物ですので、皆さんだまされないでくださいね。

なんか、面白いので残しておきます。
Posted by あべちん at 2011年11月08日 02:06
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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

ffmpegでInvalid pixel aspect ratio 0/1
Excerpt: いつの頃からか、ffmpegでlibxvidを用いた場合、アスペクト比の指定(-aspect 4:3など)を行わないと、タイトルのようなエラーが出て処理が中断されるようになっています。 また、rev2..
Weblog: 雪羽の発火後忘失
Tracked: 2010-05-27 18:38

ffmpegでInvalid pixel aspect ratio 0/1
Excerpt: いつの頃からか、ffmpegでlibxvidを用いた場合、アスペクト比の指定(-aspect 4:3など)を行わないと、タイトルのようなエラーが出て処理が中断されるようになっています。 また、rev2..
Weblog: 雪羽の発火後忘失
Tracked: 2010-05-30 17:24

ffmpegでInvalid pixel aspect ratio 0/1
Excerpt: いつの頃からか、ffmpegでlibxvidを用いた場合、アスペクト比の指定(-aspect 4:3など)を行わないと、タイトルのようなエラーが出て処理が中断されるようになっています。 また、rev2..
Weblog: 雪羽の発火後忘失
Tracked: 2011-02-13 13:17