dendoSwitcher ベータ公開開始
先日のUstreamer座談会等でデモを行っていたCamTwistベースのモジュラースイッチャーシステムが「dendoSwitcher」としてベータ公開を開始しました。
まずはこの「dendoSwitcher」の概要をご紹介し、どのようなシステムなのかをご解説していきたいと思います。
この記事の短縮URL→ http://bit.ly/h61bTQ
解説の前にダウンロード情報:
ダウンロード先はGoogleドキュメントの公開フォルダ(CamTwistカスタムQTZ)です。
http://bit.ly/d24Un4
この中の dendoSwitcher をクリックし、ZIPファイルをダウンロードしてください。
さて、
このシステムの最大の特徴はCamTwistをベースにした「モジュラー型のソフトウェア・スイッチャーシステム」だということです。
CamTwistについては今更ご紹介する必要もないとは思いますが、Mac OS X上で動く(残念ながらWindows版はありません)「仮想カメラデバイス」と言われるカテゴリーのソフトウェアです。CamTwistを使用することでアプリでは直接認識できないUSBカメラを使えるようにできたり、多種多様なエフェクトを加えたりすることができます。映像アプリ側からはCamTwistが一つのカメラデバイスのように見えます。このことから「仮想カメラデバイス」と呼ばれるわけです。
このCamTwistですが、実はMac OS Xのグラフィックスのテクノロジーを満載したホストアプリで、MacのXcode ToolsのひとつQuartz Composerで作成される各種の「コンポジション」と呼ばれるプログラムモジュールでリアルタイム画像処理の機能を簡単に拡張させることが出来るようになっています。
今回の「dendoSwtcher」もこのQuartz Composerで作成されたコンポジション群という形で成り立っています。
上の図は「dendoSwitcher」の構成の概要図です。広義の意味での「dendoSwitcher」とはこのセットアップ全体を指します。これは何故かと言いますと、構成の方法によってはこれらの機能は1台のマシン上にある必要が無いからです。狭義の意味での「dendoSwitcher」とは左側のCamTwist内のモジュールを指しますが、まずMasterモジュールがCamTwistの外に出して使用できます。というか実用上はCamTwist内で動作させない方が便利なので、通常は独立して起動させます。
個々のモジュールは
- マスターモジュール(スイッチャー制御、通信、操作表示)
- カメラモジュール(カメラデバイス設定、動画表示、エフェクト)
- テロップモジュール(テロップ管理、テロップ表示)
の3種に分類されます。このうちカメラモジュールはカメラの種類別に更に3種に分かれます。
- WebCamモジュール(USB接続のWebカメラ用)
- DVCamモジュール(Firewire接続のDVカメラ用)
- IPCamモジュール(TCP/IP接続のAXISカメラ用)
WebCamモジュールはUSB接続のWebカメラを対象としたモジュールです。最近のWebカメラは高解像度・高画質なため同一USBバス上で1台しか使えないことも多いため、モジュールは2つです。VGAクラスの高画質カメラがあればもっと台数は増やせるでしょう。 デフォルトではLogicoolのC910に調整されています。
DVCamモジュールはFirewire接続のDVカメラを対象としたモジュールです。最近はFirewireポートの無いMacも出て来ていますが、Firefireハブを併用することで2台のDVカメラまで接続することができます。このためモジュールも2つです。デフォルトではiVIS HV20とCanopus ADVC-55に調整されています。DVカメラはワイドアスペクト設定にしておいてください(4:3設定でも対応は可能です)。
IPCamモジュールはTCP/IP接続のIPカメラを対象としたモジュールです。IPCamとはネットワーク接続の監視用カメラなどのことです。IPCamモジュールがあることが「dendoSwitcher」の特長の一つですが、諸処の事情により「dendoSwitcher」ではAXIS Comunications社のカメラにのみ対応します。
過去にうちでもUstreamの配信でAXISのカメラを使ったことがありますが(バルーンCamの頁を参照)当時は非常に泥臭い方法で強引に画像を取り込んでいたためPCを1台占有していました。しかし今回はAXISカメラ専用のプラグインを採用することで、CamTwisに直接取り込む事が可能になっています。これによりWiFi(無線)及びEthernet(有線)で複数のIPカメラを収容できますが、とりあえずこのモジュールも2つです。
これら3種6つのカメラモジュールをフルに使うことでMacBook Proの場合最大の6カメラ構成を組む事ができます。なお、USBとFirewireはあまり拡張の余地がありませんが、 17インチMBPや旧15インチMBPなどではExpressCardを使用してバスを増設することでカメラの収容台数や構成を変更することはできます。ただし6台の時点でCPU負荷はフルに近いため、総台数を増やす事は難しいでしょう。USBで4台とか6台とか、Firewireで4台などは可能性があります。
次にこれらのカメラモジュールの上にテロップを重ねるテロップモジュールがあります。
テロップモジュールは単体でも使用可能な構造になっており、「dendoSwitcher」と関係なく使用ができます。また後述するiPhoneからのリモートもダイレクトに受けることができます。
標準では12セット 20セット(beta110223以降)の文字セットを使用することができ、順送りや戻り、自動送りなどができます。また若干のエフェクト機能があり、フェード/カットの他に水平方向の投げ込みと垂直方向の投げ込みエフェクトが使用可能です。(ただし現時点ではセンタリングすると水平エフェクト時に字が残ることがあります)
カラーは固定プリセットで3つ(上図の上3つ) 、バリアブル1つ(一番下)が使用できます。その他文字サイズ、文字色、文字寄せ(左、センター、右)、座布団の幅、位置調整などが行えます。
次に一番大事なマスターモジュールがあります。カメラモジュールやテロップモジュールを制御しスイッチャーとして統合する機能と、外部のデバイスやソフトと通信を行い連携を取る機能があります。
このモジュール自体はCamTwist内に置く事も可能ですが、初期のバージョンと違い、各種状態表示を配信とは別のウインドウにしたり、キーボードからの操作を受け付ける為にはCamTwist外で独立して起動させる必要があります。Developerツールがインストールされている環境ではQuartz Composerで起動させるのが一番ですが、QuickTime7 Playerで起動させることでも一通りの動作はします(ただし設定画面が使えない)。
画面の表示内容は上記の通りで、仮想スイッチャー画面はどのチャンネルの画が出ているかの表示だけでなく、ディズルブモードの時は数字もディゾルブ(クロスフェード)し、カットモードの時はカットで切り替ります。テロップの表示も同様です。またスイッチャーの各種モード状態も表示されます。特にテロップNo.の表示は重要で、テロップモジュールと双方向通信を行い、現在セットされているテロップStringのNo.を表示します。これはテロップが消えている時でも表示されますので、テロップを消して任意のテロップに送って待機させることが可能です。
チャンネルとカメラモジュールの間のマッピングは設定画面の上記部分で行います。同じチャンネルを複数のモジュールに割り当てても正しく動作しませんのでご注意ください。
レベルメータはデフォルトではSoundflower (2ch)のレベルをdB(デシベル)表示します。FMLEなどのエンコーダソフトの音声入力をSoundflower (2ch)に設定してあれば、配信の入力レベルを高精度に監視ができます。このレベルメータは(無駄に)高機能ですので機会があれば別途詳細に解説したいと思います。
下段中央はCPUの負荷メータです。アクティビティモニタを立ち上げなくても常時表示され動作も高速ですので、負荷を睨みながらモジュールの使用状態を変更する手助けになります。
下段左はAU Labのリモート表示(仮想フェーダー)です。AU LabはDeveloper Toolsに標準で添付される高機能なオーディオミキサー(の様な物)です。AUプラグインも付属するので非常に高度な音処理をグラフィカルに簡単に設定する事ができます。dendoSwitcherにはこのAU LabのフェーダーをMIDI経由でリモートする機能があり、6本のフェーダーをキーボードから操作することが可能です。その他独自のミュート機能もあり、音をカットするだけでなく一定音量に下げることができます(ディマーモード) 。
動作の同期を取るため、マスターモジュールの起動時にはフェーダーが一度リセットされ、0dBの位置までフェードインします。どのフェーダーを割り当てるかはAU LabのMIDI Mappers画面で設定が可能です。
AU Labを配信で使用するためには複数のLineInかWireTap、JackOSXなどが必要ですが、とりあえずここでは割愛します。dendoSwitcherはセットアップされたAU Labを効率よくリモートし、dBレベルメータと共に配信の音管理を集中制御できるようにします。
なお、AU LabをコントロールするにはAudio MIDI 設定(アプリ)でのMIDIウインドウで「IAC ドライバ」を有効にしておく必要があります。
最後にiPhoneによるリモート機能について説明します。dendoSwitcherの各モジュール間の連動は内部での通信機能を利用して行われています。Quartz ComposerにはMIDIとOSCの2つの通信機能がありますが、dendoSwitcherではその両方を使用しています。
- AU Labリモート:MIDI(IAC ドライバ)
- モジュール間通信:OSC(TCP/IP UDP Loopbackインターフェース)
- iPhoneリモート:OSC(TCP/IP UDP )
OSCはTCP/IP(いわゆるネットワーク)経由でメッセージの交換が行えるMIDIの後継のような規格です。MIDIより手軽に利用できるため、dendoSwitcherでは非常に多くの箇所でOSCによる通信を採用しています。この通信機能により、バラバラのモジュールとして作成されたカメラモジュールやテロップモジュールが、マスターモジュールの指示の元で統合されたスイッチャーとして動作をします。結局マスターモジュールとはこれらの通信用のデータを生成したり、翻訳するためのモジュールなのです。
このため、dendoSwitcherの各モジュールには全て通信インターフェースが存在します。通常はマスターモジュールとのみ通信を行います。
このOSC通信にはiPhoneアプリという強い見方がいます。何種類かのOSCアプリが存在し、機能や価格が違いますが、一番手軽な「iOSC」の使用を推奨しています。
iOSC
http://recotana.com/iphone/iosc/ja/index.html
このiOSCのパッドやフェーダーをdendoSwitcherの各種パラメータに割り振ることで、マスターモジュール経由でdendoSwitcherの各種機能を手元のiPhoneからリモートすることができます。iOSCの標準的な設定方法は別途掲載する予定ですが、カメラ切換えやズームリモート、テロップの切換えなどに割り振ると現場で非常に幸せになります。(ただし現在のバージョンでは音声関係のiPhoneリモートパラメータは未実装です)
テロップモジュールも単体でOSC通信機能を持っていますので、iOSCでテロップモジュール直の操作設定を作成すれば、マスターモジュールなしでテロップモジュールをリモートすることができます。
また、より高機能なTouchOSCなどのアプリを使うとiPadの大画面により多くのボタンを自由に組み込むことができます。iOSC だとパッドを切替えないとできない操作が1画面でできる可能性があり今後の開発課題となっています。
→追記:beta110223 以降、TouchOSCの専用レイアウトを使用する miniMaster モジュールがリリースされています。(下の画像はbeta110304の物)
miniMasterモジュールはMasterモジュールと排他的(両方同時には使えない)に使用する必要がありますが、 負荷も軽く配信に必要な機能が全て手元のiPhoneで操作が出来るより実用的な構成となっています。
なお、dendoSwitcher は開発途上(永遠のBeta版とも言う)のシステムですのでアップデートのリリースにはご注意ください。アップデート情報の入手は、
- 当Blogの dendoSwitcher カテゴリーをチェックする
- Twitterで #dendosw タグを監視する
- Twitterで @dendopuep をフォローする
などがあります。
2011年02月14日 22:21
[...] 何も足さない、何も引かない : dendoSwitcher ベータ公開開始 meteor.blog.avis.jp/archives/212 – view page – cached Composerで起動させるのが一番ですが、QuickTime7 Playerで起動させることでも一通りの動作はします(ただし設定画面が使えない)。 [...]