2009-04-24 9 views
1

背景:
Silverlight 3アプリケーションを開発しており、ライブストリーミング(webcam +マイクロフォンの入力として)のサポートを追加したいと考えています。残念ながら、SilverlightはWebカメラやマイク自体にアクセスできないため、メディアストリームを確立するためのスタンドアロンアプリケーションを作成する必要があります。私はSilverlightがマイクロソフトの技術で最もうまくいくと思うので、WMV/WMAエンコーディングでASFフォーマットを使用したいと思います。 DirectShowとWindows Media Format SDKを使用したライブストリーミング

  • DirectShowのと両方のウェブカメラとマイク入力をキャプチャして、一つの「ストリーム」にそれを組み合わせることが可能であると思われる:

    は、いくつかの研究を行った後、ここで私は私が行う可能性が何を考えています。

  • ストリームをエンコードするには、Windows Media Format SDKライブラリにストリームを渡す必要があります(MSDNのドキュメントでWM ASF WriterでDirectShowを使用する方法が説明されています)。
  • 私はASFストリームを(HDDに書き込まずに)ブロードキャストするために "Network Sink"のようなものを使用することが可能であるべきだと思います。
  • ストリームに多くのクライアントを接続すると帯域幅がかなり重くなるので、おそらくストリームをサーバーに送信してそこからブロードキャストする必要があります。 ASF Reader/Writerの組み合わせを使用してストリームをサーバーに渡すことが可能かどうかはわかりません。同様の結果を得るためにマルチキャストを使用できるかどうかもわかりません。

私はこれはおそらく私が(DirectShow.NetまたはSlimDXなど)とにかくC++ライブラリのためのいくつかのラッパーを使用する必要がありますとほとんど違いはありませんが、C#のを使用することを計画しています。

残念ながら、私はメディアストリームを処理する経験はほとんどありません。だから私の最初の質問は、私が記述した方法でストリーミングをすることさえ可能ですか?

可能であれば、それは賢明な方法ですか、あるいはいくつかの異なるライブラリ/フレームワークの使用を検討すべきですか?

答えて

1

Silverlightにビデオ/オーディオをストリーミングする場合は、Windows Media Encoder 9のようなものを使用したり、新しいExpression Encoderを使用したりすることが目的の場合は、DShowおよび/またはWMF SDKを使用すると最大限の柔軟性が得られます。どちらもライブWebカメラとマイクをWindows Media Serverの公開ポイントにストリーミングすることも、ローカルポート上でストリームをホストすることもできます。どちらも.NET経由で入手可能なSDKを持っています(WMEはCOM相互運用機能を使用し、Encoderはネイティブ.NET APIを備えています)。このストリームはSilverlightおよびWindows Media Playerと互換性があります。

関連する問題