最初にビデオをXNAゲームエンジンにマージし、拡張現実コンテンツを追加してから、レンダリングされたコンテンツを別のユーザーにストリーミングするアプリケーションを作成しようとしています。これらはすべて、リアルタイムまたはほぼリアルタイムで発生する必要があります。基本的に、システムは次のようになります。
ビデオ->XNA(ゲーム)->(???)->エクスプレッションエンジン->ライブストリーム->ネットワーク->クライアント
これを行うためのクリーンでエレガントな方法は、XNAのレンダリングされた出力をLiveDeviceSourceとして扱い、それをExpressionEngineストリームジョブに直接フィードすることです。カスタムLiveDeviceSourceまたはこれに類似したものを作成することは可能ですか?基本的に、レンダリングされたXNAバッファーをエンコーダーに直接プッシュできる式エンジンのカスタムソースを作成する方法を誰かが知っていますか?バッファをファイルにダンプし、式エンジンにそれをエンコードさせるのはかなり簡単ですが、ディスクへの書き込みには時間がかかるため、ディスクへの書き込みには待ち時間がかかりすぎるのではないかと心配しています。
別の、迅速で汚いハックは、Expression Engineに出力ウィンドウのスクリーンキャプチャを実行させてから、それをストリーミングさせることです。Expression Engineでスクリーンショットをキャプチャすることはできますが、ライブでストリーミングすることはできません。誰かが両方を同時に行う方法を提案できますか?
私はまだExpressionEngineSDKに精通しているため、この質問が十分に形成されていないことを事前に謝罪します。参考までに、私はXNA 4、MS Expression Engine 4、およびVisual Studio 2010を使用しています。私たちの目標は、最終的にこのテクノロジをGoblinXNAの次のリリースと統合することです。
また、XNAから直接ライブビデオをストリーミングする他の方法についての提案も受け付けています。私たちはExpressionEngineと結婚していません。これは、これまでに出会った中で最高のストリーミングソリューションのようです(ffmpegで問題が発生しています)。