Не удалось найти параметр кодека для веб-камеры в ffmpeg - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь сохранить изображение с помощью USB-сканера, используя ffmpeg и CentOS. Для сохранения изображений я использую следующую команду.

ffmpeg -f video4linux2 -i /dev/video0 -vframes 1 A.jpg

Это работает для изображений, которые состоят в основном из темных областей. Когда я беру изображение с белого фона, я всегда получаю следующую ошибку:

[video4linux2,v4l2 @ 0x1914c00] Dequeued v4l2 buffer contains corrupted data 
(0 bytes).
Last message repeated 31 times
[video4linux2,v4l2 @ 0x1914c00] decoding for stream 0 failed
[video4linux2,v4l2 @ 0x1914c00] Could not find codec parameters for stream 0 
(Video: mjpeg, none(bt470bg/unknown/unknown), 1600x1200, -5 kb/s): 
unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' 
options
/dev/video0: could not find codec parameters

С помощью команды --list-format я могу сделать вывод, что моя камера поддерживает только MJPG, без YUV или чего-либо еще. Моя идея состояла в том, чтобы правильно установить настройки v4l2:

v4l2-ctl --set-fmt-video=width=1600,height=1200,pixelformat=MJPG

Но это не помогло в моем случае. Я также думаю, что ffmpeg может иметь некоторые проблемы с большими файлами, но, как я выяснил, белые изображения занимают меньше места, чем эти темные. Сканеры зовут HoverCam.

Я надеюсь, что кто-то может мне помочь с этим.

...