OpenCV не может прочитать файл AVI

Я знаю, что уже было множество подобных вопросов, но, к сожалению, ни один из них не помог. Итак, вот проблема (я совсем новичок в OpenCV).

Попытка просто открыть и показать файл AVI. Файл существует, и путь к нему правильный.

int main( int argc, char** argv )
{
VideoCapture cap;

if(!cap.open(argv[1]))
{
printf("Failed to open %s\n", argv[1]);
return -1;
}

namedWindow("Video output", 1);

for(;;)
{
Mat curFrame;

cap >> curFrame;

imshow("Video output\n", curFrame);

if(waitKey(30) >= 0)
break;
}

return 0;
}

Ошибки не появляются, open () возвращает false.

Я ранее конвертировал файл с mencode. Вот информация о файле:

boris@boris-ubuntu:~$ ffmpeg -i out.avi
ffmpeg version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
built on Jun 12 2012 16:37:58 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, avi, from 'out.avi':
Metadata:
encoder         : MEncoder svn r34540 (Ubuntu), built with gcc-4.6
Duration: 00:00:01.00, start: 0.000000, bitrate: 265458 kb/s
Stream #0.0: Video: rawvideo, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24 tbr, 24 tbn, 24 tbc
At least one output file must be specified

Насколько я понимаю, формат видео yuv420p, который поддерживается OpenCV.

Какие-либо предложения?

Спасибо!

1

Решение

Ну, проблема была в том, что OpenCV был скомпилирован без поддержки ffmpeg (или любой другой видео библиотеки).

Благодаря этот великий пост, Я успешно установил ffmpeg и перекомпилировал OpenCV, и тогда все было хорошо.

1

Другие решения

Других решений пока нет …