技術レビュー

映像/音響の新しい信号ルーティング

 ここ数年気がつけばスタジオ環境で物理的なケーブルで機器どうしを繋ぐということが少なくなりました。もちろんカメラ、マイク、スピーカー、モニターなどエッジの部分はケーブルで繋ぐのですがメインの処理部分にいくとデータ扱いになりその後はすっかりIPで回すようになってしまいました。スタジオにメンテナンスで入ってもまずすることはネットワークのチェックであって、マウスをポチポチしながら最近BNCケーブルって作ってないよなぁと思ったりもします。今回は最近よく使われる映像/音響のデータをやりとりする方法を紹介していきます。

ST−2110 Newtek NDI DANTE

 ST-2110、Newtek NDIは放送業務用IPプロトコルです。ST-2110は従来のSDI信号をIPに置き換えてさらに高度なコントロールができるようにした規格です。放送用機材でないとお目にかかることはないと思います。SMPTE(アメリカ映画テレビ技術者協会)が規定したデファクトスタンダードの一つです。Newtek NDIはNewtek社が規定した放送業務用IPプロトコルです。Newtek NDIは手頃なビットレートストリームであることや仕様やSDKが無償で公開されているため製品を開発しやすいというところがあり、放送機材メーカーはもちろん個人開発のソフトウエアに組み込んだりと裾野が広いフォーマットになります。SMPTE ST-2110とNewtek NDIは別規格なのですが相互にデータを変換するハードウェア/ソフトウェアが存在します。
 DANTEはAudinate社が開発したプロオーディオ用IPプロトコルです。ギガビットイーサネット1本で最大512chの非圧縮音声ストリームを流すことが可能です。従来の太っといマルチケーブルを使うことなく信号を引きまわすことができ敷設が非常に楽になります。350社以上がこのDANTEを使って製品を開発しており事実上のスタンダードとなっています。スタジオプロユースだけでなく一般音響設備にも使われ始めています。

ST2110_NDI_DANTE

HLS SRT

 クラウドを使う場合のプロトコルとして従来はRTMPというAdobe Flashベースのものが一般的でしたが開発がとっくに終わっているため脆弱性が問題となります。変わるものとしてApple社が開発したHTTPベースのプロトコルHLSが広く使われるようになっています。SRTは以前ブログでも書いていますが主にクラウドを使ったコンテンツ配信事業者向けの通信プロトコルです。HLSとの違いの一つは低レイテンシであることです。HLSでも低レイテンシモードがあるのですが通常は数秒〜数十秒遅延が発生します。対してSRTの遅延は数百mS程度で収まるよう設計されています。片方向配信コンテンツであればHLS、MPEG-DASH、RTMPでも構わないのですがテレビ中継、テレビ会議などでの双方向通信では低遅延が求められます。また品質が保証されない回線の場合はその状態によってコンテンツの解像度やビットレートを変化させるアダプティブビットレート機能がHLS、SRTに搭載されています。SRTの場合はさらに進んで通常はUDP通信でパケットロスが発生した時のみTCPで再送信させるといったワザを持っていてよりQoSを意識した通信プロトコルになっています。SRTはHiVision社が提唱した規格ですが数多くのメーカーが参加しています。SRTは現在クラウドを使ったプロ向け画像通信プロトコルと考えられているようです。

 参考ブログ SRTでストリーミング

SRT Logo

仮想インターフェースによる信号ルーティング

 これまでは機器同士あるいはネットワーク間のデータやりとりを紹介しましたがここからはPC内部の異なるアプリケーション間でのやり取りになります。現在のPCはOSレベルでのマルチタスク対応やCPUも高性能になり複数アプリを立ち上げても問題にならなくなりました。ただし映像や音声のデータのやり取りとなると別のPCにデータを受け渡す必要があるため送り手側受け側双方にインターフェースつけてケーブルで繋ぐといった方法がとられていました。最近ではソフトウェアで仮想インターフェースを作り、それを利用して同じPC内で異なるアプリ間でデータの受け渡しが可能になってきています。何の物理的な機材、ケーブルを追加せず各ソフトウェアのIn、Out設定を仮想インターフェースに指定すればいいだけになります。

仮想インターフェースによっては同じコンテンツを同時に別アプリに渡すことも可能

オーディオ仮想インターフェース

 オーディオ用仮想インターフェースは結構な種類存在します。最近はコンテンツ配信でボイスチェンジャーアプリをOBSアプリの前段階に入れてルーティングさせたり、ソフトウェアミキサーを使って後段のアプリへの音声調整をしたりすることが増えているようです。いろいろある中でメジャーっぽいのはVB-Audio SoftwareVB-Cableです。Windows、Mac両対応でインストールすればOSレベルで音声の入出力が使えるようになります。Macは以前SoundFlowerというものがメジャーでしたがM1 Macに非対応ということでBlackHoleLOOPBACKなどがあります。たいていは商用音響処理ソフトのコンパニオンとしての位置付けでリリースされておりDAWを使うほどでもないけどちょっとした音声加工、調整がしたいという場合にこの仮想オーディオインターフェースを使ってルーティングすることになります。もちろんそれらソフト用でなくても一般ソフトでも使うことができます。

VitualAudioInterfaceList

PCに入っている音声インターフェース。ちょっと入れすぎ、、

ビデオ転送フレームワーク Syphon Spout

 ビデオ用にもアプリ間でデータをやり取りできるものが存在します。Syphon(Mac用)とSpout(Windows用)です。上記のオーディオ仮想インターフェースのようにOSレベルでの対応ということではなくこのフレームワークを組み込んだアプリやプラグインを使うことで映像転送を実現するものです。VJソフトやエフェクトジェネレーター、プロジェクションマッピングとかリアルタイムに加工映像を送出という分野ではデファクトのルーティングソリューションです。ユーザーは対応しているソフトを選んでしまえば特に意識することなく使用可能です。OBSもプラグインで対応しているためPC1台でVJ操作から配信まで行うこともできます。(PCのパワーが間に合えば、、)上記で説明したNewtek NDIもPC自身に送出が可能なのでVJソフトでもNDIに対応することが多くなっているようです。

まとめ

 物理的なケーブルでIn、Outと書いてあるところにガチッと繋ぐのもわかりやすいですし安心感もあります。ただインターフェースの種類が豊富にあり数も多くなってくると管理が大変になってきます。最近の機材は高密度化していって映像のルーティングスイッチャーとかはミニBNCなんか使っていて私の指では小さすぎて扱えなくなってしまいました。(そのための器具もありますが)今回紹介した論理的に信号データをルーティングさせる方法なら物理的につながっているのはEthernetくらいです。論理的な繋ぎでも規模が大きくなり複雑化するとどれがどこに繋がっていると混乱してしまうように思うかもしれませんが管理用のソフトで監視したり変なルーティングにならないよう制限を加えるといったことも可能です。さらにはあらかじめ設定を行うことでユーザーが意識することなく安全なルーティング経路のみ選択できるといったことも可能になるはずです。信号ルーティングなんて仕事でなきゃ考えもしないことですがアプリ同士が簡単に連携することになれば一般PCユーザーでも新しい使い方や表現方法を発見することになるかもしれません。