AviSynthでSVT-AV1

大体予想出来ると思いますがavs2pipemod+SvtAv1EncAppの組み合わせです

SvtAv1EncAppはYUV4MPEG(y4m)をサポートしているので標準出力でy4mを食わせてあげることが出来ます。

avs2pipemod64 -y4mp inpurt.avs | SvtAv1EncApp  -i stdin 任意のパラメーター --output output.ivf

SvtAv1EncAppは-oだとエンコード結果を出力せずにReconFileを出力するようなので要注意(バカでかいファイルが出来るので気づくと思う)

L-SMASHが現状AV1のmuxに対応していない(一応プルリクは出てるっぽい
のでmkvmergeでmux

mkvmerge -o output.mkv --chapters chapter.txt video.ivf audio.m4a 

みたいな感じでOKです。厳密にはLanguageとか指定出来る範囲で指定した方がいいですが最低限これでmuxは出来ます。

mkvmergeでアスペクト比を指定する場合は

--aspect-ratio 0:16/9

のように指定します、parでもsarでもない形なので気をつけましょう。ここでは1440×1080を1920×1080に引き延ばすタイプの設定を例にしています。
確認してないですが、0:4/3みたいに指定してあげればよしなににしてくれそうな感じはしますね

パラメーターは試走時は

–rc 0 –preset 7 -q 11 –min-qp 0 –max-qp 40 –lookahead 20 –irefresh-type 2 –keyint 24  –disable-dlf

としました。

レートコントロールは

–rc Rate control mode(0 = CQP , 1 = VBR , 2 = CVBR)

SvtAv1EncApp –help

の3つでVBR,CVBRはビトレ基準となってしまうため消去法でCQPです。

presetは1とか2にすると1fが数秒経って終わるかどうかなので正直実用的ではないです。(Ryzen7 3700Xでの検証)

min-qpは明示してなくても0みたいな気はしますが明示しておきます。
そもそもエンコード開始時にx264/x265の用に明示してない分のパラメーターが出ないのでわかりにくいですね。(presetを調べろそれはそう)

x264/265とちがってパラメーターの意味がわからなかったりとかありがちなので公式の資料をよく読んだ方がよさそう

SVT-AV1/Docs at master · OpenVisualCloud/SVT-AV1

SVT-AV1/Appendix-Film-Grain-Synthesis.md at master · OpenVisualCloud/SVT-AV1

もあるのでなかなかアツいところはありますね。

内容が全くないね

以下、チラ裏

crfが使えなかったり細かいレート指定がないあたりやっぱり配信向けなんだなぁって感じがします。
パラメを妥協すれば3700Xでも常識的なレベルで回すことが出来ますし、それっぽい絵がビトレをある程度振ってあげれば出るのはx265より強いかもしれないですね。ただしビトレ以外で現状レート配分とか上手に暗部に振ることがうまく出来ていないのでその辺のノウハウが蓄積されたらよくなるかなーって感じはしたのでどうなるかっていわれるとなんとも言えないですね。エンコーダーの挙動は触って一日やそこらで理解出来る物ではないので……

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください