3

C#では、rtspビデオストリームが「System.net.httpwebrequest」で使用されている可能性があります。そうでない場合は、plzで別の方法を教えてください。//ファイルをダウンロードするURL

        string basepath = @"rtsp://ip.worldonetv.com:1935/live/ ";

        // the path to write the file to

        //            string sFilePathToWriteFileTo = "d:\\Download";



        // first, we need to get the exact size (in bytes) of the file we are downloading

        Uri url = new Uri(basepath);

        System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);

        System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();

        response.Close();
4

2 に答える 2

1

私のライブラリを使用してRtspRequestsを作成できます。

次に、RtspRequestをbase64でエンコードし、それをHttpRequestの本文として配置できます。

content-length本体にbase64でエンコードされたrtspリクエストの長さに等しいヘッダーを追加します。

ヘッダーrtsp/x-tunneledをHttpRequestに追加してから、送信します。

base64でエンコードされたRtspResponseを含む本文でHttpResponseを取得する必要があります。

Base64はHttpResponseの本文をデコードしてから、ライブラリのRtspResponseクラスを使用して解析します。

ライブラリは@http://net7mma.codeplex.com/です。

そして、codeprojectの記事@http ://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtpがあります

他に何か必要な場合は私に知らせてください!

于 2012-12-11T23:12:36.957 に答える
0

これを行うための標準のC#ライブラリはありません。さまざまな.NETDirectShowラッパーを使用してそれを行うことさえできません。同僚にこの問題に1か月を費やしてもらい、彼はGStreamerで独自のC#ラッパーを作成することになりました。ビデオを表示することを計画している場合、最も簡単なオプションはVLCActiveXコントロールを埋め込むことです。

于 2012-08-04T04:55:42.850 に答える