到目前为止已完成
我使用AForge MJPEGStream从不同的IP摄像头获取位图,并将其显示在我的应用程序中。现在我想将这些位图流中的多个(比如至少8个)记录到本地HDD中。我已经使用AForge AVIWriter(DLL)从列表中写入了1个流的文件,但由于这些位图都在RAM中,我不得不提前将其写入HDD(这样我就可以一次记录8个流)。所以我尝试在每个NewFrame事件中都向HDD写入一个帧。问题是AVIWriter.Open(string fileName,int width,int height)使用Win32.OpenFileMode.Create而不是Win32.OpenFileMode.ReadWrite,因此删除视频文件而不是打开它来添加帧。
首选目标
将多个MJPEG流作为视频文件记录到磁盘(甚至可以从上面描述的NewFrame中完成,它提供位图)。最好的结果是使用X264编码的1小时长的.MKV文件。我不在乎如何实现这个目标,只要它是在我现有的C#项目中完成的(所以不需要继续使用AForge)。