3

在 c# 中是否有可能使用 rtsp 视频流“System.net.httpwebrequest”如果不是请告诉我另一种选择。// 下载文件的 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,然后将其发送。

您应该返回一个 HttpResponse,其正文包含 base64 编码的 RtspResponse。

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# 库可以做到这一点。您甚至无法使用各种 .NET DirectShow 包装器来做到这一点。我刚让一位同事在这个问题上花了一个月的时间,他最终在 GStreamer 上编写了自己的 C# 包装器。如果您打算显示视频,最简单的选择是嵌入 VLC ActiveX 控件。

于 2012-08-04T04:55:42.850 回答