この記事は、 大阪工業大学 Advent Calendar 2020の2日目の記事です。
こんにちは、けやっこです。某所でWebフロント周辺を触ってるOBです。
今回はGoogleのMeet等でたまに利用しているNDIについて、メモがてら記事に残そうと思います。
NDIとは
NDI(ネットワークデバイスインターフェイス)は、米国NewTek社によって開発されたIP利用における新しいライブビデオ制作ワークフロー支援プロトコルです。このNDIテクノロジーを活用することで、一般的なギガビットイーサネット環境においても、映像、音声、メタデータを、NewTek社TriCasterやIPシリーズなどのシステム間だけでなく、NDI互換のさまざまなシステム、デバイス、PCなどとのリアルタイムによる相互伝送を可能とします。
似た様なものにRTSPがありますが、NDIでは必ずしもソースのIPアドレス・ポート番号を把握して受信側に設定する必要がないので
高度なことをしないのであれば、これで十分だなと思っています。
利用例
個人的によくやるのはiPadの画面共有です。
まずはiPad上でアプリを利用して、ディスプレイの映像をNDI経由で配信。
その映像はPCでNDI Virtual Input
を利用して受信し、仮想のカメラデバイスの映像として利用できるようにします。
あとは通常のカメラと同じように仮想デバイスを選択すれば、画面共有の完了です。
(画面をキャプチャするNDI HX Capture
のみ有料)
メモやちょっとしたスケッチを共有したいときに重宝しています。
さいごに
GStreamerにNDIのプラグインもあるみたいなので、ラズパイカメラの映像を使ったり、PTZカメラの映像の変換をしてソースにすることもできそうですね。(未検証ですが...)
その映像もNDI Virtual Input
の仮想カメラ経由でOBSに取り込むこともできるので、使い方によっては色々遊べそう。