代码之家  ›  专栏  ›  技术社区  ›  online Thomas

位图到C格式的视频#

  •  0
  • online Thomas  · 技术社区  · 11 年前

    到目前为止已完成

    我使用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)。

    1 回复  |  直到 11 年前
        1
  •  0
  •   online Thomas    11 年前

    我使用AForge.Writer中的wmv3 AVI。我在构造函数中打开文件,让newFrame事件写入每一帧。它没有我希望的那么好,但它会的。