Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的视频位图# 迄今为止已完成_C#_.net_Bitmap_Aforge_X264 - Fatal编程技术网

C# C语言中的视频位图# 迄今为止已完成

C# C语言中的视频位图# 迄今为止已完成,c#,.net,bitmap,aforge,x264,C#,.net,Bitmap,Aforge,X264,我使用RGE MJPEGStream从不同的IPCAM获取位图,并在我的应用程序中显示它们。现在我想将这些位图流中的多个(至少8个)记录到本地硬盘上。我已经使用了一个RGE AVIWriter(DLL)从列表中写入1个流的文件,但是因为这些位图都在RAM中,所以我不得不更早地将其写入HDD(这样我就可以一次记录8个流)。所以我试着在每个NewFrame事件中向HDD写入一帧。问题是AVIWriter.Open(字符串文件名、整数宽度、整数高度)使用Win32.OpenFileMode.Creat

我使用RGE MJPEGStream从不同的IPCAM获取位图,并在我的应用程序中显示它们。现在我想将这些位图流中的多个(至少8个)记录到本地硬盘上。我已经使用了一个RGE AVIWriter(DLL)从列表中写入1个流的文件,但是因为这些位图都在RAM中,所以我不得不更早地将其写入HDD(这样我就可以一次记录8个流)。所以我试着在每个NewFrame事件中向HDD写入一帧。问题是AVIWriter.Open(字符串文件名、整数宽度、整数高度)使用Win32.OpenFileMode.Create而不是Win32.OpenFileMode.ReadWrite,因此删除视频文件而不是打开它以添加帧

首选目标
将多个MJPEG流作为视频文件记录到磁盘(甚至可以从上面描述的提供位图的新帧完成)。最好的结果是使用X264编码的1小时长的.MKV文件。我不在乎如何实现这个目标,只要它是在我现有的C#项目中完成的(因此不需要继续使用AForge)。

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

大约4年前我用过它。不过,这个项目已经很久没有更新了,所以不能保证它仍然相关。