Я хочу создать видеофайл из потока RGB-изображений, движущихся со скоростью 52 кадров в секунду. Я нашел opencv api очень удобным для использования (cv :: VideoWriter). Проблема в том, что я могу играть с производимыми avi только с VLC; который воспроизводит видео, но орет:cv :: VideoWriter дает нечитаемое видео
[0x28307b0] xcb_xv generic error: no available XVideo adaptor
Любой другой видеоплеер (на том же компьютере) не умеет читать и воспроизводить видео. При записи все выглядит нормально: я получаю информацию о выходе, о размере кадра, кодеке видео, fps и т. Д. ... без ошибок.
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 правильным выбором?
Любое предложение очень приветствуется.
Спасибо.
При скорости 52 кадр/с вы можете выдвигать пределы того, что может делать OpenCV. Сначала я попробую 30 кадров в секунду и посмотрю, как на него реагируют другие видеоплееры. – karlphillip
OpenCV полагается на FFmpeg, чтобы делать все материалы, связанные с низким уровнем видео; Я уверен, что ffmpeg может выйти за пределы 52 кадра в секунду. Во всяком случае, спасибо за предложение, которое я пробовал, но он не работает. – sciarp
попробуйте другой кодек (FOURCC) при создании видеофайла. Выберите простой, MPEG2 или что-то в этом роде – Sam