我必须通过软件实现一个带有RGE的闭路电视电路。
我可以用它来写视频文件
private VideoFileWriter FileWriter = new VideoFileWriter();
写一个新的框架
private void LocalWebCam_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
try
{
Image img = (Bitmap)eventArgs.Frame.Clone();
MemoryStream ms = new MemoryStream();
img.Save(ms, ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
bi.Freeze();
Dispatcher.BeginInvoke(new ThreadStart(delegate
{ frameHolder.Source = bi; }));
FileWriter.WriteVideoFrame(BitmapImage2Bitmap(bi));
}
catch (Exception ex)
{}
}
因此,通过添加帧来写入文件是可以的。
因此,为了不让硬盘中充满巨大的文件,我决定,例如,当avi文件达到10MBs时,它会被拆分为一个新文件
1.avi更名为2。avi和一个新文件被启动
1.avi-->2.avi
然后
1.avi-->2.avi-->3.avi
等等最终我会有一个。avi 2。阿维。。。10.avi 11。阿维:我将删除11条。阿维
所以总是有10个文件。滚动系统。
这是可行的,但并不明智。
当达到一定大小时,我继续在末尾添加新帧,在开始时删除新帧,这样整个avi文件的大小就不会超过一定的大小,我总是有最后几分钟的注册时间