3

最近、データ ストリーミングと C# について学びました。次のような単純なサーバークライアントログインプログラムの作成を練習しました。

public static TcpClient SocketCLiente = new TcpClient(); 
NetworkStream _serverStream = default(NetworkStream);
public static string IPServer="127.0.0.1";

byte[] outStream = System.Text.Encoding.ASCII.GetBytes(this._txtUserName.Text + "%" + this.txtPassword.Text + "$");
_serverStream.Write(outStream, 0, outStream.Length);

これはテキストではうまく機能しますが、ビデオをクライアントにストリーミングしたい場合はどうすればよいでしょうか? LAN 経由でウェブカメラから ac# アプリケーションにライブ ビデオをストリーミングするにはどうすればよいですか?

4

1 に答える 1

2

上記のコメントのように、How can I stream webcam video with C#? を確認する必要があります。. 一般に、ストリーミングするのはバイトだけです。それらのバイトが、フラッシュやシルバーライトなどのプレーヤーが理解できる方法でフォーマットされている限り、ビデオを再生できます。

今、その投稿がインターネットストリーミングの側面を実際にカバーしているとは思いません. ローカルでのキャプチャと再生については、実際にはもっと触れています。それが directshow の得意とするところです。ビデオとオーディオのフレーム データをキャプチャするために対処しなければならなかったすべてのドライバーのナンセンスを抽象化します。

インターネットへのストリーミングは、独自のストリーミング サーバーを展開する場合を除いて、通常、red-5wowzaadobe FMSrtspsilverlight ストリーミングなどにフックすることによって実現されます。

これらのソリューションの 1 つを使用して、ビデオ データを取得する場所に接続します。要点は、directshow からビデオ/オーディオ パケットをキャプチャし、それらのパケット (ソリューションが必要とするフォーマット) をこれらのストリーミング プラットフォームの 1 つに送り込むことです。

別のオプションは、もう少し「ハック」ですが、ビデオをモーション jpegとしてストリーミングすることです。ただし、これでは音声を送信できません。Motion jpeg は基本的にクライアントに、接続を開いたままにし、常に新しい画像をダウンロードして古い画像を置き換えるように指示します。Web 用のフリップブックのようなものです。ここでの利点は、独自のモーション jpeg コードを非常に簡単に作成できることであり、楽しい小さなプロジェクトになるでしょう。

于 2012-10-08T22:19:02.467 に答える