週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

CPU占有率を下げてゲームプレイも配信もPC1台でこなす

GeForce RTX&新NVENC、OBSで高画質ゲーム配信できるって本当?

2019年03月14日 13時45分更新

新SDK対応により高画質&高速化

 H.265のBフレームサポートはハードウェア的なTuringの強化ポイントだが、今回のOBSでは違うところが重要になる。

 OBS v23.0.xで盛り込まれた最適化は、H.264用の新しいNVENCエンコーダーとして選択可能になっている(エンコード設定を“詳細”とした場合)。注意点としてはこの新エンコーダーはTuringのNVENCを意味するのではなく、最新のNVIDIA Video Codec SDK v9.0対応という意味となる。つまり、Turingでなくとも新しいNVENCエンコーダーは選べるのだ。

 この新しいNVENCエンコーダーでは、画質劣化を抑えつつデータ量を減らす“Rate Distortion Optimization”(RDOと略)、和訳すれば“レートひずみ最適化”手法が追加された。OBSでは「心理視覚チューニング」(英語版だとPsycho Visual Tuning)という項目がこれに該当し、エンコード結果の画質改善に寄与する、とNVENCのドキュメントには記されている。

 そして、Video Codec SDK v9.0では、TuringベースのGPUにおいてRDOのハードウェアサポートが追加されているため、Turingのほうが従来のGPUよりも有利であることは言うまでもないが、そもそもTuringより前のGPUで心理視覚チューニングがソフトウェア的に効くのかは明らかにされていない。

 さらに重要な点として、これまではGPUがレンダリングした映像を一度メインメモリーに読み込み、それをNVENCに戻すという非効率的な作業を行なってきたが、新SDKではGPUでレンダリングした映像がVRAMからNVENCに直接送られ、メインメモリーの帯域を消費せずにストリームされたデータだけを取り出せるようになった。これによりエンコード時のパフォーマンス低下を抑えることが可能になるのだ。

 もうひとつOBSの新しいNVENCに追加された画質オプション「Look-ahead」についても解説しておこう。これはエンコード処理前に次以降のフレームの情報を参照し、Bフレームを必要に応じて入れる設定となる。ただし、Bフレームはデータ量が増える、すなわち実質ビットレートを下げてしまう効果もあるので使わないほうが良い場合もあるだろう。

NVIDIA Video Codec SDKのドキュメントから引用。最上段がTuringベースのGPUにおいてRODのハードウェアサポートが追加されたこと、3番目がメインメモリーを経由させずにNVENCで処理が可能になったという話になる。4番目はH.264の動き予測(ME)もGPU-VRAMの間だけで完結すると記述されている。

OBSのエンコード設定画面で“詳細”を選択すると、2種類のNVENCが出現する。「(new)」が付いているほうがVideo Codec SDK v9.0を利用するものだ。付いていないほうは従来のv8.x世代を使うものとなる。

 つまり、OBS v23.0.xでより画質の良い映像を得るには、Turingと新しいNVENCエンコーダーの組み合わせがベストで、続いて旧世代GeForceと新しいNVENC、そしてパフォーマンスが劣る従来のNVENCを使ったエンコードと続く。

 ちなみに、OBSには本家OBSのほかに、StreamLabs社が機能やUIを独自に発展させた「StreamLabs OBS」(SLOBS)の2つがあるが、SLOBSにはまだ新しいVideo Codec SDKの要素はない。とはいえ、今後組み込まれてくるだろう。

 また、「XSplit」や「Wirecast」といった他の配信ツールもVideo Codec SDK v9.0に準拠すれば同様の効果が期待できる。だがNVIDIAの弁によると、OBSは配信用ツールとして80%程度の大きなシェアを握っているとのこと。つまり、OBSでの存在感を高めればゲーム配信における定番の座をより強固にできるわけだ。これがNVIDIAの戦略なのだ。

SLOBSの公式サイト。トップページにはNinja氏を筆頭に有名配信者がユーザーとして名を連ねている。まだ本家OBSより1歩遅れているが、コア部分はOBSなのでいずれ追いつくはずだ。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この連載の記事