※この配信のススメではOBS(Open Broadcaster Software)の導入説明は省きます。
1/20 私のPCでNDI-OBSを使用した配信でメモリリークが発生していましたが、本当にこれで解決しましたので更新します。
原因としましては、MSIマザーボードに標準搭載されているKiller Networkの通信監視機能が悪さをしていました。(配信側PCのOBS送信データがどんどんメモリ内にたまっていくといった現象で、配信をしていなくてもOBSを起動して通信しているだけでたまっていきます。)
なので、私と同じ現象に悩んでいる方はKiller Networkを終了してしまい、通信監視をオフにしてしまえば解決します。参考にしたブログサイト様ページです「地味に役に立ちそうなブログ」
ゲームの配信というのはマシンスペック、特にCPUを大幅に使います。
そして、全てのCPUで共通するのが
配信するとfpsが下がる です。
OBSでveryfast設定でも配信するゲームによっては映像にブロックノイズが混じり、ゲーム自体もガクガクになってしまうほどです。
ボイスロイドを使って実況をしようものならメモリもCPUも少しはもっていかれるので、余計にスペックパワーが必要になります。
グラフィックボードに配信のエンコードを任せる(NVENC)といった方法もありますが、CPUで配信エンコードさせたほうがノイズも少なく、綺麗です。
「配信したいけど、FPS下げるのは嫌だなぁ...かといってノイズ混じりの粗い配信も嫌だし...」
そんなワガママさんにオススメなのが2PC配信です。
ここで説明するのはOBSのプラグインの一つである、NDIプラグイン(obs-ndi)を使い、キャプチャーボードなどの機器がなくとも綺麗な画質で配信できるようにする方法です。
NDIとはどういった技術なのかは省きます(省いてばかりだな?)
一番のネックが2つめのPCを準備することですが、極論、
コスパのいい、中古のCPUがPentiumなPCでもいいんです。
(それでもやっぱり4コアは欲しいですね...)
まず初めに準備するもの
- いつもゲームをしているメインPC
- OBS(Open Broadcaster Software)
- 同じホームネットワーク上(ルーターなど)に2つ以上のPCが繋がっている環境(wifiでもOK)
- 配信用のPC(GPUがオンボードだったり、型落ち機でも可)※これが入手できる手段が一番のネック
この4つです。
まずはNewTek NDI® Toolsを
ここからDLします。
DL場所は下部の赤〇で囲った場所になります。
名前とメールアドレス、国を入力し、DLしてください
DLしたらNDI 3.8 tools.exeを起動しましょう
インストールは特に問題なく進みますが、お好みでPC立ち上げ時にツールをスタートする設定はチャックを付けたり外したりしてください
(私は付けました)
インストールできましたら、Windowsのスタートメニューの「NewTek NDI 3.8 Tools」を探してください
探しましたら、「NDI Scan Converter」を選択し、起動させてください。
インジケーター内に確認出来たら、送信側の設定はここで一旦終了です。
次に配信用PCの設定に移ります。(ここはあまり変わりません)
配信側のPCにも同じように
OBSとndi-obsプラグインとNewTek NDI® Toolsをインストールしてください。
(NewTek NDI® Toolsだけでも動作しそうですが、念のためにプラグインも入れています。)
OBSを起動し、ソースを追加するための+マークを押すと
NDI Sourceというソースが選択できるようになっています。
そのまま新規作成してください
追加されたNDI Sourceのプロパティを開くと
送信側PCのNDI Scan Converterと受信側PCがうまく繋がっていれば、このような画面が出てきますので、赤〇の中から送信側PCの見せたい出力を選択します。
(私は1080で2つのモニターに出力していますので、2つ選択肢が出ています)
※ここから下の※印まではもしかすると必要ないかもしれません...Noneでも映っていますので...
しかし、OBSを確認しても、このままでは画面は真っ暗のままです。
なので、送信側PCに戻り、送信する画面を選択してあげましょう。
インジケーター、またはスタートメニューのNDI tooolsから『NewTek NDI Virtual Input』を探してください。
探しましたら、インジケーター内で右クリックをし、メニューを表示します。
Noneが選択されていると思いますので、その上にカーソルを合わせると
このようなメニューが出てきますので、受信側OBSで出力したいモニターを選択してください。(受信側と同じのを選択してください)
映るまで多少時間(5,6秒くらい?)がかかりますが
このようにゲームをするようのPC画面が映っていれば成功です。
※※※ここまで※※※
映像は映りましたが、このままでは音が送信されていません。
インジケーター内の「NDI Scan Converter」を右クリックし、メニューを表示させてください。
メニューの「Audio Source」を選択し、「System Audio」を選択すればPC内部の音が送信されます。
マウスポインターを表示させたい場合は、メニューの「Audio Source」の上にある「Capture Settings」に「Mouse Pointer」がありますのでチェックを入れてください。
その他色々設定はあるみたいですが、私は受信側の配信用PCでマイク音orボイスロイドの音声を入れているため、ゲーム音と一緒にマイク音も配信用PCに送信する設定は試せていません...後々、試してみようと思います。
あとは配信用PC側のOBSにて、配信のストリームキーや、出力の設定などを設定し、準備完了です。お疲れ様でした。
私はこの2PC配信で配信用CPUi7-6700K(4コア8スレッド)を使用し、1080p 60fps配信のFastで配信していますが、ブロックノイズも無く、綺麗に配信できています。
それでも動きの激しいゲームだとコマ落ちが発生するようで、このように役割分担をしてもなかなか滑らかな配信は難しいのだと感じています。
ここのサイトにたどり着く人はボイスロイドに興味を持った人が多いでしょうから、少しでもお役に立てたら嬉しいなと思います。
最後に2PCで配信した私の配信ページで配信のビデオを残しているので、どういった感じに動くのか、確認してみてください。
https://www.twitch.tv/kiritan_vc
なお、OBSでの設定をしましたが、そのままの設定を引き継げる「Streamlabs+OBS」を私はお勧めします
(こちらの方がいろいろと設定できるので...)
「ここが変だよー」とか、「映らないんだけどー」などは一応、受け付けていますが、解決まで対応するかどうかは...わかりません(やる気があればいつでも)
discord(山形県民#0721)の方に連絡をくだされば大体は返信できます。たぶん