Я использовал класс видеоадаптера.
код в моей кнопке записи:
if(grabber == null)
{
return;
}
recording = true;
int fps = Convert.ToInt32(grabber.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FPS));
int foucc = CvInvoke.CV_FOURCC('X', 'V', 'I', 'D');
int width = Convert.ToInt32(grabber.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_WIDTH));
int height = Convert.ToInt32(grabber.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT));
writer = new VideoWriter(path+".avi", foucc, 10, 364, 293, true);
код в моей кнопке остановки записи:
recording = false;
if(writer != null)
{
writer.Dispose();
}
код в моей кнопке выбора каталога:
SaveFileDialog save = new SaveFileDialog();
if(save.ShowDialog() == DialogResult.OK)
{
path = save.FileName;
btnRecord.Enabled = true;
btnStop.Enabled = true;
}
Другой найденный мной обходной путь - использовать библиотеку записи экрана.