FFmpeg最新版(2014/07/24現在)、rev.64958(ce8e27e)のWindows用バイナリを置いておきます。
ffmpeg_bin-64958.zip
ffmpeg_bin_pentium4-64958.zip (Pentium4最適化版)
ffmpeg_bin_core2-64958.zip (Core2最適化版)
ffmpeg_bin_athlon64-64958.zip (Athlon64最適化版)
ffmpeg_bin_phenom-64958.zip (Phenom最適化版)
ffplay_bin-64958.zip
ffprobe_bin-64958.zip
以下のライブラリをアップデートしました。
libbluray-0.6.0
vid.stab-0.98-20140712-git-4aaedf4
polarssl-1.3.8
rtmpdump-2.4-20140706-git-a1900c3
libvpx-v1.3.0-3571-g0cf0b02
x264 rev.2453 git-ea0ca51
x265 1.2+289-b78d4dc01e2c
その他、今回より、ライブラリをgcc-4.9.1で全部コンパイルし直しました。
バイナリはどれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Duron、Sempronの一部、Pentium3など)をお使いの方は、最適化無し版を使ってみてください。
最適化無し版でもエラーが出る場合は、サポート外とします。
zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。
携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。
FFmpegのコンパイルは、以下の記事を参考にしてください。
FFmpegのコンパイル (2014/02/17)
コンパイル環境:MinGW gcc-4.9.1
binutils-2.24
mingw-w64-v3.1.0
各ライブラリのバージョンは、以下の通りです。
nasm-2.11.05
yasm-1.2.0
zlib-1.2.8
bzip2-1.0.6
libbluray-0.6.0
libcaca-0.99.beta19
libcdio-0.92 (Win32 IOCTLパッチ)
libcdio-paranoia-10.2+0.90+1
game-music-emu-0.6.0
gsm-1.0.13
libilbc-1.1.1-20140609-git-91f1a5c
libmodplug-0.8.8.5
lame-3.99.5
openjpeg-1.5.1
opus-1.1
opencore-amr-0.1.3
vid.stab-0.98-20140712-git-4aaedf4
vo-aacenc-0.1.3
vo-amrwbenc-0.1.3
polarssl-1.3.8
rtmpdump-2.4-20140706-git-a1900c3 PolarSSL版
libogg-1.3.2
aoTuV Beta6.03 (2014)
libtheora-1.1.1
speex-1.2rc1
twolame-0.3.13
libsoxr-0.1.1
libvpx-v1.3.0-3571-g0cf0b02
wavpack-4.70.0
libwebp-0.4.0
x264 rev.2453 git-ea0ca51 (make fprofiled)
x265 1.2+289-b78d4dc01e2c
xvidcore-1.3.3
libiconv-1.14
freetype-2.5.3
expat-2.1.0
fontconfig-2.11.1
fribidi-0.19.6
libass-0.11.2
SDL-1.2.15
最適化オプションは、以下のようにしています。
最適化無し版
--extra-cflags="-march=i686 -mtune=generic" --enable-memalign-hack
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 --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-opengl --disable-outdev=sdl --enable-w32threads --disable-debug --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse" --optflags="-O2 -finline-functions"
※--extra-cflagsは、最適化の種類により異なります。
2014年07月25日
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/101939912
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/101939912
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
こんばんニャ(=^∇⌒=)ノ
久々のレポでし・・・
私はまだ FFmpeg rev.62757 を使ってます。。。
FFmpeg rev.64958 は全体的に暗く感じます!
FFmpeg rev.64958 が良過ぎ鴨!?
毎日暑いので体に気をつけて下さいね(=^・^=)ノ
それでは・・・
そろそろBulldozer最適化を入れて欲しい。
Athlon64はもうWindows8が動きませんから
レガシーとして切り捨ててもいいと思う
レポートありがとうございます。
私は画質の違いまではよくわからないので、レポートしていただいて、とても助かります。
x264-develの方で更新があったので、近いうちにまたアップするかもしれません。
それにしても、毎日暑いですねー(;´д`)ゞ
まさみさんも、お体にお気を付けくださいね。
コメントありがとうございます。
最適化については、時々ご要望があるのですが、今のところ、これ以上増やす予定はありません。
もっとガチガチに最適化しようと思えばできるのですが、配布しているバイナリは、互換性を優先して最適化はほどほどにしています。
現状、どれもたいした差がないので、-march=i686 -mtune=generic 版だけでもいいんじゃないかと考えているところです。
いつになるか分かりませんが、BulldozerアーキのPCを使える機会があれば、最適化オプションの違いを試してみます。
こんばんニャ(=^∇⌒=)ノ
訂正
FFmpeg rev.64958 が良過ぎ鴨!?→×
FFmpeg rev.62757 が良過ぎ鴨!?→◎
今日はお外で仕事だったから日干し状態で参りました。。。
日焼け止めを何回塗り塗りしたか・・・
今日も熱帯夜でしよ(=´Д`=)
おやすみ(=^・^=)ニャ!
AMDのBulldozer系は次で終わるし新たなCPUは増えるばかりなので、avx版とsse版の二本に絞ったほうがラクかもしれませんね。
> FFmpeg rev.62757 が良過ぎ鴨!?→◎
なるほど、そういうことでしたか。
気に入ったのを使うのが一番いいですね。
日焼けはシミの原因にもなるので、気をつけないといけませんね。自分も。
コメントありがとうございます。
> 去年の暮にBulldozer最適化版を出してほしいとお願いして、その後自ビルドできたと報告したものですが、
うろおぼえでしたが、もうそんなに経ってたんですね。
数%の違いのために、CPUごとにいくつもビルドしていたらキリがないので、将来的には、
レガシー版、32bit版、64bit版
くらいにまとめようかと考えています。
個人的にrtmpdumpのバイナリが必要なのでいつもビルド時に一緒にインストールしていますが、あるときからバイナリを実行すると「動作を停止しました...」の画面が出るようになって困ってしまいました。
PolarSSLが1.3.7以上だとそういうエラーになるみたいです。
ffmpegに及ぼす影響については調べていませんが、ご参考までに。
お返事が遅くなり、申し訳ありません。
しばらくrtmpdump単体で動作確認していなかったので、気が付きませんでした。
rtmpsuckもクラッシュするので、librtmpに問題がありそうです。
ffmpegにも影響があるかもしれませんね。
原因が分かるまで、次のffmpegからPolarSSL 1.3.6に戻します。
情報ありがとうございました。
PolarSSL 1.3.7以降、
library/bignum.c
の中の、mpi_fill_random関数が原因で、rtmpdumpがクラッシュしているという所までは分かりました。
とりあえず、mpi_fill_random関数をPolarSSL 1.3.6のものに戻したらクラッシュしなくなりました。
こんな修正で良いのか自信がないので、もう少し調べてみます。
いつもありがたく使わせていただいております
バグ報告をしたいのですが
FFmpeg rev.64426から
ffmpeg -i input.hoge -vcodec libxvid output.mp4
で出力された動画が再生できません
なんとか直らないものでしょうか
mov、mp4形式へlibxvidでエンコードするとファイルが壊れる現象はバグ報告しておきました。いつ修正されるかは分かりませんが、気長に待ってみるといいかと思います。(Mpeg4 Simple Profileでエンコードすべきところがそうならないのが原因だと思われます。)
あとはffmpeg-2.2.7のバイナリなら正常にエンコードできるので、それを利用するのも一つの手かと思います。
うちのサイトに2.2.7のバイナリもアップしていますので、よろしかったらご利用ください。
2014-09-07 12:20ごろmov,mp4形式におけるlibxvidエンコードの不具合が修正されましたので、ご報告します。
libxvidのバグのご報告ありがとうございます。
eingusteさんのコメントを見るまで原因が分からず、お返事が遅くなってしまいました。
次にffmpegをアップする時は、バグが修正されていますので、お試しくださいませ。
情報ありがとうございます。
libxvidでエンコードされた動画の、ヘッダ情報が正しく書き込まれてなかったようですね。
教えていただくまで、まったく気が付きませんでしたので助かりました。
ありがとうございました。
xvidの報告をしたものです
rev.66193で修正されているのを確認しました
みなさん、ありがとうございました