【中継配信の探求】NDI Bridgeを使った映像伝送の検証(後編)
今回のテーマはNDIを使った中継配信の検証です。
前編では「NDI Bridge」を使った中継配信の検証結果をご紹介しました。後編では実際に行なった設定を紹介したいと思います。
細かい内容になりますが、インターネット経由でNDI接続する雰囲気が伝われば嬉しく思います^^
前編はこちら
この記事は後編です。前編では実際に検証した結果をご紹介しています。まだの方は、まずはこちらからご覧ください。
この記事では、NDI Bridgeを実際にどう設定していったのか、細かく紹介をしていきたいと思います。
NDI Toolsをインストールする
NDIを使う時に必要になるのが「NDI Tools」です。
これはNDIで使う様々なツールソフト集で、公式から無料で公開されています。まずはこちらのページからツールをダウンロード、インストールしていきます。
現時点の最新バージョンを開いたのがこちらです。NDI Bridgeは右側にある緑色の「Bridge」ですね。
他にも様々な機能が別ソフトとして用意されており、NDI Toolsはここから起動していくポータルアプリのような存在です。
事前準備:ポートフォワーディング
NDI Bridgeを起動する前に、事前準備として「ポートフォワーディング」の設定が必要です。
これはNDIではなく、ルーターで行うネットワーク環境の設定です。インターネットから届いたデータを、ネットワーク上の端末に届けるための設定で、「ポート解放」「ポートマッピング」とも呼ばれます。
具体的には、NDI Bridgeはポート番号5990で通常接続するので、5990でルータに届いたデータを、NDI Bridgeを起動しているPCに誘導する設定になります。
PCのIPアドレスを確認する
設定を行うために、NDI Bridgeを起動して映像を受け取るPCの「IPアドレス」を確認します。
IPアドレスは、ネットワーク上で端末が認識し合うための識別番号です。ポートフォワーディングもIPアドレスで宛先を設定するので、事前に確認が必要となります。
IPアドレスは色々と確認できる方法がありますが、Windows 11では設定から簡単に確認ができるようになったようです。ご参考まで。
ルーターの設定
IPアドレスを確認したら、ルーターの設定を行います。
これは使っているルーター次第なので、詳細はお使いの機種のマニュアルを参照してください。今回は参考までに、自分のルーターで紹介をします。
私のルーターでは↓のように設定を行いました。
NDI Bridgeは初期値では「5990」のポートを使うので、外部ポート番号・内部ポート番号に設定をしています。また、「192.168.1.8」はNDI Bridgeを起動しているPCのIPアドレスです。
最初ハマったのは、プロトコルを「UDP」に設定する点です。他にも種類があり、初期値は別なので、うまく接続ができず苦労しました。
NDI Bridgeの設定
ルーターの設定ができたら、NDI Bridgeを起動・設定していきます。
NDI Bridgeは受け取り側がHostになり、送り手がそこに接続(Join)する関係になります。それぞれ順番に紹介をしていきます。
受ける側の設定
受ける側(Host)の設定は、ルーターのポートフォワーディングが正しく設定されていれば、あとは<Start>のボタンを押すだけです。
「Resolve Public IP and Port」にチェックを入れておけば、パブリックIPアドレスを自動入力してくれたり、ポートフォワーディングの設定が正しいかを確認してくれます。
もしポート設定が誤っている場合は、↓の画像のようにアテンションマークが表示されるので、一度設定を確認をしましょう。
<Start>を押すと、Statusの欄に「The Bridge is active」と表示されます。これが出ると成功の証で、接続を待った状態となります。
送る側の設定
次は送る側の設定です。送る側はルーターの設定は不要ですので、そのまま「Join」の設定画面に移りましょう。
まずは「Server IP Address」です。これは受ける側(Host)のPublic IP Address欄の値を入力します。
「Server Port」は初期値だと5990。「Encryption key」はHostの方に表示されたものと同じものを入力します。
最後に右下の<Join>を押します。接続がうまく行くと、Status欄に「Succesfully」と表示されます。また、Host側にも「1 client connections」と表示されます。
映像を送る
ではNDI経由で映像を送ってみましょう。今回はOBSを使い映像を送りました。
OBSには「obs-ndi」というプラグインがあります。これを追加することで、OBSの映像をNDI経由で送ることができます。
インストールしたら、OBSのメニューバーから ツール > NDI Output Settings で<Main Output>にチェックをつければ、これだけで配信が始まります。
映像を受け取る
最後に映像を受け取る方法です。今回はNDI Toolsに用意されている「Studio Monitor」を使いました。
これはNDI用のモニターツールです。起動したら、左上のメニューから受信するNDIの映像を選択します。NDI Bridgeがうまく行っていると、ここでOBSからの映像を選ぶことができます。
あとは少し待てば、映像・音声が出てくるはずです。
初期値で音声のレベルメーターが映りますが、これは設定で消すことができます。左上のメニューから、Settings > Video > VU Meterで消えます。
他の表示も自動で消えるので、この映像を映像スイッチャーにHDMI入力したり、OBSでキャプチャするのもアリだなと思いました。そうすれば、あとはいつも通り配信するだけですね。
OBSで直接受け取りは厳しそう?
実は送る側で使った「obs-ndi」プラグインを使うと、OBSで直接NDI映像を取り込むことが可能です。
ですが、今回試した限りでは音声正しく再生されませんでした。なぜか機械処理されたような音声になってしまい、Studio Monitorに変更した経緯があります。
本当は直接ソースにできた方がシンプルなので、この辺りはもっと探求してみたいと思いました。
IPアドレスの注意点
途中に敢えて触れていませんが、今回の方法はパブリックIPアドレスが変動するリスクを含んでいると思います。
グローバルIPアドレスとも呼ばれますが、これはプロバイダから割り振られるインターネット上の識別番号です。これを使い、NDI Bridgeでも接続が行われています。
固定オプションを契約していない限り、パブリックIPアドレスは変わるものです。タイミングは大きく2つあるようで、それはルーター・モデムを再起動した時と、プロバイダのタイミングです。
後者については、プロバイダから割り振られるIPアドレスには期限が設定されています。そのタイミング新しいものに変わる可能性があるというものです。(同じもので更新する時もあるとか)
なので、配信の本番中にこの期限が来ると、NDI Bridgeの接続が途絶える可能性があります。調べてすぐ入力し直せば良いのですが、万全を期すには固定のパブリックIPアドレスの環境が必要となります。
ちなみにローカルIPアドレスも変動するので、ルーターで固定設定にしておいた方が良いと思います。こちらはルーターの設定で完結ができる話です。
まとめ
以上、2回に渡ってNDI Bridgeを使った中継配信について紹介をしました。
以前試したRTSPに比べて格段に安定しており、実用的な方法だと思いました。一方で最大の手間はパソコンが必要なことです。現状はWindows PCがないとNDI Bridgeが使えません。
その点ではWeb会議ツールの方が、スマホから参加できて手間は少ないですね。より画質を求めるのなら、NDI Bridgeは選択肢の一つになると思いました。
いつか機会があれば、本当に外から試してみたいと思います。