Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- cd /d %~dp0
- @echo.
- @echo Zeranoe版ffmpeg3.3.2で、16bit深度YUVでSSIMを測ると1.0を超えてしまうよテスト
- @echo (今回使ったのが3.3.2というだけで、以前のバージョンでも発生していた)
- @echo.
- @echo ※注意
- @echo Avisynthではなく、Avisynth+が必要です。
- @echo うまくいかない場合は、Avisynth+をインストールするか、
- @echo ffmpeg.exeと同じ場所にAvisynth+のAvisynth.dllを置いて下さい。
- @echo.
- @echo http://avisynth.nl/index.php/Avisynthplus/Downloads
- @echo.
- set ffmpeg=ffmpeg.exe
- set inputAvs=ffmpeg_HighBitDepthYUVColorBar.avs
- set outfile=ffmpeg_out265.mp4
- set ssimLog=ffmpeg_HighBitDepthSSIM.txt
- REM ちなみにこれを YUV420P16 に変えても、結果のSSIMは1.0を超えてしまう。
- set inFormat=YUV444P16
- REM 入力するavsファイルの生成
- @echo ColorBars(pixel_type="%inFormat%").Trim(0,100).Info() > %inputAvs%
- set crf=23
- @echo ■■■↓ログここから■■■■■■■■■■■■■■■■■■■■■■■■■■■ > %ssimLog%
- @echo. >> %ssimLog%
- @echo %inFormat%のソースを、libx265のcrf%crf%で >> %ssimLog%
- @echo yuv420p(Main)にエンコードし、SSIMを計測します。 >> %ssimLog%
- @echo. >> %ssimLog%
- @echo ■■■エンコード■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ >> %ssimLog%
- @echo. >> %ssimLog%
- @echo %inFormat%のソースを、libx265のcrf=%crf%でyuv420p(Main)にエンコードしています...
- %ffmpeg% -y -i %inputAvs% -c:v libx265 -crf %crf% -pix_fmt yuv420p %outfile% >> %ssimLog% 2>&1
- @echo. >> %ssimLog%
- @echo ■■■SSIMの計測■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ >> %ssimLog%
- @echo. >> %ssimLog%
- @echo %inFormat%でSSIMを計測中です...
- REM 本当はoutfileもYUV444P16にあわせてから渡した方がいいのかもしれないけど
- REM ffmpegのオプション指定でどうやればいいかよくわからんでござる。
- REM まあYUV444P16で計測されてるように見えるし、outfileをavsでYUV444P16に
- REM 変換してから計測してもSSIMが1.0を超える事象は発生するので関係ないはず。
- %ffmpeg% -i %inputAvs% -i %outfile% -lavfi "ssim" -f null - >> %ssimLog% 2>&1
- @echo. >> %ssimLog%
- @echo ■■■↑ログここまで■■■■■■■■■■■■■■■■■■■■■■■■■■■ >> %ssimLog%
- del %inputAvs%
- del %outfile%
- @echo.
- @echo エンコードと計測が終了しました。以下にログを表示します。
- @echo.
- type %ssimLog%
- @echo.
- @echo ログは上記の通りです。SSIMが1.0を超えてしまっています。
- @echo このログは %ssimLog% に記録されています。
- @echo.
- pause
Add Comment
Please, Sign In to add comment