2012年07月22日

FFmpeg rev.42754 ダウンロード

FFmpeg最新版(2012/07/22現在)、rev.42754(2f48dff)のWindows用バイナリを置いておきます。

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

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

以下のライブラリをアップデートしました。
libcaca-0.99.beta18 (新規)
libvpx-v1.1.0-143-ga9cb6f6
x264 rev.2208
fontconfig-2.10.0

今回追加したlibcacaは、動画のピクセルを、文字に変換して出力するライブラリです。
元の動画を「test.flv」とした場合、Windowsのコマンドプロンプトで、以下のように実行します。

ffmpeg -i test.flv -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -

携帯動画変換君の場合は、以下のとおりです。

Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -acodec copy -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -"

使い道はよく分かりませんが、なかなか面白いと思います。


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

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

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

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

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

コンパイル環境:MinGW gcc-4.7.1
binutils-2.22
mingw-w64-v1.0.4 (sezero_20111101-w32-update-rev.5151)

各ライブラリのバージョンは、以下の通りです。
nasm-2.10.01
yasm-1.2.0
zlib-1.2.7
bzip2-1.0.6
libbluray-0.2.2
libcaca-0.99.beta18
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.4
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.1.0-143-ga9cb6f6
x264 rev.2208 (make fprofiled)
xvidcore-1.3.2
libiconv-1.13.1
freetype-2.4.10
expat-2.1.0
fontconfig-2.10.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-libcaca --enable-libcdio --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --disable-ffplay --disable-ffprobe --disable-ffserver --enable-w32threads --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse" --optflags="-O2 -finline-functions"

※--extra-cflagsは、最適化の種類により異なります。
posted by あべちん at 14:16 | Comment(4) | TrackBack(0) | FFmpegダウンロード
この記事へのコメント
残念、xpではmsvcrt.dllとkernel32.dllにエクスポートが足りないため動かなくなったようです。
エンコード開始直後に終了してしまうので、上記はffmpeg_bin-42754を使ってdepends上で動かして見てみました。が、遅延ロードっぽいのでwindbg上で動かしてみると、image00400000+1f65eでアクセス違反(0xc0000005)でした。
Posted by ろーみん at 2012年07月22日 16:12
> ろーみんさん

私のPCもXP SP3で、ビルド環境もrev.42106と同じなのですが、エラーにはなりませんでした。

他に変わったのは、x264がrev.2200からrev.2208になったくらいですが、FFmpeg本体の更新の何かなんでしょうかね?(謎

動作環境によるのか、FFmpegの問題か、しばらく様子を見ます。
Posted by あべちん at 2012年07月22日 17:41
以前、-padtop(bottom)の件でお世話になりました。低スペック携帯でもいろんな動画が見られて重宝してます。ありがとうございました(_ _)。
ところで、動画視聴の際、早送りとか巻き戻しとかの機能を使うと、思ったところで止まってくれません。これは携帯電話のインターフェイスの要因が大と思われますか?
Posted by 低スペック携帯 at 2012年08月07日 02:00
低スペック携帯さん、こんにちは。管理人です。
ご利用いただきありがとうございます。

機種にもよると思いますが、GOPサイズを調整すると、スキップする幅を変えられるかもしれません。

GOPサイズを小さくするとスキップ幅は小さくなりますが、動画ファイルのサイズは大きくなります。

高度なビデオオプション
http://mobilehackerz.jp/archive/wiki/index.php?FFMPEG%2F%A5%D3%A5%C7%A5%AA#advance_video

-g <gop_size>
の所を読んでみてください。
Posted by あべちん at 2012年08月08日 09:48
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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