2012年11月30日

FFmpeg rev.47289 ダウンロード

FFmpeg最新版(2012/11/29現在)、rev.47289(6abb9a9)のWindows用バイナリを置いておきます。

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

2012/11/30 21:30頃 追記
polarssl-1.2.0をpolarssl-1.2.3に変更しました。
その他は変更ありません。

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

ffplay_bin-47289.zip

以下のライブラリをアップデートしました。
polarssl-1.2.3
libvpx-v1.1.0-328-g836f8e9
x264 rev.2230 (修正版)
fontconfig-2.10.2

※x264 rev.2230修正内容についてはこちらの記事をお読み下さい。

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

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

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

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

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


コンパイル環境:MinGW gcc-4.7.2
binutils-2.23.1
mingw-w64-v1.0.6 (sezero_20111101-w32-update-rev.5339)

各ライブラリのバージョンは、以下の通りです。
nasm-2.10.05
yasm-1.2.0
zlib-1.2.7
bzip2-1.0.6
libbluray-0.2.3
libcaca-0.99.beta18
libcdio-0.90
gsm-1.0.13
libmodplug-0.8.8.4
lame-3.99.5
openjpeg-1.5.1
opus-1.0.1
opencore-amr-0.1.3
vo-aacenc-0.1.2
vo-amrwbenc-0.1.2
polarssl-1.2.3
rtmpdump-2.4-20121110 PolarSSL版
libogg-1.3.0
aoTuV Beta6.03 (libvorbis-1.3.3パッチ)
libtheora-1.1.1
speex-1.2rc1
twolame-0.3.13
libvpx-v1.1.0-328-g836f8e9
x264 rev.2230 (make fprofiled)
xvidcore-1.3.2
libiconv-1.14
freetype-2.4.10
expat-2.1.0
fontconfig-2.10.2
fribidi-0.19.4
libass-0.10.1
SDL-1.2.15

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

最適化無し版
--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-libopenjpeg --enable-libopus --enable-librtmp --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --disable-outdev=sdl --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 03:14 | Comment(10) | TrackBack(0) | FFmpegダウンロード
この記事へのコメント
おはようございます。ありがたく使わせて頂きます。ところで、Pentium4以外全て --cpu=i686にしてあるのは仕様ですか?
Posted by Kamedo2 at 2012年11月30日 05:10
Kamedo2さん、こんにちは。管理人です。
ご訪問ありがとうございます。

配布用なので、特定のCPUでしか動作しないということにならないように--cpu=i686としています。

Pentium4だけは他のCPUと違って、CMOV命令を使うと遅くなるらしく、--cpu=pentium4とすると、FFmpegのコンパイル時にCMOV命令が使われなくなるようになっています。
GCCの仕様ではなくてFFmpegの仕様です。

その辺りのことは、FFmpegのコンパイル手順の記事にも少し書いていますので、興味があればお読みください。
Posted by あべちん at 2012年11月30日 19:12
ありがとうございます。感謝します。
Posted by Kamedo2 at 2012年12月02日 01:33
報告しておきます。

先日の結合すると結合した時点以降の画像が崩れる、は本バージョンでも発生しました。
単体のエンコード自体は綺麗にでてきているのですが。
x264の仕様がかわった?

とまで考えてる次第です。
当面、前前バージョンを使用することにします。
Posted by KANAAN-PEPO at 2012年12月04日 12:47
KANAAN-PEPOさん、こんにちは。管理人です。

エンコード側だけでなくデコード側も変わっている場合がありますので、すべての動画で同じ現象になるのか、エンコード設定など、もう少し情報があると、何か手がかりがつかめるかもしれません。
Posted by あべちん at 2012年12月04日 13:36
こんばんは、あべちんさん
KANAAN-PEPOです。

詳しく調べるより編集優先にして、ffmpegをもとに戻すのを先にしたのであまり詳しくわかりません。
ただ、再現度は100%で、編集していない動画は綺麗に再生できますが、少しでも編集を行うと編集点以降崩れます。
崩れるのはキーフレームを消した状態と同じなのですが、次のキーフレームでも元に戻らないという状態です。
動画の再生はPC/mpc-64、PS3で、両方共再現します。

編集に使用しているavidemuxはキーフレームを削除するとエラーになって動画の出力ができないぐらいシビアに管理しています。
なので、ffmpegで何かが起こっているとしか考えられない状態です。

ふとした偶然でわかったのは、本バージョンでエンコードしたmp4は46392でエンコードしたよりファイルサイズが若干小さくなっていたことぐらいですか。

過去にもffmpegを通したあとでおかしくなったことが次のバージョンで問題なくなったことがあったので様子を見ようと思っています。

出来上がった動画に異常があればわかりやすいんですが・・・・
Posted by KANAAN-PEPO at 2012年12月04日 20:10
こんにちは、いつも感謝して使わせていただいています。

removelogoを使いたいのですが、以下のエラーが出て、どう対処していいか困っています。
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

フィルタ設定は以下になりますが、間違っていますか?素人質問ですが、よろしくお願いします。
-vf "removelogo='C:\xyz.ppm'"

Posted by どんぐり at 2012年12月12日 23:00
どんぐりさん、こんにちは。管理人です。
ご訪問ありがとうございます。

removelogoは試したことがなかったので、初めて使ってみました。
テレビ局のロゴとか、固定した場所のロゴを消したりできるんですね。

フィルタの書式は、どんぐりさんの設定で間違っていないようです。

検索してみたら、Microsoft Visual C++ Runtime Libraryのエラーぽいですね。

エラーは、removelogoを追加した時だけ出ますか?

ffmpegと組み合わせて他のツールを使っていたら、他のツールのエラーということはないでしょうか?
Posted by あべちん at 2012年12月13日 01:56
> どんぐりさん

すみません。
最近のもので試したら問題なく、rev.47289だとエラーになりました(/ω\)キャ

removelogoを使いたい方は他にもいらっしゃるかもしれませんので、ビルドできしだいアップします。
Posted by あべちん at 2012年12月13日 02:15
ありがとうございます。
過去の46392や46833を試しましたが、やはり同じエラーが出ます。M/S C ++ 2005,2008を再インストールしましたが、やはり同じエラーでした。次のリリースを待ってみます。
Posted by どんぐり at 2012年12月13日 22:20
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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