見出し画像

[OBS] ゲーミングノートPCでOBS Studioを使う

えっ?何が問題?と思うでしょう。はい、私も最初、えっ?なんで?と思いました。

ビジネスノートPCでライブ配信経験済みだった

以前の投稿にあるように、Chimeを使って勉強会のオンライン配信をして参加上限100人の壁(いまは250人まで拡張されました)直面し、その制限を超えるため、Chimeの共有画面やチャット音声をOBS Studioを使ってTwitchやYouTube Live を通して配信していました。

使用していたのは会社支給のビジネスノートPC (HP Elitebook 820 G3) Intel i5-6300U RAM 16GB で、グラフィックは Intel HD Graphics 520 という、ごくごく一般的な、メールとMSオフィスを使うためのノートPCでした。そんなビジネスノートPCでライブ配信ができるんですから、すごい時代だなぁ、と感心していました。ノートPCでは画面が狭いので、サブモニターをHDMI出力で接続・拡張して、メイン、サブモニターの両方の画面をキャプチャーし、合成したり、切り替えをしていました。

ちなみに JAWS DAYS 2020 オンラインの配信も、この HP Elitebook 820 G3 でやっていました、それも連続9時間近く!

その後、在宅勤務時間が長くなり、勉強会もオンライン、さらにはフルリモートになるなど、どうしてもパソコンとインターネットを利用する頻度が多くなり、やる内容も高度(?)なものになりそうだったので、CPUはi7クラスのパソコンを購入する決断をし、ゲーミングPCと呼ばれる、動画のエンコードなどにも強いグラフィックチップを搭載したものを購入しました。新しく購入したノートPCはNVIDIAのGeForce GTX 1650 VRAM 4GBが搭載されています。

NVIDIAすごい!録画・配信ソフトがついている

GeForce Experienceというユーティリティはビデオドライバーの更新チェックだけでなく、PCゲームを楽しむためのさまざまな体験を提供しているんですね。ゲームの録画はもちろんYouTubeやTwitchへのライブ配信までOBS Studioのような追加のソフトウェアをインストールすることなく配信可能。昔は Fraps などの録画ソフトいれないと、DirectXのゲーム画面なんかはきれいに録画できなかった、、、昔の話でゲフンゲフン、、とにかく凄く進化しているんだなぁ、とただただ驚きました。

OBS Studioで画面キャプチャができない

NVIDIA EXPERIENCEのライブ配信も試したあとで、もう、何度もOBS Studioを使った配信を行い、連続9時間、画面キャプチャや映像キャプチャなどのソースを加工していたので、まったく不安を感じることなくOBS Studioをインストールしました。

デスクトップをキャプチャするにはソースで「画面キャプチャ」を選択して、画面(ディスプレイ)を指定します。Chime の画面配信はウィンドウキャプチャを使ってChimeのウィンドウだけを配信指定することができます。指定したソースに「フィルタ」を追加することでソース画面の加工が可能になり、上下・左右を切ったりするには「クロップ/パッド」フィルタを使います。

が!デスクトップ画面のキャプチャで、画面を指定しても真っ黒でなにも映らない、、、え?なんで?でも、ChromeやEdgeのブラウザ指定した「ウィンドウキャプチャ」はできるんですよ、、、

画像1

外部ディスプレイは画面キャプチャできた

さらに悩んだのが、ノートPCのHDMI出力で拡張したディスプレイに映っているデスクトップはキャプチャできるんです。

画像2

となると、落ち着いてネットで検索するしかありませんね。ノートPC本体のディスプレイのキャプチャができない、という現象で、本体ディスプレイでもアプリケーションはキャプチャできる、外部ディスプレイは問題なくキャプチャできている、という状態です。で、見つけたのが以下のニコのブロマガ記事。ポイントは「GPU搭載」の「ノートPC」だと思います。

さらに、このブロマガで紹介されている OBS Studio の Github の記事が新しいものに更新されていました。Laptop Troubleshootingというタイトルで、OBS Studioが LaptopやマルチGPUシステムでどのような挙動をするか解説されています。

OBSは1つのGPUしか扱えない

ゲーミング ノートPC (Githubの記事では "modern laptops") は2つのGPUで構成されていて、以下のような割り当てがされています。
・ Intel GPU は 2D アプリケーション / あなたの(mainの) desktop (環境)
・ 個別グラフィックチップ(NVIDIAやAMD)は 3D アプリケーションやゲーム
この後に続く、英語の原文の記事の大事な部分をDeepLで機械翻訳すると以下です。

OBS はこれらの GPU のいずれかでしか実行できませんが、オープン アプリケーションやゲームはどちらでも実行できます。たとえば、OBS が Intel GPU 上で実行されている場合、ディスクリート (NVIDIA または AMD) GPU 上で実行されているゲームに Game Capture を使用することはできません。さらに、OBS がディスクリート GPU 上で実行されていない場合、パフォーマンスの問題が発生する可能性があります。まれに、OBS とは異なる GPU 上で動作しているゲームをキャプチャしようとすると、ゲームがクラッシュすることがあります。これは OBS の問題ではなく、むしろラップトップメーカーが省電力のために設計を選択したものであり、我々の側でできることはほとんどありません。しかし、問題が発生した場合には、いくつかのトラブルシューティングの方法をご紹介します。

はしょって説明すると、OBS StudioがどのGPUを使って立ち上がるかで、画面キャプチャーできるソースが変わる、ということでした。OBS Studioが使用するGPUは変えられますが(後で説明します)、変えられないものがあります。それはデスクトップです。ノートPCの場合、メインの画面に表示されるデスクトップは必ず内蔵の Intel HD GPU を使い、一方で外部ディスプレイに表示されるデスクトップはディスクリートGPUを使っているようです。ビジネスノートPCは内蔵グラフィックスのみなので、メイン、サブ両方のデスクトップを扱うことが出来ていたのです。同じ事をなんとかやりたい、と思いましたが、両方の「デスクトップ」を扱う必要があるのか?と冷静に考えると必要ないのでは?と気づきました。

問題となるのは、サブディスプレイを接続してない状態でデスクトップを配信したい場合、メインのデスクトップは「必ず」内蔵の統合グラフィックスを使うので、OBS Studio を統合グラフィックスで立ち上げる必要があります。

OBS Studioを統合グラフィックスで立ち上げる

NVIDIAコントロールパネルの3D設定の管理 - プログラム設定で、OBS Studioの優先するグラフィックス プロセッサを選択、指定する方法が紹介されていますが、自分の環境では以下のように選択できませんでした。

画像3

たぶん、最新のWindows 10(つまり、最新の更新プログラム適用のもの)はNVIDIA Control Panelの選択を上書きしている、とOBS Wikiにあったのがこれでしょう。既定の設定ではOBS StudioはディスクリートGPUを使うので、これを統合グラフィックスを選択できるようにします。常に統合グラフィックスを使用するように固定にする方法もありますが、サブディスプレイを使うときもあるので、立ち上げ時に選択できるほうが自分の使い方ではよいと判断しました。

1) デスクトップから右クリックのコンテキストメニューから、NVIDIAコントロール パネルを選択します。

画像4

2) ウィンドウのメニューバーにある [デスクトップ] の「[グラフィックス プロセッサと共に実行]をコンテキスト メニューに追加する(N)」にチェックを入れます。

画像5

3) スタートメニューの [OBS Studio(64bit)] からはGPUの選択はできないため、右クリックをして [その他] - [ファイルの場所を開く] を選択します。

画像6

4) OBS Studio (64bit) で右クリック、コンテキストメニューから [Run with graphics processor] - [Integrated graphics]を選択します。

画像7

5) 統合グラフィックスでOBS Studioが立ち上がったので、デスクトップの画面キャプチャが可能になりました。

画像8

なお、サブディスプレイ使わない、サブディスプレイのデスクトップの画面キャプチャは行わない、ただしメインのデスクトップをどうしても配信したいので既定の設定を統合グラフィックスにしたい、という場合は以下を参考にするといいでしょう。OBS Studioは、Program Files の obs-studio - bin - 64bit サブフォルダーの obs64.exe を指定します。

ただし、githubの記事には以下のような記述があります。

Additionally, if OBS is not running on the discrete GPU, you might run into performance issues. In rare cases, trying to capture a game running on a different GPU than OBS can cause the game to crash.
さらに、OBSがディスクリートGPUで動作していない場合、パフォーマンスの問題に遭遇する可能性があります。まれに、OBSとは異なるGPUで動作しているゲームをキャプチャしようとすると、ゲームがクラッシュすることがあります。

ということなので、可能な限りNVIDIAのディスクリートGPUを使って動かしたほうが良い=メインのデスクトップ画面の画面キャプチャはあきらめて、サブモニターをつなげる、という選択がよさそうです。実際、ちょい配信ならともかく勉強会の配信となると複数のモニターは必須になります。

ウィンドウキャプチャはGPUを意識しなくてよい

WebブラウザやアプリケーションはGPUを意識しなくてよさそうです。2DアプリケーションはIntelの統合グラフィックスを使う、という記述はありますが、ChromeやFirefoxといったブラウザ、ExcelなどのOfficeアプリケーション、さらにコマンドプロンプトなども、NVIDIAを使ったOBS Studioでソースとして指定、表示させることが可能でした。

画像10

以上、ディスクリートGPU搭載のノートPCでOBS Studioを使うときの注意点でした。

この記事が気に入ったらサポートをしてみませんか?