OBS StudioのNVENC HEVC/H.265録画をMatroskaコンテナに保存する

mntone.hateblo.jpの2番煎じだけどオプションを弄りたかったので。

目次

StreamFXをインストールする

github.com ↑は安定版のリンク。

FFmpegを差し替える

-preset=p7を使いたいので。自前ビルドも一案だが環境構築が面倒なので避けたい。 github.com 最初理解できなかったけど「avcodec-58.dllが存在するフォルダ*1」へ「解凍先\ffmpeg-4.4-full_build-shared\bin*2」を上書きするっぽい。ffmpeg-5.0-full_build-sharedはavcodec-59.dllなので駄目っぽい。

設定する

Privacy Policy - XaymarがStreamFX公式の設定例だけど、I/P/B-フレームのQPが同じとかBフレーム0がもにょったので他の例を探した。でnyanshiba.comを見つけたけど、冷静に考えたら「-preset=p7を指定すれば全部良い感じのオプションになるんじゃね?*3」と思ってたら「preset、tune、rc、multipassを選べとNVIDIA公式にあった」と5chに載ってたので*4倣ってみる。

-rc=constqp -qp=34 -preset=p7 -tune=hq -multipass=fullres

GUIでRate Control Options -> ModeをConstant Bitrateにしてもビットレート変動幅大きかったのでCustom Settingsが優先されてるはず…

おまけの↓recordEncoder.json

{"FFmpeg.CustomSettings":"-rc=constqp -qp=34 -preset=p7 -tune=hq -multipass=fullres","H265.Profile":-1,"H265.Tier":-1,"KeyFrames.Interval.Seconds":2.0,"Preset":0,"RateControl.Limits.Bitrate.Target":0,"RateControl.Limits.BufferSize":0,"RateControl.Mode":0}

と↓streamEncoder.json

{"bf":4,"bitrate":6000,"cqp":30,"keyint_sec":2,"lookahead":true,"max_bitrate":8000,"preset":"mq","rate_control":"VBR"}