日期:2014-05-17  浏览次数:20744 次

一个关于控制摄像头的问题!!!!!!
问题是这样的。我现在想做一个桌面应用程序,让它能接收网页上的摄像头拍摄到的画面。或者如何实现在同一WIFI下远程连接监控。
这是写的一点代码。从网页获取视频流,不过感觉获取的视频流好像不对。
            string s = "http://147.134.38.233/axis-cgi/mjpg/video.swf?resolution=640x480&camera=1";
            HttpWebRequest wrq = (HttpWebRequest)HttpWebRequest.Create(s);
            HttpWebResponse wrs = (HttpWebResponse)wrq.GetResponse();
            Stream stream = wrs.GetResponseStream();
            byte[] bytes0 = new byte[128];
            byte[] bytes1 = new byte[128];
            byte[] bytes= new byte[256];
            MemoryStream ms = new MemoryStream(2048);
            for (int i = 0; i < 80000; i++)
            {
                stream.Read(bytes1,0,128);
                Encoding enc = Encoding.ASCII;
                xux = enc.GetChars(bytes1);

------解决方案--------------------
服务端是什么?视频流是源源不断的,你这样只能获取一部分,除非你页面也在不停刷新。
------解决方案--------------------
这个网址下载的是一个swf格式的文件,你可以分析这个swf文件的格式(可以用SwfDotNet),或者找个直接返回mjpeg格式的视频流的网址。
------解决方案--------------------
Motion JPEG(MJPEG),这个不是你论文里提到的视频数据格式吗?
就是可以看成一幅一幅jpeg图片连起来的一种视频格式。
------解决方案--------------------
你抓到的是swf文件,你看response的header中有:
Content-Type: application/x-shockwave-flash
就说明这是一个swf文件,你要用上面说的swf文件的解析库去解这个文件