どの録画ソフトが定番なのか
昨日Arma3の録画を見て感動したので、これに適したソフトウェアを探してみようと思う。
これらの名前がよく上がっていたので、まずは簡単そうなNvidiaから試してみる。
NvidiaAPPのshadowplayの感想
感想としては、自分はAV1対応のRTX4000シリーズを持っているので、XboxGameBarと同じ画質で、半分程度の容量を実現できるという点だ。
細かい設定も選べるが、触ってもそこまで変化は見られなかった。コーデックをh.264からAV1に変更し、解像度を1440pに変更した。
標準の1080pは見れたもんじゃない。少なくともWQHDゲーミングに慣れている自分にとっては、手動でWQHDを指定するかゲーム解像度に合わせるかのどちらかだろう。
あとはビットレート。高などの標準値があり、試しに2倍にしてみたが体感では感じられず。なので高にしておいた。標準値が安心だ。
そしてフレームレート。これは初期値30FPSだったので、60FPSにしてみた。120FPSは確かに滑らかさを感じるが、それ以上に容量が2倍になるデメリットが大きい。動画では使えないのも微妙だ。
試してみた印象だと、設定パネルの値からはこのような印象を受けた。
フレームレートとビットレートを選ぶ
60FPSと30FPSで比較すると、明らかに30の方が画質が良いように思える。そして容量も半分だった。
見た感じでは、別に30FPSでも違いは分かるけど、違和感は持たなかった。なので容量削減の観点からも、30で保存することにする。
ビットレートについてはredditでは50Mbpsが推奨されているけど、自分の環境ではなぜか表示されなかった。
これの答えは、画質設定で「ゲーム内解像度」を選んでなかったから。手動で「1440p」に設定していた。出力データを見ると「ゲーム内解像度」を選んでも1440pで出力はされるんだけど、画質の劣化が著しい。
特にArma3のように背景の木々とか細かい景観が重要なゲームだと、この違いが見えやすいみたいだ。
画質重視ならAV1ではなくH.264を使おう
いやー難しい。かなりの時間を費やしたが、画質を維持したまま容量を下げるのがベリーハードだ。
AV1の最高設定からH.264の最高設定にすると、格段に画質が良くなった。そもそもAV1自体、画質重視なら選んではいけない選択肢だったみたいだ。
結局、NvidiaAPPで高画質で録画するには?
ということで、NvidiaAPPを使ってゲームプレイを録画したいときは、H.264のビットレートマックス、そして解像度はモニタに合わせる、というのが最適解だと分かった。
AV1だと容量は半分になるけど、画質の劣化がやはり気になる。特に自分のようにArma3の細かい背景まで重視する場合は、なおさらだ。のっぺりとしたゲームなら目立たないのかもしれない。
そしてフレームレートは60ではなく30FPS。これも容量が2倍になる原因だ。見た感じだと、60の方が滑らかだけどゲームプレイを見返すなら必須じゃない。
30も味があって逆に良い感じとも言える。好みの問題だ。なら容量が半分の30FPS一択だ。
そして解像度は初期値の「ゲームに合わせる」だと勝手にダウンスケールされるのか、画質が悪くなる。シーンによってコロコロ変わるから困る。
急にガビガビになったり、至って普通に見えたりと安定しない。なのでモニタ解像度(今回は1440p)で固定する。こうすれば容量は増えるけど画質は安定する。
そして鬼門のビットレート。これは最低だと明らかに劣化が見えたし、オススメ上限の高設定でもまだ最高に比べるとジャギーが目立った。
なので設定できる最大値を選んだ。これができることの上限だから。
そして肝心のファイルサイズは、3分の収録で1GB 前後。多いっちゃ多いけど、編集して切り出して短くするなら気にしなくて良いかも、と思い始めた。
容量を減らすかつ見返しやすくすると思えば、編集のモチベーションにもなると思う。
念のためOBSも試してみる
ここまで書いといて何だけど、そもそも編集をする前提なら、NvidiaAPPを使わずOBSという他ソフトの方が良かったかもしれない。
このアプリの設計思想は多分、そのままソーシャルで共有することだ。AV1という配信用のコーデックが押されているのもそれが理由かもしれない。
とはいえ、NvidiaGPUの独自の部分を使って処理できる、という特徴は魅力的だ。だからまずは、これから試そうと思い立った訳だから。
ということで、一応OBSも試してみることにする。ファイルサイズは今回は一旦気にしない。画質のみを比べてみよう。
OBSの解像度設定
https://obsproject.com/kb/game-capture-source
OBS Studioには公式ドキュメントが整備されていた。英語だけど日本語ブログより多分分かりやすいはずだと思うので、見ながら作業しよう。
設定メニューで唯一詰まったのが、基本解像度と出力解像度という2つを設定しなければいけなかった点だ。なぜ2つあるのかが分からない。
標準設定では出力が1080p、基本が1440pだったのだが、これは配信用らしい。キャプチャは1440pで行い、それを出すときは1080pにする。こうすることで、より画質が良い1080pを作ることができるらしい。
帯域が限られている配信なら有効だが、今回は容量度外視でローカルに動画ファイルを保存するので、この設定は1080pから1440pに変更しておく。モニタと同じなら文句は無いはずだ。
解像度を揃えると負荷も下がるらしい
OBSの設定メニューから映像→一般を開くと、キャンバス解像度とスケーリング解像度という2つが表示される。
この2つを一致させることで、縮小フィルタ(ダウンスケールフィルタ)の欄には「解像度が一致、縮小フィルタは不要です」と表示されグレーアウトする。
この状態であれば、エンコードはNvidiaGPUの専用チップで行われ、ゲームプレイには全く影響を与えなくなる。前述のNvidiaAPPでの録画と同じ挙動だ。
配信先プラットフォームがWQHD非対応の場合は、画質を維持するためダウンスケールが必須だが、今回は動画ファイルを作ることが目的なので、考えなくてよい。
サイズについてには、7分の録画で5GBだった。以前に比べれば格段に大きいが、画質は雲泥の差だ。
ほぼ、ゲームプレイ時に目にしている画面と全く同じ映像が表示される。OBSの画質設定がデフォルトで「高」になっているのも関係しているのかもしれない。
その辺りの設定は、すべて標準のままだ。簡単、詳細とタブはあるが触っていない。
画質重視ならOBSが最適解
ということで、Arma3のゲームプレイをキャプチャし、後から見返すという今回の目的は達成された。Nvidia純正アプリよりも、OBSの方が優れているというのが結論だ。
ファイルサイズが大きくなっても良いから画質を重視、という自分の条件だと、手軽さを重視したNvidia公式では限界があった。
以後は、このソフトを使って録画していきたいと思う。

