見出し画像

AV1形式の動画エンコードの比較(備忘録)

概要

あまり情報が少ないAV1形式の動画エンコードについて妥当な設定を検証する。
検証方法はSSIMを用いた評価とし、エンコードソフトはffmpegをバッチファイルで稼働させる。
エンコード用コマンドは、

ffmpeg -i %1 -pix_fmt yuv420p -c:v libsvtav1 -crf 20 -preset 1 -svtav1-params fast-decode=1 -c:a copy "%~n1_AV1_test1.mp4"

SSIM計測用コマンドは

ffmpeg -i "%~n1_AV1_test1.mp4" -i %1 -filter_complex ssim -an -f null -

を用いる。

条件は、色深度・CSR・presetを変動させるものとして、
色深度は、8bit(yuv420p),10bit(yuv420p10le)(12bitも試したかったが、ffmpegでは対応できないと勝手に変更されてしまった。yuv420p12leでは無いのだろうか…)
CSRは16,20
presetは1~10までを検証する。
動画ファイルは1920×1080 yuv420p 30fps 2:39.60のものを用いる。
元のファイルの色深度が8bitであった場合、エンコード後の色深度を10bitに上げた場合のSSIMも検証したい。

検証結果


元の動画ファイルが8bitの場合でも10bit化の効果はありそう
一般的には0.98以上は判別困難らしいのでどれでも問題はなさそう。
肉眼でも判別できなかった。
preset5以下は使い物にならない。遅すぎる。fps30でもこれなのでfps60の動画なら倍の時間が掛かる。容量以上に加速しているのでpreset10でも良いかも
色深度による差はなさそう。10bitの方がSSIM値が高いので同じビットレートは10bitの方が優秀とも言える
色深度による差はなさそう。

結論

CSRは20で十分以上
色深度は10bitの方が優秀なのも間違いない
速度と容量を見比べるとpreset10が優秀

CSR20 色深度10bit(yuv420p10le) preset10でやってみる。


この記事が気に入ったらサポートをしてみませんか?