🎥

Network Device Interface(NDI) 始めました

に公開

はじめに

映像系をもともと色々とやっていたため、ずっと気になっていた「AV over IP」を試してみる。
Danteは準備に費用が掛かりそうで、手の届きそうなNDIを勉強する。

Network Device Interface とは

SDIやHDMIを使った伝送がデフォルトだった中で、IPネットワークを使用した伝送技術。
TriCasterなどのメーカーであるNewTek社が開発し、映像・音声・メタデータをIPネットワークで伝送することが可能になった。
今までの伝送方法と同様に、SDI/HDMIでの映像・音声のエンベデッドをLANケーブルで可能にし、ネットワークスイッチ(1G以上)を用いて伝送を行う。

検証構成

今回は、以下の検証を行ってみる。
どちらもNDIとしては基礎的な内容になっていると思う。
別でネットワークの構築を行っているため、そのまま環境を流用する。

  • 構成①:同セグメントでの映像・音声伝送
  • 構成②:別セグメントからの映像伝送

また、使用する機材やソフトウェアは以下。

  • 機材:スマートフォン(Pixel8a)、コントロール用ノートPC、別セグメント転送用ノートPC
  • ソフトウェア:NDI Tools(コントロール用PC、転送用ノートPC)、DistroAV(コントロール用PC)、NDI HX Camera(スマホ・有料)

構成①:同セグメントでの映像・音声伝送

構成図

同セグメントでのNDIを使った映像・音声伝送を実施。

NDI Toolsのインストール

コントロール用PCに、「NDI Tools」をインストールする。

  1. https://ndi.video/tools/ より、NDI Toolsをダウンロードする。今回はWindows版。

  2. 画面の表示に沿ってインストールを実施。基本設定で進める。

  3. NDI Tools を起動する。

スマートフォンの用意

今回は映像・音声のソースとして、スマートフォンのPixel8aを使用。

  1. NDI HX Cameraをインストールする。
  2. アプリを起動する。基本これだけでOK。

NDI Toolsの起動、設定

  1. WebCam をクリックして起動。

  2. どこでもいいが、Video1の歯車アイコン>Pixel8a を選択する。

  3. スマートフォンの映像が表示されればOK。

OBS、DistroAVのインストール

  1. OBS Studioをインストールする。

  2. DistroAVをインストールする。これはOBSにNDIソースを入力するために必要なプラグイン。

  3. OBSを起動し、ソースとして「NDI Source」を選択。

  4. プロパティからNDIソース(今回はPixel8a)を選択し、映像が表示されれば完了。

まとめ

同セグメントでの場合は、特にネットワーク設定は不要。
コンマ数秒のラグは発生するが、特に気にならない程度だった。

構成②:別セグメントからの映像伝送

構成図

別セグメントでのNDIを使った映像・音声伝送を実施。先ほどのスマートフォンの映像・音声と別セグメント上のPCの画面キャプチャをOBSに入力する。

キャプチャPCにNDI Toolsのインストール

今回は映像入力はないため、OBSおよびDistroAVのインストールは不要。

キャプチャPCのNDI Tools設定

  1. NDI Toolsを起動する。

  2. 「Screen Capture」を選択すると、自動的に画面キャプチャをNDIで転送が始まる。

コントロール用PCの設定

別セグメントのソースを入力するには、IPの指定が必要。

  1. NDI Toolsを起動する。

  2. 「Access Manager」を選択し、「External Source」のタブへ移動する。

  3. IPアドレス横の+をクリックし、「Device IP Address」に、キャプチャPCのIPアドレスを入力する。

  4. OKを押すと、受け付ける端末のIPが登録される。

受信の確認

  1. NDI Toolsの「Discovery」で、キャプチャPCの映像が入力されているか確認する。

  2. NDI Toolsの「WebCam」から、キャプチャPCのソースを選択して、映像が表示されるか確認する。

  3. NDI Toolsの「Router」から、「Source」の番号で右クリックし、「Configure」から入力ソースを選択して表示を確認する。

OBSの設定

入力ソースは以下のパターンで設定が可能。

  • OBSのソースとして、スマートフォン、キャプチャPCをそれぞれSourceとして認識させ、スイッチングする。
  • OBSのソースとして、「Router」の「Destination」を選択し、NDI Tools側でスイッチングする。

認識がうまくいかない

上記の設定をして、Routerのところまではキャプチャ映像が入ってくるが、OBSではなぜか表示できなかった。
フレームレートやサイズを変更しても何も変わらず、最終的にはキャプチャPCの再起動で改善した。

まとめ

別セグメントでもIPネットワークをきちんと構築できていれば、ほとんど問題なく簡単に構築することが可能と感じた。
ネットワークの基礎知識があれば映像ネットワークの構築ができ、映像や音声の構成をまた別の形で考えることが面白かった。
ただ切り替え時に黒味が入ったり、スマートフォンが無線環境だったためにラグの大小があったり、ネットワークの安定性はある程度確保しないと実用は難しいかと。
グローバルIPが固定できればWAN間の転送もできると聞き、どこかでやれる環境があればやってみたい。

NDIを使ったOBSへの映像・音声入力までできたため、一度YouTubeLiveでテスト配信もしてみようかな。
もう少しNDIの構成を深く考えたり、あとはDanteもやってみたいな…。

GitHubで編集を提案

Discussion