cv :: VideoWriter выдает нечитаемое видео - PullRequest
5 голосов
/ 24 января 2012

Я хочу создать видеофайл из потока изображений RGB со скоростью 52 кадра в секунду. Я нашел API opencv довольно удобным для использования (cv :: VideoWriter). Проблема в том, что я могу играть в выпущенный AVI только с VLC; который воспроизводит видео, но кричит:

[0x28307b0] xcb_xv generic error: no available XVideo adaptor

Любой другой видеопроигрыватель (на том же компьютере) не может читать и воспроизводить видео. Во время записи все выглядит нормально: я получаю информацию о выходе, о размере кадра, видео кодеке, частоте кадров и т. Д. ... без ошибок.

Output #0, avi, to '01-23-12_15-24-51.avi':
Stream #0.0: Video: flv, yuv420p, 500x242, q=2-31, 7744 kb/s, 90k tbn, 52tbc 

Поскольку OpenCv поддерживает только avi как контейнер видео, единственное, что я мог изменить, это видеокодек, я попробовал (код FOURCC) FLV1, DIVX, DIV3, но ни один из них не работает правильно.

Я бы хотел воспроизвести это видео с помощью любого видеопроигрывателя на разных компьютерах. Как я могу заставить это работать? VideoWriter - правильный выбор?

Любые предложения приветствуются.

Спасибо.

1 Ответ

1 голос
/ 24 января 2012

Если у вас есть источник видео для ваших изображений, было бы неплохо использовать тот же кодек для вывода:

int videoType = (int)cap.get(CV_CAP_PROP_FORMAT);

VideoWriter vout;
vout.open(videofile + "_out.avi", videoType, 30, imgSize);

Или вы можете попробовать более старый, более простой FOURCC.Или для Microsoft, если вы хотите запустить его только в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...