在ffmpeg中找不到网络摄像头的编解码器参数

时间:2018-11-02 14:11:36

标签: ffmpeg centos webcam v4l2

我正在尝试使用ffmpeg和CentOS使用USB扫描仪保存图像。为了保存图像,我使用以下命令。

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-formats命令,我可以认为我的相机仅支持MJPG,不支持YUV或其他任何功能。我的想法是通过以下方式正确设置v4l2设置:

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

但这对我的情况没有帮助。尽管ffmpeg可能对大型文件也有一些问题,但是我发现,白色图像比深色图像占用更少的空间。扫描仪的名称是HoverCam。

我希望有人可以帮助我。

0 个答案:

没有答案