Запись видео с веб-камеры с C# Accord. Net - PullRequest
0 голосов
/ 04 августа 2020
Я пытаюсь записать видео с веб-камеры. Для этого я использую Aforge и Accord. Я строю его с формами windows. Источником видео и записью видео являются:
private AForge.Video.DirectShow.VideoCaptureDevice videoCaptureDevice = null;
private Accord.Video.FFMPEG.VideoFileWriter _writer;

Я вызываю Открыть на писателе следующим образом:

var w = (int)Math.Round((double)pic.Width, 0);
var h = (int)Math.Round((double)pic.Height, 0);
_writer.Open(dialog.FileName, w, h,25,VideoCodec.MPEG4);

В событии NewFrame объекта videoCaptureDevice Я делаю:

    Bitmap b = (Bitmap)eventArgs.Frame.Clone();
    if (recording)
    {
        if (firstFrameTime.HasValue)
        {
            _writer.WriteVideoFrame(b, DateTime.Now - firstFrameTime.Value);
        }
        else
        {
            _writer.WriteVideoFrame(b);
            firstFrameTime = DateTime.Now;
        }

     }

Я также пробовал

_writer.WriteVideoFrame((Bitmap)eventArgs.Frame.Clone())

и

_writer.WriteVideoFrame(eventArgs.Frame)

, но продолжаю получать исключение: Параметр не действительный

Есть идеи, что я здесь делаю не так?

tnx

...