2017年01月14日

FFmpeg rev.83014 ダウンロード

遅ればせながら、明けましておめでとうございます。
今年もよろしくお願いします。

FFmpeg最新版(2017/01/14現在)、rev.83104(935404923d)のWindows用バイナリを置いておきます。

今回から方針を変更しまして、レガシー用(legacy)と一般用(generic)の2種類にしました。
レガシー用は、Windows XP対応、QSV非対応です。

ffplayとffprobeは、レガシー用のconfigureオプションでビルドしています。

ffmpegのコアな部分はアセンブリなどで書かれていて、実行時にCPUを判別して選択しているので、-mtune=genericでビルドした場合と、-mtune=athlon64などとした場合で、エンコードにかかる時間はたいして違いがありません。
労力のわりに、あまり効果がないということで、2種類に絞りました。
何卒、ご了承ください。


ffmpeg_bin_legacy-83104.zip
ffmpeg_bin_generic-83104.zip (一般用、QSV対応)

ffplay_bin-83104.zip
ffprobe_bin-83104.zip


以下のライブラリをアップデートしました。

zlib-1.2.10
game-music-emu-0.6.1
Kvazaar v1.0.0-49-g2318bd7
OpenH264 v1.6.0-20170112-git-e1a27c9
opencore-amr-0.1.4
gmp-6.1.2
nettle-3.3
gnutls-3.5.8
speex-1.2.0
libvpx-v1.6.1-36-g159cc3b33
wavpack-5.0.0
libwebp-0.5.2
x264 rev.2744 git-b97ae06
x265 2.2+22-20217c8af8ac
freetype-2.7.1
libass-0.13.6
zimg-2.3.0-20170105-git-2dc8a57

その他、今回より、gcc-6.3.0、mingw-w64-v5.0.1で全部コンパイルしなおしました。

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

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

FFmpegのビルドは、以下の記事を参考にしてください。
FFmpegのビルド (2014/02/17)

ビルド環境:MinGW gcc-6.3.0
binutils-2.27
mingw-w64-v5.0.1

各ライブラリのバージョンは、以下の通りです。
nasm-2.12.02
yasm-1.3.0
zlib-1.2.10
bzip2-1.0.6
libbluray-0.9.3
libbs2b-3.1.0
libcaca-0.99.beta19
libcdio-0.94
libcdio-paranoia-10.2+0.93+1
game-music-emu-0.6.1
gsm-1.0.16
libilbc-2.0.3-dev-20160405-git-746f8e2
Kvazaar v1.0.0-49-g2318bd7
libmodplug-0.8.8.5
lame-3.99.5
OpenH264 v1.6.0-20170112-git-e1a27c9
openjpeg-2.1.2
opus-1.1.3
opencore-amr-0.1.4
vid.stab-v1.1-20150529-git-97c6ae2
vo-amrwbenc-0.1.3
gmp-6.1.2
nettle-3.3
gnutls-3.5.8
rtmpdump-2.4-20151223-git-fa8646d GnuTLS版
snappy-1.1.3
libogg-1.3.2
aoTuV Beta6.03 (2015)
libtheora-1.1.1
speex-1.2.0
twolame-0.3.13
libsoxr-0.1.2
libvpx-v1.6.1-36-g159cc3b33
wavpack-5.0.0
libwebp-0.5.2
x264 rev.2744 git-b97ae06 (make fprofiled)
x265 2.2+22-20217c8af8ac
xvidcore-1.3.4
libiconv-1.14
freetype-2.7.1
expat-2.2.0
fontconfig-2.12.1
fribidi-0.19.7
libass-0.13.6
SDL2-2.0.5
xz-5.2.2
zimg-2.3.0-20170105-git-2dc8a57
mfx_dispatch-20161206-git-1368780


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

レガシー版は、「--disable-dxva2 --enable-memalign-hack」を追加、「--enable-libmfx」を削除している以外は共通です。

$ ./configure --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-opengl --disable-outdev=sdl2 --enable-w32threads --disable-debug --pkg-config-flags=--static --extra-ldflags=-static --extra-cflags="-mtune=generic -mfpmath=sse -msse" --cpu=i686 --optflags="-O2 -finline-functions"
posted by あべちん at 17:20 | Comment(10) | TrackBack(0) | FFmpegダウンロード
この記事へのコメント
x265エンコードに関して報告。
本バージョンではなく、81827でのことです。
過去に同条件でエンコードを実行した時は問題なかったのでデグレードが発生している可能性があります。

入力をts抜きした、mpeg2-tsの場合x265のエンコードが失敗する。

同ファイルで同バージョンのffmpegでx264のエンコードは出来ました。
本バージョンでテストしてみてからまた報告します。
Posted by KANAAN-PEPO at 2017年01月23日 22:18
報告です。

x265のテストは出来てませんが、旧バージョン81827からの移行は問題なく出来ました。
本バージョンでx265のテストはまたしてみます。

あと、個人的な話ですがPCを新調している最中で、Windows7/64(core i5)から、Windows10/64(core i7)に環境が変わります。
また、新しい環境でテストして動作報告しにきます。

Posted by KANAAN-PEPO at 2017年01月25日 21:31
便利に利用させていただいています。
ありがとうございます。
Posted by たこやき太郎 at 2017年01月26日 03:30
x265エンコードに関して報告。

先の81827でエンコードに失敗したmpeg-tsファイルは、83104でも失敗しました。
ただ、試しにソースファイルを変えてみたらこけずに実行中です。
(エンコード処理だけ確認)
ソースファイルが大きすぎるとダメなようです。
(そのコケるソースファイル、x264ではえんこーどできるんですけどね)

また何かわかったら報告に来ます。
Posted by KANAAN-PEPO at 2017年01月27日 23:06
Windows xpでgenericの方は何が足りないんだろう?とdependency walkerで見たら、msvcrt.dllの_wfopen_sだけでした。
_wfopenはあるので、_wfopen_sは別に難しいものじゃないので、obj作ってリンクすればgenericひとつにまとめられそうな気がしますが、どうなんでしょうね?
Posted by のん at 2017年02月06日 00:39
いつもアップしていただいてありがとうございます。助かっています。
いまだにXP使いなのでありがたい対応です。
ありがとうございます
Posted by モクダン at 2017年02月08日 20:43
のんさん、こんにちは。管理人です。

コメントありがとうございます。
お返事が遅くなり、申し訳ありません。

_wfopen_sは、QSVに対応させるためのmfx_dispatchに使われているだけですので、頑張ればなんとかなりそうですね。

ですが、1つですべてに対応させる労力に比べると、2種類ビルドした方が楽だと思います。

やってみる価値はあると思いますので、時間があるときに試してみます。
Posted by あべちん at 2017年02月18日 14:43
たこやき太郎さん、こんにちは。管理人です。

コメントありがとうございます。
お返事が遅くなり、申し訳ありません。

コメントいただけると、とても励みになります。

不定期で更新していますので、またお越しください。
Posted by あべちん at 2017年02月19日 04:08
モクダンさん、こんにちは。管理人です。

コメントありがとうございます。
お返事が遅くなり、申し訳ありません。

アクセス解析を見ると、1月のアクセス数の約35%はWindows10、約34%はWindows7、約11%がWindowsXPで3位でした。

まだまだ需要があるようですので、可能な限り、XP対応は続けていきたいと思います。

今後ともよろしくお願いします。
Posted by あべちん at 2017年02月19日 04:27
KANAAN-PEPOさん、こんにちは。管理人です。

いつも、動作報告していただいて、ありがとうございます。
お返事が遅くなり、申し訳ありません。

x265のライブラリに問題があるのか、ffmpegの方に問題があるのか、謎ですね。

私の環境でもエラーが再現できれば、エラーが出ない時点までさかのぼって調べられるかも知れません。

またご報告をお待ちしております。
Posted by あべちん at 2017年02月19日 04:38
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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