NDIで3PC配信してみた。

---3PC配信.....それは人類は到底思いつくことができないような機材を持て余すものにのみ許されるPCのもったいない使い方ランキング上位の行為である---

 

なぜしようと思ったのか

理由は単純です。私は昨日、株式会社DONUTSと公認配信者契約を締結しました。
契約内容に関して細かくは言えませんが、私の契約ではYoutubeとの同時配信が可能です。

私はこれまで応援してくれていた人たちを捨てるくらいなら契約しない、つまり、Youtubeで配信ができないのであれば契約の話は無しにする覚悟で契約の話し合いを進めていたためYoutubeでの配信は必須でした。

その条件がクリアされた以上チャレンジしてみない理由はありませんし挑戦してみた次第です。しかし、問題があります。

それは2PC配信ではスペックが足りないことです。

というわけで3台を使用して配信をすることにしました。
まあ、3台あれば性能も3倍というばかばかしい考えのもとです。

課題

現状はPC1(ゲーム)→(NDI)→PC2(録画&配信)でした。

しかし、過去の記事を読んでいただければわかりますが、PC2のRX460は配信ですべてリソースを使用しています。
CPUも録画ですべて使用しています。
メインPCはCPUが不足するためNDIを1本飛ばすのがやっとです。PC2台に対して飛ばすなら1PCで配信をしてしまった方が早いくらいです。

要するにNDIを2台のPCへと飛ばすことがスペック上できませんでした。

なら詰みなのではないか....そう思いました。

しかし、答えは意外と簡単でした。

策略

PC1は性能が不足しています。
PC2も「配信をするには」性能が不足しています。
...PC2の性能不足は""配信をするには""な物でした。

以前の記事に書いたことですが、このPC2はスペックがかなり異質です。
まず、CPUがXeon、グラボが2枚刺さっています。
割り当て的にはXeonが録画を、グラボ(RX460)が配信を、グラボ(クアドロK4000)がNDIを担っています。
そして、現状性能が足りないのはCPUとグラボ(RX460)です。

では、グラボ(クアドロK4000)はどうかというと、NDIをどこかに転送するくらいのリソース余剰があります。

つまり、グラボ(K4000)にPC1からのNDIの受信とPC3へのNDIの送信を任せればよいのではないかという考えです。

結論

結論から言うとグラボ(K4000)にPC1からのNDIの受信とPC3へのNDIの送信を任せるという方法で成功しました。
これで720p配信×2と1080p録画を回すことができます。

課題

しかし、課題は残ります。
例えば、遅延です。
PCを1台経由する分、PC3の映像はかなり遅延があります。
さらに、UIも限られるということです。
PC2のYoutube用PCの画面を転送しているということはPC2(=Youtube配信)に映るUIなどはすべてPC3にも映るということになります。
この2点は今後の課題になると思います。

また、帯域の占領も大きな問題です。
NDIは常時200Mbps前後の帯域を使用するためPC2にはLanケーブル2本、光ファイバー1本の3Gbpsの帯域を用意しています。(正確には1本は予備なので2Gbpsです)
PC1にも2Gbpsの帯域を用意しています。

これはNDIを高画質で使用する以上仕方がないですが、どうにかできないものかと考えたくなってしまいます。