はえ~。
動画を1440x1080のMP4に変換するのにffmpeg使ってたんですが、うちの年代もののi7マシンでは、10~15fpsくらいの性能しか出ませんでした。QSVもない模様です。
frame= 238 fps= 12 q=31.0 size= 7466kB time=00:00:07.61 bitrate=8030.6kbits/
frame= 242 fps= 12 q=31.0 size= 7641kB time=00:00:07.74 bitrate=8083.2kbits/
frame= 250 fps= 12 q=28.0 size= 7995kB time=00:00:08.00 bitrate=8187.0kbits/
frame= 254 fps= 11 q=31.0 size= 8177kB time=00:00:08.12 bitrate=8241.6kbits/
frame= 260 fps= 11 q=31.0 size= 8510kB time=00:00:08.44 bitrate=8252.6kbits/
frame= 273 fps= 11 q=31.0 size= 8844kB time=00:00:08.81 bitrate=8222.6kbits/
frame= 286 fps= 12 q=31.0 size= 8996kB time=00:00:09.25 bitrate=7959.7kbits/
CPUコアを5つも6つも使って、です。
nvencありのffmpegを使うと、100fps超になりました。( preset default)
frame=15445 fps=117 q=0.0 size= 301703kB time=00:08:35.34 bitrate=4795.9kbits/s
frame=15506 fps=117 q=0.0 size= 302432kB time=00:08:37.38 bitrate=4788.6kbits/s
frame=15566 fps=117 q=0.0 size= 303031kB time=00:08:39.38 bitrate=4779.6kbits/s
frame=15624 fps=117 q=0.0 size= 305554kB time=00:08:41.32 bitrate=4801.5kbits/s
frame=15684 fps=117 q=0.0 size= 306496kB time=00:08:43.32 bitrate=4797.8kbits/s
frame=15743 fps=117 q=0.0 size= 307615kB time=00:08:45.29 bitrate=4797.3kbits/s
frame=15805 fps=117 q=0.0 size= 308133kB time=00:08:47.36 bitrate=4786.5kbits/s
frame=15866 fps=117 q=0.0 size= 308501kB time=00:08:49.39 bitrate=4773.8kbits/s
frame=15926 fps=117 q=0.0 size= 308820kB time=00:08:51.39 bitrate=4760.8kbits/s
frame=15989 fps=117 q=0.0 size= 309153kB time=00:08:53.49 bitrate=4747.1kbits/s
速度優先なら、100fps超になりました。( preset hp)
frame= 1377 fps=136 q=0.0 size= 56187kB time=00:00:45.94 bitrate=10017.9kbits/
frame= 1448 fps=137 q=0.0 size= 57501kB time=00:00:48.31 bitrate=9749.6kbits/s
frame= 1518 fps=137 q=0.0 size= 58410kB time=00:00:50.65 bitrate=9447.0kbits/s
frame= 1584 fps=136 q=0.0 size= 62489kB time=00:00:52.85 bitrate=9685.6kbits/s
frame= 1653 fps=136 q=0.0 size= 65375kB time=00:00:55.15 bitrate=9709.9kbits/s
frame= 1722 fps=136 q=0.0 size= 68180kB time=00:00:57.45 bitrate=9720.8kbits/s
frame= 1790 fps=136 q=0.0 size= 71759kB time=00:00:59.72 bitrate=9842.4kbits/s
frame= 1857 fps=136 q=0.0 size= 75201kB time=00:01:01.96 bitrate=9942.3kbits/s
なるほどこれならSHIELDタブレットも使い物になりますわな。
CPU負荷は20%弱なので、2枚刺し、3枚刺しも可能ですね。
さて、元画像のサイズは1440x1080なのですが、 960x720に縮小変換だと、80fps程度でした。
でまぁ、
-b:v 2500k
のようにビットレートを制限すると、H.264とは比べ物にならない低画質になったりします。
やっぱりストリーミング用なんですかね。
環境構築メモ:
・Ubuntu14.04の素の環境(12.04だといろいろ古すぎる)
・ffmpeg-windows-build-helpers
rdp-ffmpeg-windows-build-helpers · GitHub
$ raw.github.com/rdp/ffmpeg-windows-build-helpers/master/cross_compile_ffmpeg.sh –O cross_compile_ffmpeg.sh
$chmod u+x cross_compile_ffmpeg.sh
$ ./cross_compile_ffmpeg.sh
・できたffmpeg.exeが動くことを確認
・nvencSDKダウンロード
ffmpeg に nvenc(cuda) をインストールする ニコラボ
SDK から \Samples\nvEncodeApp\inc\nvEncodeAPI.h を見つてコピー
・cross_compile_ffmpeg.sh を編集
build_ffmpeg() {
local type=$1
local shared=$2
local git_url="https://github.com/FFmpeg/FFmpeg.git"
local output_dir="ffmpeg_git"# FFmpeg + libav compatible options
# local extra_configure_opts="--enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --en\
able-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra\
-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-loleaut32"
local extra_configure_opts="--enable-nvenc --enable-nonfree --enable-libsoxr --enable-fontconfig --enable-libass --enable-lib\
utvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libc\
aca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra\
-libs=-loleaut32"
・ffmpegもう1回ビルド
$ ./cross_compile_ffmpeg.sh
環境メモ:
・i7 860/ GTX750Ti
・ffmpeg-20150131-git-f5722ba-win64-static(ベース環境)
・上記ベースのffmpeg.exeをUbuntu上でクロスコンパイルしたものに差し替えて使用
コメント