Syphon, Spoutおよび NDI

Syphon (Mac), Spout (PC) および NDI ( Mac および PC) はあるプログラムから別のプログラムへのビジュアル出力をルーティングするのに大変良いツールです。

Syphon/Spout

Syphon および Spoutは同一のコンピューター上で動作します。一方のアプリケーションの出力を、もう一方がピックアップします。こうすると、たとえばカッコいいファンキーなプロセッシングスケッチができますが、Resolume Arenaでエフェクトを適用し、サーフィスにマッピングできます。

このように接続可能なアプリケーションの数に、特に制限はありません。
ある時点でコンピューターが煙を吹くだけです。

NDI

NDIはネットワークで働きます。Resolumeを起動しているコンピューター1台から、別のコンピューターで起動しているResolumeへ、特別なハードウェアなしにアウトプットを送信できます。通常のネットワーク接続で大丈夫です。

NDIを使用してビデオをMacからPCへ、またその逆にも、問題なく送信できます。Syphon やSpoutと同様に、セットアップ可能な接続数に特に制限はありません。むろん、あるポイントでネットワークのバンド幅は飽和状態にはなります。

インプット

Syphon,Spout および NDIは、Resolumeで常に有効になっています。

アウトプットを送信しているプログラムがソースタブに表示されます。それらはほかのライブインプットと同様、デッキに追加できます。

同時に必要なだけの数のインプットを使用する事ができます。

アウトプット

Syphon, Spout および/または NDI を'Output' メニューで有効にすると、Resolumeはただちにメインアウトプットのブロードキャストも開始します。

コンピューターで起動中の、Syphon/Spoutが有効な別のアプリケーションが、Resolumeのコンポジション出力をピックアップします。

同じネットワーク上の他のコンピューターも、NDI経由でResolumeのコンポジションの出力をピックアップします。

ブロードキャストしているSyphon/Spoutサーバーを探知しないアプリケーションで、Resolumeのメインアウトプットは次のように識別されます: 

アプリケーション名: "Avenue" または "Arena".

サーバー名: "Composition" (コンポジションのメインアウトプットの場合) または “Screen 1” (スクリーンのルーティングにアドバンスアウトプットを使用時)。

NDIの理解

ネットワークアダプター

現状、NDIプロトコルはデータ送信に使用するネットワークインターフェイスを任意で選択できせん。結果として、Wifiと有線接続の両方が存在する場合、Wifiを使用します。特にOSXでは、Wifiが使用できる場合は、デフォルトでかならずWifiを使用します。

想像できると思いますが、Wifiでビデオを送信すると悲惨なことになります。ですのでNDIをセッティングする際は、ワイヤレス接続を無効にしておいてください。

発見と接続

さらに、NDIプロトコルは接続しているソース以外にも、ソースを検出してしまいます。

たとえばNDI送信元のコンピューターが、あなたのコンピューターとは異なるIPレンジで、しかし同一のネットワークに接続されています。そうすると、NDI送信者がソースに表示されますが、クリップとして使用すると解像度は0x0でオフラインという奇妙なことになります。

これを避けるため、すべてのNDIコンピューターが必ず同じIPレンジおよびサブネットマスクになるようにしてください。

アドバンス出力

ドバンスアウトプット(Advanced Output)で、Resolume Arenaをさらに緻密に制御できます。 Syphon、Spoutおよび NDI出力は、それぞれ独立した物理的スクリーンとして扱うことができます。 

これにより、送信前にアウトプットをワープしたり、送信するコンポジション内のパーツを選択したりできます。その上さらにほかの出力を物理的スクリーンに送信できます。

Syphon/Spout への送信時、アウトプットの幅および高さを必要に応じて変更可能です。


Syphon エグザンプルコード

プロセッシングのためのエグザンプルコードは:

Arenaでは:

client = new SyphonClient(this, "Arena", "Composition"); 

Avenueでは:

client = new SyphonClient(this, "Avenue", "Composition");

Arenaのアドバンスアウトプット経由でSyphonの出力を使用する場合、サーバーを自身でこのように命名します:

client = new SyphonClient(this, "Arena", "Screen 1"); 

関連記事