0

私は現在、モントリオールのビエンナーレとジュネーブのマッピング フェスティバル、マイの 11、12、18、19 日の両方で発表される、God is a DJ というプロジェクトに取り組んでいます。insan-ë という会社は、テクノロジーをパフォーミング アーツに取り入れ、モントリオールで 1 シーン、スイスのジュネーブで別のシーンでショーを行うことに関心を持っています。気になる方はチェックできます。このアプリケーションは、風景を介してある場所から別の場所へのストリーミング ビデオを使用し、ビデオの構成とマッピングは mixologic で行われます。両方のアプリケーションはモントリオールの SAT で開発されました。より基本的な開発、MIDI インターフェイス、マシンのセットアップ、およびこれをここで行います。各劇場に独立したカメラを使用して、すべてをオンラインでストリーミングしたいと考えています。

質問:

私が構築する必要があるアプリケーションは、次のことを行います (実際には非常に簡単です): モントリオールからストリームを取得し、カメラからキャプチャし、両方の画像を並べて配置します (レイテンシの制御は優れたオプションです)。サウンドをミックスし、これをストリーミングして、Web ページにアクセスして表示します。私は最初、JAVA と Processing を使ってこれを行うことを考えました (ほとんどの場合、もう少し処理を行いたいのと、ビジュアル プログラミングがあまり好きではないためです) が、qc が最良の選択肢であると思います。ただし、これまでのところ、qc に関するドキュメントは非常に貧弱です。Threenodes.js も考えました。簡単かもしれないからです。

とにかく、これについて正しい方向に向けていただければ幸いです。私はそれほど経験豊富なプログラマーではなく、それぞれの能力や限界を知らずに、あまりにも多くの可能性を考えています。

どんな提案でも大歓迎です!ありがとう!

4

1 に答える 1

1

2 つのビデオ プレーヤー コンポーネントを並べて配置した単純な HTML で Web ページを作成できます ( 「video」タグを使用するか、「object」タグを介して他のプレーヤーを使用)。一方はモントリオールからのストリームを再生し、もう一方はモントリオールからのストリームを再生します。ローカルでキャプチャされたビデオ。モントリオールの部分はおそらく既にストリーミング サーバーを使用しているので、ローカル ストリームに同じものを使用するか、VLC のようなものを試すことができます。

ページが読み込まれると、2 つのプレーヤーは独立してストリーミングを開始し、オーディオはオペレーティング システムによって正常にミックスされます。ユーザーは、各ビデオ プレーヤーの音量スライダーを使用して音量を制御することもできます。(この場合、遅延制御はありません:-(もちろん、ローカル カメラとフレーム グラバーの間に遅延ハードウェアがあることを除いて)

2 つのストリームを処理し、処理されたストリームを表示する場合は、デコードするすべてのフレームでイベントをトリガーする機能を持つ 2 つのプレーヤー オブジェクトを含むプログラムを作成する必要があるため、もう少し複雑になります。問題ではありませんが、そのようなコンポーネントはどの言語でも簡単に見つけることができます)。

そのハンドラー内で、画像と音声のストリームを取得し、処理を行い、エンコードしてストリームとしてネットワーク経由で送信する必要がある混合フレームを作成できます。この最後の部分は簡単ではありません。これを回避する最も簡単な方法は、アプリケーションを全画面表示にして、コンピューターのメイン画面に描画するものを何でも描画することです。グラフィックス カードからこの出力を取得し、フレーム グラバーに入力として渡すことができます。次に、ビデオ ストリーム サーバー (上記の VLC など) をセットアップして、フレーム グラバーのこの入力をブロードキャストします。

上記で説明したように、HTML ページ内のプレーヤーを介して、この結合されたビデオにアクセスできるようになりました。

このソリューションを使用すると、コードからもちろんすべて (レイテンシを含む) を制御できます...

Processing.org に関する限り、ビデオ ストリームをデコードするコンポーネントについてはhttp://processing.org/reference/libraries/video/index.htmlをご覧ください。

于 2012-04-04T13:10:12.683 に答える