録画: GeForce Experience(shadowplay) から OBS に乗り換えた話

CFR

環境

Windows 11 Pro 64bit
Ryzen7 3700X

経緯

Apex のプレイ中の録画を撮るために GeForce Experience の shadowplay を利用していたが、
AviUtl を用いると長時間の録画では徐々に音ズレが生じてしまっていた。
解決策が見いだせないので録画ソフトの変更から行った。

音ズレが発生する要因

shadowplay が可変フレームレート(VFR)形式で録画を行い、
かつ AviUtl に映像と音声を自然な形で同期できる能力が欠けているために音ズレが発生してしまう。

AviUtl のプラグインでどうこうできると力説する記事もありましたが、
グラボ等の相性が悪いのかバージョンが違うのかどうにもなりませんでした。

代替案

そもそもの話、固定フレームレート(CFR)で録画ができれば編集時に問題も起こらないので、
shadowplay を利用するのをやめて OBS で録画するようにしました。

OBS の設定

キーフレームを 2s にしましょう。
0 にしてたら再生時にがくがくフレーム落ちしてました。

後は雑多

  • 録画フォーマット: mkv
  • エンコーダ: NVIDIA NVENC H.264
  • 出力をリスケールする: false
  • レート制御: CBR
  • ビットレート: 50000 kbps
  • プリセット: P5: Slow
  • チューニング: 高品質
  • マルチパスモード: 2パス(1/4 解像度)
  • プロファイル: high
  • Look-ahead: false
  • 心理視覚チューニング: true
  • GPU: 0
  • 最大Bフレーム: 2

アプリケーション音声キャプチャが便利

まだベータ版の提供らしいのですが、
ゲームが出力する音声だけをキャプチャするソースの一種です。
これで音声を取得すれば音楽を流しながらプレイしても録画に音楽が録音されません。

録画に discord の通話音声を含めたくないので音声の入出力に VB-Cable を利用していましたが、
アプリケーション音声キャプチャを利用すれば、
そういった特殊なソフトウェアを利用せず望んだ環境が構築できます。

問題点

AviUtl で動画を読み込む際にプラグイン経由で読み込むとき、
動画のインデックスの作成から行うので長時間の動画になると時間がかかってしまいます。
(放置でいいし別にその他の操作がロックされるわけではないのでそれほど問題はありませんが)