Невозможно создать захват из файла в Emgucv
if (_capture == null)
{
try
{
_capture = new Capture("video1.mpg");
}
catch (NullReferenceException ex)
{ //show errors if there is any
MessageBox.Show(ex.Message);
}
}
Файл video1.mpg находится в папке bin. Я конвертировал AVI файл в формат MPEG-1 с любым видео конвертером. Но все же этот формат не работает. Я попробовал Mencoder также. но все та же ошибка.
Unable to create capture from video1.mpg
как сделать его совместимым с эмгу Capture
?
2 ответа
Решение
Конвертируйте видео в формат i420.
Команда для выполнения преобразования:
mencoder inputVideo.avi -ovc raw -vf format=i420 -o convertedVideo.avi
Этот преобразованный Video.avi может быть захвачен сейчас.
Сначала вам нужно конвертировать ваш файл Vedio в формат.avi. И использовать какой-то другой инструмент для конвертации необходимого файла vedio. может быть вероятность того, что инструмент, который вы используете прямо сейчас, является демо-версией, поэтому он может не скрыть его должным образом... и затем попробовать следующий код:
string nameOfFile = @"D:\somefile.avi";// your vedio path
Capture _capture = new Capture(name);
try
{
_capture = new Capture(nameOfFile);
}
catch (NullReferenceException ex)
{ //show errors if there is any
MessageBox.Show(ex.Message);
}