C# 将摄像机中的视频流分块保存

C# 将摄像机中的视频流分块保存,c#,camera,video-streaming,ip-camera,chunking,C#,Camera,Video Streaming,Ip Camera,Chunking,我目前有一个MJPEG相机,我需要捕捉和保存它的视频在小时的间隔 我试图通过对传入数据进行分块并将其全部保存到一个文件来实现这一点,但创建的文件只是一个约1秒长的视频流的损坏版本 这是我的 request = WebRequest.Create("http://MYVIDEOURL.videostream.cgi"); request.Credentials = new NetworkCredential("USERNAME", "PASSWORD"); request.Method = "

我目前有一个MJPEG相机,我需要捕捉和保存它的视频在小时的间隔

我试图通过对传入数据进行分块并将其全部保存到一个文件来实现这一点,但创建的文件只是一个约1秒长的视频流的损坏版本

这是我的

request = WebRequest.Create("http://MYVIDEOURL.videostream.cgi");

request.Credentials = new NetworkCredential("USERNAME", "PASSWORD");

request.Method = "POST";

WebResponse response = request.GetResponse();

using(var fs = new FileStream(@"C:\TestVideo.avi", FileMode.Create)) {

    using(var repStream = response.GetResponseStream()) {

         while (!bw.CancellationPending)//this is for the background worker
         {

             byte[] b = new byte[4096];

             int bytesRead = repStream.Read(b, 0, b.Length);

             repStream.Read(b, 0, bytesRead);

             fs.Write(b, 0, bytesRead);


         }//end while

         fs.Close();

    }//end using

}//end using
所有这些都在backgroundworker中,我在一个线程中有一个计时器,在指定的时间内运行它


我使用的此方法正在连接到流,但正如我所说的,仅保存一秒钟的视频,并且视频已损坏。

如果要创建.avi文件,则需要创建正确的标题,否则它将无法工作。请看一些avi库来解决您的问题。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。