Open Broadcaster SoftwareとAdvanced Scene Switcherを使ったバーチャルキャストでの雑談配信を毎週土曜日に配信しておりますが、Windows機単体だと動作が安定しないので2PCに移行したのですが、それにおいて苦しんだことをメモする意味で記事にしてみました。前回の投稿からもう1か月たっていたのにびっくりしております霜村ペペです。
ことの経緯はいろいろと配信環境を整えている中、FPSを60に設定しているはずが平均58くらいに落ちてしまっていることと、これに引っ張られてか音声関係も細切れの状態になっていることから始まりました。結果的に原因はシーンを多用していることのようでしたが、この状態だと快適な配信ができない状態ですので、2PCで配信できるようにNDIを使った配信環境の構築を進めておりました。今時点では問題なく動いてくれそうな気がする完成度でありますが、ここまで来るのに結構苦戦を強いられましたので、苦戦した内容について列挙してみようと思います。いつもと違って、今日は見出しタグが多用されるかもしれません。
1.そもそもNDIが表示されない問題
OBSからOBSに映像を転送するためのツールNDIを有効にしているのだけどそもそも映像も音声も入らない。どうしてだろうかと頭を抱えていましたが、最終的にはNDI受信側のWindows Defenderのファイアウォールが悪さをしていました。同一ネットワークくらいOKにしてくれよと毎回思うこのファイアウォール。ポートを許可する形でよいと思いますが、NDIのポートを調べるのが面倒くさくなってしまったのでファイアウォールをオフにしております。え、初歩的?そうです初歩的です。
2.NDI用の帯域を確保できるか問題
当たり前ですが、NDIとストリームのLANが同じだとローカルであっても帯域がパンクする可能性があるので、メインとは別のLANを用意しました。ただ、どうも送信側NDIの設定を別のLANに割り当てたくてもメインのLANに流してしまうようで・・・。結局別LANをメインLANを組み込む形になりました。具体的にはこんな感じ。
改装前
(インターネット)ーー[LAN]ーー┬ーー[メインPC(NDI受信側)]
└ーー[サーバPC(NDI送信側)]
改装後
(インターネット)ーー[LAN1]ーーーー[メインPC(NDI受信側)]
│ ┌ーーーーーーー┘
[LAN2]ーーーー[サーバPC(NDI送信側)]
結構無茶苦茶なことをしている自覚はあります。LAN2側はLAN1をゲートウェイにして、LAN1側はLAN2からの通信はNAT変換させているといったことをしております。帯域に余裕があればマネしないほうがいいと思います。
3.Advanced Scene Switcherの同期問題
結局NDIで映像を同期したとしても、Advanced Scene Switcherのマクロで映像の再生タイミングとかを調整しておりますので、これを同期できなければ2PC環境を構築してもどうしようもなくなってしまいます。OBS-Websocketを使って何とか頑張れるかと思いましたが、OBS-Websocketの仕様を調べる元気は私にはありませんでした。最終的にAdvanced Scene Switcherでファイル操作が可能ということですので、ちょうど構築していたファイルサーバを利用してテキストファイルによるフラグ同期を構築しました。調子よく動いてくれておりますので、これでいいかなと思います。もし2PC環境でAdvanced Scene Switcherを利用したい方はお試しください。
ちなみに、前回の配信では居酒屋的ニュースのコーナーでBGMがなっていない問題がありましたが、それはOBS側でモニターと出力を選択し忘れていたことなので2PCとか関係ないです。
ということで、参考にはならないと思いますが、よかったら検討してみてください。特にAdvanced Scene Switcherは便利な反面2PCだと結構厄介ですのでファイルサーバとか共有設定によるテキスト読み書きで頑張るのはどうでしょう。
今日はこの辺で。おやすみなさい。