はいみなさんこんにちはパンダスタジオの中村です。
今回はNDI通信をパケットキャプチャーしてみたと、この話をしてみたいと思います。
NDIというのは、IP伝送で映像を送る、皆さんご存知仕組みでございます。
それをでその通信のパケットをキャプチャしてみました。
ではどんな感じがということをご紹介したいと思います。
まずですね、NewTekのTC1の仕様を確認していきましょう。
TC1という機械はですね外部ビデオの同時入力が16ソース使えます。
ただしSDI同軸ケーブルでは4つしか使えませんので、
この16個全部使おうとするとこちらのNDIによるIPビデオ入力を使っていく形になると思います
例えばSDIで4入れてNDIで中に入れるとか、あるいはいっそ16系統の入力全部 NDIを使う
インプット16全部NDIであるかとかそういった形になります
特に eスポーツとかだと、16入力でも全然足りないということになってくると思います
eスポーツやるときにやっぱり NDI っていうのはこれから避けて通れない、
少なくてもNewTek製品使っていくうちはNDI避けて通れないのかなと思います。
では次にですね、こちらの動画を見ていただきたいと思うんですが
これはですね ndi で流れてきている通信を、手元のパソコンで ndi studio monitor 起動して表示させて、
その時のパケットをキャプチャーしてタスクマネージャーで通信速度を見ているという状況です。
まずここにですね画面がいろいろ出てますけども、ゲーム画面、本当はですね、
こう色々ゲームの中の映像を移り変わっているはずなんですが、
見ての通り、全然動いてない静止画みたいに、なっているという形ですね
こんな風に壁がいきなり変わっちゃいましたね。
それからここ、通信速度が95 Mbps 使ってますよ。
この時は95Mbps で通信してましたというところ、ちょっと覚えておいてください。
つまり端的に言うと、PCの映像をNDIでとれてはいます。
通信はできてますが、使用に耐えない品質になっておりました。
この時の映像は108060pで送り出しています。
つまりゲーム画面を送り出してる PCは1080p60で送っているよということですね
この時の通信速度ノートPCの方はタスクマネージャーでもみたように95Mbps の通信速度を出しておりました
ちなみにこの95Mbps というのは
この今キャプチャしているノートPCのNIC、ネットワークカードの性能が100Mbpsの速度なので、
この 95Mぐらいが上限になっているという形ですね。
タスクマネージャーでも95の当たり上限叩いて、ピーっとなっているかと思います
ちなみに送り出している側、ゲームをプレイしてる側のPCの方は1Gbps の速度を対応可能なネットワークカードが刺さっておりました。送り出し側の問題ではないですよということです
ではですねNDIの資料を確認してみましょう。
なんでPCの映像がカクカクで使用に耐えないぐらいだったか
これはUP to yournetwork という
ndi のNewtekのページで公開している資料ですね
そこからの抜粋なんですが1xstream of 1080 p 50
59.94p という場合は125 Mbps 使ってください、となっています。
1ストリームあたり125Mが使いますから、そうすると、95Mしか出てない、
それが上限であるともう全然使えない、それも当然の結果ということになります。
1080p60 、ゲームでね60 p 配信したかったらその絵を取りたかったら125Mbps 必要ですよということになりますね。
ちなみに、通常ね、絵を受けるのはTC1だと思います。
TC1は外部ビデオ16で
SDI4、NDIで16受けられます。
でついているネットワークカードは1ギガビットのNICが2枚刺さってます、
1個のNICで 900M とか800Mとか出ると思います。
1080p60 1ストリームくらいなら全然大丈夫。
また2個付いてるって言うのがポイントで、1ストリームあたり125Mbps 使うので、
1080p60 を 7つとか8とかの映像を受ける場合は、7つあるいは8つ毎にNICは分けろってことですね
16を全部1個のNICで1080p60で撮ろうとしても足りないっていうことですね。きっと。
16個全部4kで撮りたかったらとかになると、速度が全然足りないと思いますが。
こういうふうに速度を考えて使わなきゃいけないということですね
ここからちょっとおまけなんですけど、キャプチャーしたパケットを見た結果
こんな風なパケット流れてましたということでおまけです。
これはのパケットキャプチャした時のスクリーンショットなんですが、
まず仕様通りbroadcast されたパケットが、そのネットワーク内、LANの中に全部のPC宛に送られている事がが確認できています
通常ネットワークスイッチというのは通信をしている端末同士にしかパケットを投げつけない、
スイッチしてくれるからネットワークスイッチというのですけれども
NDI の場合はbroadcastされる、そのLANの中にいる端末に全部送りつけるがわかります。
それでLANの中に存在していれば、パケットキャプチャーでパケット取得できるという感じになるんですけど。
その仕様通りブロードキャストされたパケットが確認できますよ。という感じですね
ちなみにブロードキャストするパケットってNDIだけではなくて、
簡単に言えばネットワークのLANに挿すだけで使えるようになる奴ってのは基本ブロードキャストされてます。
DHCPだとかNetBIOS でWindows のパソコン同士でつないだりすると共有コンピューターとか使えるあれとか。
そういうのもガンガンブロードキャストで流れていきますので、NDIを月に使うんだったら
そういうWindowsの余計なマシーンは同じネットワークに繋がない方が良いと思います。
ただでさえNDIでブロードキャストでバンバンパケットの流れてくるので、そのLANに
他のブロードキャストパケット流すと想定よりも全然使えなくなると思うので
NDIはNDI使う端末だけでLAN組んだほうがいいそのように言われているのが、
こういうところからも窺えるかと思います。
それから、95Mbps 出てましたね
それを通信プロトコルで確認しますと、96.2%は udp、そして udp のほとんどはデータ通信使っています。
他のことも通信帯域使っていたんでは、と思ったんですけど、そんなことなく、95Mのうちのほとんどは、
96.2%はUDPのデータ通信、多分NDIだと思うんですけど、ほぼほぼ95MbpsはNDIで使えています。
で95Mbpsのほぼほぼ使ってもあの通り(映像カクカク)っていうことなんですよね
高速道路の速度制限とか60キロでしか曲がれ無い、といったところでも、
780キロで出してもいけたりするじゃないですか。
NDIも、125Mbps 必要だよと言われても
実は100Mぐらいでも何とか動くんじゃないかなって言う
そういう甘さが許されないということですね
125って言われた本当に125だしておかないと動かない
ndi では 125Mbps 必要だよって言われたら本当に125Mbps 使わなきゃいけない。
1GのLANだったらね、全部100パーNDIで使えるという風に考えずに、7掛けぐらいで考えましょう
という風に仕様書の書いてありますから
125Mbps 必要って言われたら150Mbpsとか180Mbpsぐらい使うんじゃないかで設計しておいたほうが安心ということだと思います
最後、PUBGの映像でも見ながらにお別れしたい。と思います
ゲーム内カメラ映像ですけど
ゲームのカメラ映像の切り替えというのは
ndi とか sdi とかで撮ってたんですが
実際に問題ない感じで使えてますねということです
PUBGの大会の試合でこの Rascal Jester というチームが
最終日に順位を上げて、最後ドン勝で1位になって世界への切符を手にした瞬間のところなんですけど。
興味があれば、アーカイブなどもご覧ください。
というわけで今日の話はですね、
キャプチャーしてみたら、NDI使うんだったら、LANの速度重要だなということが分かりました。
というお話でした
どうもありがとうございます