在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();
答案 0 :(得分:1)
您可以使用我的库制定RtspRequests。
然后,您可以对RtspRequest进行base64编码,并将其作为正文添加到HttpRequest中。
添加content-length
标题,该标题等于正文中base64编码的rtsp请求的长度。
将标题rtsp/x-tunneled
添加到HttpRequest,然后将其发送。
你应该找回一个包含base64编码的RtspResponse的主体的HttpResponse。
Base64解码HttpResponse的Body,然后使用我库中的RtspResponse类来解析它。
图书馆是@ http://net7mma.codeplex.com/
还有一个代码项目文章@ http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp
如果您还需要其他信息,请告诉我们!
答案 1 :(得分:0)
没有标准的C#库可以做到这一点。您甚至无法使用各种.NET DirectShow包装器来完成它。我只是让一位同事花了一个月的时间来解决这个问题,最后他在GStreamer上编写了自己的C#包装器。如果您计划显示视频,最简单的选择是嵌入VLC ActiveX控件。