C#でウェブカメラビデオをストリーミングするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/342774

  •  19-08-2019
  •  | 
  •  

質問

ブラウザベースのクライアント(後で作成します)を使用してストリーミングビデオを視聴できるシンプルなサーバーアプリケーションを作成したいと思います。そして、C#を使用したい。

ウェブカメラを介してビデオまたは高速画像をキャプチャし、ネットワーク経由で送信するには何が必要ですか?

役に立ちましたか?

解決

<!> quot;キャプチャ/ストリーマーをボックスに入れたい場合<!> quot;コンポーネント、他の人が言及したようにそこにいくつかあります。

すべてを低レベルで制御するには、alliedhackerが指摘するようにDirectShowを使用する必要があります。 C#でDirectShowを使用する最良の方法は、 DirectShow.Net ライブラリを使用することです。DirectShowCOMをすべてラップします。 APIと多くの便利なショートカット機能が含まれています。

キャプチャとストリーミングに加えて、録音、オーディオとビデオのフォーマット変換、オーディオとビデオのライブフィルター、その他多くの機能を実行できます。

Microsoftは、DirectShowがなくなると主張していますが、DirectShowが提供するすべてを実行する新しいライブラリまたはAPIをまだリリースしていません。彼らがリリースした最新のものの多くは、まだ内部のDirectShowだと思う。 Microsoftでのステータスのため、MSDNおよびフォーラムで見つけることができるもの以外に、本や参考文献はそれほど多くありません。昨年、それを使用してプロジェクトを開始したとき、このテーマに関する最高の本- Microsoft DirectShowのプログラミング -絶版となっており、使用済みコピーで約350ドルで購入できました!

他のヒント

このための通常のAPIはDirectShowです。

P / Invokeを使用してC ++ APIをインポートできますが、すでにこれを実行しているプロジェクトがいくつかあると思います。

http://channel9.msdn .com / forums / TechOff / 93476-Programatically-Using-A-Webcam-In-C /

http://www.codeproject.com/KB/directx/DirXVidStrm.aspx

ストリーミング部分を取得するには、おそらくDirectShowを使用して圧縮コーデックを適用して遅延を減らし、その後ストリームを取得して送信できます。マルチキャストを使用してネットワーク負荷を軽減することを検討できます。

VideoLAN を使用できます。 VideoLANはサーバーとして機能します(または、独自のC#アプリケーションをラップして制御することもできます)。ビューアー用の.NETラッパーもあり、これを使用してC#クライアントに埋め込むことができます。

プロジェクトに VideoCapX を使用しました。メディアプレーヤーで開くことができるMMS / ASFストリームとしてストリーミングされます。その後、メディアプレーヤーをWebページに埋め込むことができます。

あまり制御する必要がない場合、またはコードを記述せずにVideoCapXを試してみたい場合は、 U-Broadcast 、彼らは舞台裏でVideoCapXを使用します。

Webブラウザ内からビデオを録画する場合、唯一の選択肢はFlashであると思います。同じことをしようとしています。私たちも主に.NETの家であり、.NETを使用してWebカメラ_from_within_the_browser_をキャプチャする方法がありません。ここに記載されている他のすべてのソリューションは、デスクトップアプリに満足しているのであれば、おそらくうまく機能します

ウェブカメラからブラウザに画像をストリーミングするもう1つのオプションは、mjpegです。これは、最新のブラウザのほとんどがタグの一部としてサポートしている一連のjpegイメージです。 C#で記述されたサンプルサーバーを次に示します。

https://www.codeproject.com/articles/371955 / motion-jpeg-streaming-server

これはLAN上ではうまく機能しますが、インターネット上ではmjpegが他のビデオコーデック(h264、VP8など)ほど効率的ではないため、それほどうまくいきません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top