ffmpeg binary eSnips Folder
ffmpeg binary
携帯動画変換君 (3GP_Converter) で利用を想定して多少カスタマイズを施したffmpegのバイナリをここで公開してみる予定です。また、HandBrake のビルドもおくようになりました。 (2009/11/02) Posts・Comments が復帰したようなので戻しました。
golgol7777
 
Web Address: http://www.esnips.com/web/ffmpegbinary
Updated 19 hours 59 minutes ago
2 Comments
Visitors: 12615, "Favorited" by 1 user
Communities: Video
Tags: ffmpeg , x264 , video , transcoding
 
Posts
最新版へのリンク等
Posted 7 days ago
 

<====== ここにおいてあるバイナリの最新版簡易リンク ======>

 

◎ ffmpeg最新版 : ffmpeg-SVN-r20428-bin 
※ SSE2 対応 CPU 向け (Intel Core2 以降推奨)
※ FAAC 利用不可 (ffmpeg ネイティブの AAC エンコーダは利用可能)
※ ffmpeg svn-r20428, x264 git-r1318 などを利用
※ ffmpeg.exe と pthreadGC2.dll は upx -9 で圧縮済み

 

◎ ffmpeg (FAAC利用可能バージョン) : ffmpeg-SVN-r18711-bin-rev9 
※ こちらの旧版は 2009/10/18 で更新停止
※ SSE 対応 CPU で動作します (おそらく)

※ FAAC 利用可能, TS の音声絡み等の一部カスタマイズは未適用
※ ffmpeg svn-r18711, x264 git-r1159+α などを利用
※ ffmpeg.exe と pthreadGC2.dll は upx -9 で圧縮済み

 

<HandBrake 非公式 svn snapshot>
◎ オリジナル版 CLI+GUI : HandBrake-svn2919-unofficial-Win_GUI_CLI 

◎一部改造版 CLI Only : HandBrake-svn2919-experimental-CLI_Only 

 

<====== ビルド環境等 ======>

 

<利用しているツール類>
・MinGW runtime 3.16 ( http://www.mingw.org/ )
・MinGW binutils 2.19.1 ( http://www.mingw.org/ )
・msys 1.0.11 公式リリース版 ( http://www.mingw.org/ )
・MinGW gcc version 4.4.2 Dwarf-2 EH ( http://gcc.gnu.org/ )
・yasm version 0.8.0.2194 ( http://www.tortall.net/projects/yasm/ )
・NASM version 2.07 ( http://www.nasm.us/ )
・Cygwin 1.5.25-15 ( http://cygwin.com/ )
  ※ HandBrake の configure のために python, m4, make 等のツールのみ利用

 

ビルドに関しては以下のページを参考にさせていただきました。
http://blog.k-tai-douga.com/
http://up-cat.net/cgi-bin/wiki/FrontPage.html
http://hp.vector.co.jp/authors/VA020429/ffmpeg/ffmpeg.html

 

---------------------------------------------------------------------

 

<使用している外部ライブラリ (2009/11/08 時点)>
○ bzip2 1.05 ( http://www.bzip.org/ )
○ zlib 1.2.3 ( http://www.zlib.net/ )
○ faac-1.28 & faad2-2.7 ( http://sourceforge.net/projects/faac/ )
○ gsm-1.0-pl13 ( http://user.cs.tu-berlin.de/~jutta/toast.html )
○ lame-3.98-2 [--enable-nasm で構成] ( http://sourceforge.net/projects/lame/ )
○ libogg-1.1.4 & libvorbis-1.2.3 ( http://www.xiph.org/downloads/ )
○ libtheora-1.1.0 ( http://www.theora.org/downloads/ )
○ xvidcore snapshot 20091026 ( http://www.xvid.org/Xvid-Codec.2.0.html )
○ pthreads-w32 ( http://sourceware.org/pthreads-win32/ )
  ※ cvs より ver. 2.9.0.0 相当 (?) を利用。shared リンクのため別途同梱のpthreadGC2.dllが必要
○ x264 git-r1318 ( http://www.videolan.org/developers/x264.html )
○ opencore-amr git-r141 (http://sourceforge.net/projects/opencore-amr/)
  ※ opencore-amr は ffmpeg-r19672 以降のみです。

 

基本的に正式リリースされているソースがあるものはなるべくそれを使うようにしていますが一部例外があります。
また libnut (nutはffmpeg内蔵の方を利用)、speex, schrodinger 他、一部利用していない外部ライブラリがあります。

 

---------------------------------------------------------------------

 

<gccの最適化オプション等>
ビルド時のコンパイラフラグ等については、ffmpeg -L の出力に現れる --extra-cflags の表示、

または HandBrake のアーカイブに含まれているテキスト/GNUMakefile.custom.defs の内容を参照してください。

以下は自分がビルドしていて遭遇した gcc の不具合に関する参考リンクです。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37584
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37750
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
http://hp.vector.co.jp/authors/VA020429/ffmpeg/ffmpeg.html
http://blog.k-tai-douga.com/article/26870166.html のコメント欄等

 

 
Files
Auto slideshow |   View:   Sort by: File | User | Date
 
HandBrake-svn2919-experimental-CLI_Only.zip
HandBrake svn2919 改造版 CLI Only SSE2 対応 CPU 向けビルド。コンパイラを GCC 4.4.2 Dwarf-2 EH に変更しました。ノーマル版でうまくいかない場合はこちらも試してみてください。GUI 付きの方とは異なり、こちらの改造版 CLI Only の方は一番新しいもの以外は更新時に撤去しますのでご了承ください。
By golgol7777 21 hours 4 minutes ago
Size: 5.9MB
5 View(s)
Communities: Experimental Art ,Video
Tags: HandBrake ,experimental ,unofficial ,video ,transcoding ,x264
Get Widgets | Share File | + Add to Quicklist
 
HandBrake-svn2919-unofficial-Win_GUI_CLI.zip
HandBrake svn2919 GUI+CLI SSE2 対応 CPU 向けビルド。コンパイラを GCC 4.4.2 Dwarf-2 EH に変更しました。もしかしたらほんの少しだけ速くなるかもしれません。本家のフォーラムに正式な svn2907 の snapshot ビルドが用意されているので変更点などについてはそちらも参照の上でご利用ください。こちらの GUI 付きの方は公式 snapshot より後のリビジョンのものを一通り残し、本家の snapshot か stable release が更新された時点でそれより古いものは撤去という形で更新していくつもりです。
By golgol7777 21 hours 4 minutes ago
Size: 4.5MB
8 View(s)
Communities: Video
Tags: HandBrake ,unofficial ,video ,transcoding ,x264
Get Widgets | Share File | + Add to Quicklist
 
HandBrake-svn2911-unofficial-Win_GUI_CLI.zip
HandBrake svn2911 GUI+CLI SSE2 対応 CPU 向けビルド。本家の方に svn2907 の snapshot が用意されているのでそちらも参照してください。AAC 音声の mp4 をソースにした場合にクラッシュする件を (多分) 直しました。
By golgol7777 6 days ago
Size: 4.5MB
64 View(s)
Communities: Video
Tags: HandBrake ,unofficial ,video ,transcoding ,x264
Get Widgets | Share File | + Add to Quicklist
 
ffmpeg-SVN-r20428-bin.zip
ffmpeg svn-r20428, x264 git-r1318 に更新のみ。他は特に変更ありません。以前書いたとおり FAAC を利用可能な方のバイナリはこれ以上更新しませんのでご了承ください。
By golgol7777 8 days ago
Size: 3.6MB
175 View(s)
Communities: Video
Tags: ffmpeg ,x264 ,video ,transcoding
Get Widgets | Share File | + Add to Quicklist
 
ffmpeg-SVN-r18711-bin-rev9.zip
ffmpeg は svn-r18711 のままで x264 のみ git-r1159 をベースに r1271 くらいまでのバグフィックス系のコミットを個別にパッチしたものに差し替えました。また、コンパイラも GCC 4.4.2 リリース版 (SJLJ) に変更しています。x264 の vui セッティングを設定可能にしていたコードはこちらのバージョンでは削除しました (mp4boxとかで後からでも直せるので)。x264 の r1260 での API 変更により ffmpeg 側が r18711 のままだと最新版とリンクできなくなったのでこちらの r18711 版は更新を打ち切る予定です。今後も faac 込みで使いたい方は svn の最新版をご自分でビルドして使うことをお勧めします。(追記) -L の表示で gcc 4.4.1 となっていて、正常にビルドできているか怪しかったのでこちらの版のみ再ビルドしてアップロードしなおしました。
By golgol7777 22 days ago
Size: 3.3MB
147 View(s)
Communities: Video
Tags: ffmpeg ,x264 ,video ,transcoding
Get Widgets | Share File | + Add to Quicklist
 
ffmpeg-SVN-r20267-bin.zip
ffmpeg svn-r20267, x264 git-r1292 に更新し、コンパイラを GCC 4.4.2 リリース版 (SJLJ) に変更しました。その他 (1) OreAQ などのカスタム版 x264 対応コードは今回を機に削除しました。(2) 以前追加した timescale 直接指定オプションの対象をストリームコピーの場合のみに限定しました (映像を再エンコードする場合はうまくいかないようなので)。 (3) ソースが TS の場合の音声ずれ対策部分を若干変更しました。 (4) x264 への vui パラメータ (vidformat など) の渡し方を変更し、いつの間にか AVCodecContext 内に追加されていたそれっぽいフィールドを使うように修正しました。
By golgol7777 22 days ago
Size: 3.6MB
46 View(s)
Communities: Video
Tags: ffmpeg ,x264 ,video ,transcoding
Get Widgets | Share File | + Add to Quicklist
 
Comments
Add Comment: Video Audio Text
To add comments, you will need to sign in to your eSnips account.
golgol7777 writes:
<オリジナルのffmpegからの変更点2> 
 
ここにおいている ffmpeg では一部 xvid 関係のオプションの仕様を変更しています。
基本的には xvid の VFW インターフェースと大体同じような感覚で変更できると思われます。
 

○ ffmpeg のオプションと xvid 関係のパラメータのマッピング調整
→ -flags2 +bhq で HQ B-Frame フラグ ON
→ -cmp +chroma で Chroma ME 有効
→ -lumi_mask 1.0 で VAQ がデフォルト強度で有効。
    値を増減させるとそれに比例してAQの強度が変わります
 
○ -me_method は VFW インターフェースの motion estimation precision における
プリセットの各値と
 
・full が Quality 6
・epzs が Quality 5
・log1/phods/x1 が Quality 4
・zero が Quality 0
 
のように対応します。
デフォルトは -me_method epzs (Quality 5 相当) です。
VFW では 0~3 が区別されていないようなので、ここの ffmpeg でも 0~3 はなにも変わりません。
 
○ -mbd は VFW インターフェースの VHQ mode におけるプリセットの各値と
 
・0 が mode 0 (None)
・1 が mode 2 (Limited Search)
・2 が mode 3 (Midium Search)
・3 が mode 4 (Wide Search) <- これは新規に追加しました
 
のように対応します。
デフォルトは -mbd 0 です。また VHQ mode の mode 1 (Mode Decision) に対応する指定値は設けていません。
これは従来の ffmpeg の仕様と VFW の設定を見比べて、新旧の仕様を比較したときに (速度・質の両面で)
大体同じくらいの設定になるようにするためです。
 
※注意※ xvid を使う場合の制限事項
映像を -vcodec libxvid でエンコードして mp4 系コンテナ (mov, mp4, 3gp 等) で書き出す場合 B フレームは使えません。
これは ffmpeg 側で B フレームが pack されていない場合に生じる遅延を考慮できていないからです。
xvid を利用して映像をエンコードし mp4/mov/3gp で書き出す場合は B-Frame は使用できません。
avi (packed bitstream) で使う場合は問題ありません。
 
Added on Feb. 22 2009
golgol7777 writes:
<オリジナルのffmpegからの変更点1>
 
○ -fixaspect, -muxvb, -muxab といった携帯動画変換君付属のffmpegに
あったオプションを一部移植 (-maxfr は自分が使わない為つけてません)
 
○ 携帯動画変換君で、エンコード中に「中断」ボタンを押してもとまってくれないのを修正
 
○ -sar (ピクセルアス比指定オプション) の追加

○x264 の以下のオプション追加 (それぞれ x264.exe の対応するオプションと同じ)
→ -cqm, -cqmfile
→ -deadzone_inter, -deadzone_intra
→ -flags2 +dct_decimate (-dct_decimate)
→ -psy_rd, -psy_trellis
→ -aq_mode, -aq_strength
 
○HE-AAC/HE-AACv2 のサンプルレートやチャンネル数を正しく認識できるように修正
 
○入力ファイルのアスペクト比が不明で、コマンドラインでも指定されていない場合、
とりあえず SAR を 1:1 として処理するように修正
→ これしとかないと、xvid に par=0:0 という値がセットされて途中で終了することがあります。
一応、-aspect を指定すれば回避できるのですが、これくらい自動で回避してくれということで。
 
○lame の音声終端での処理の不具合の修正

-muxvb/ab については、手元にそういった制限を設けている再生機器がないため、効果のほどが確認できません。
一応変換君同梱のffmpegのソースを見て同じところを偽装するようにはしてみたつもりです。
その他、基本的にプラグラム素人 (ソースの細かい内容までは把握できない & アセンブリ分からないレベル) が
自分用に適当に弄ったものだという点を念頭において、自己の責任においてご利用ください。
Added on Feb. 22 2009
 
Things you can do
Bookmark this Folder
Create a Widget
RSS
Add to Favorites
Report Abuse