在 Raspbery Pi 的 Raspbian(基于 Debian Wheezy)上,我尝试通过 ffmpeg/avconv 从 Logitech C910 网络摄像头进行最简单的视频抓取并将其转换为视频文件。
我说:
$ avconv -t 5 -f video4linux2 -s 320x240 -r 30 -i /dev/video0 -vcodec mpeg1video out.avi
但得到
avconv version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2000-2013 the Libav developers
built on Mar 31 2013 13:58:10 with gcc 4.6.3
[video4linux2 @ 0x1371840] Cannot find a proper format for codec_id 0, pix_fmt -1.
/dev/video0: Input/output error
line video4linux2 建议,问题出在输入编解码器上,而不是输出上?
可能是我没有安装某些包?
怎么了?看来,这个解决方案应该很简单。谢谢。
答案1
我在 logitech C310 和 raspbian 上看到了这个问题。经过一番探索,我找到了一些有关所需像素格式的帮助。
$ sudo apt-get install v4l-utils
...
$ sudo v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
在 ffmpeg 命令行中添加“-pix_fmt yuyv422”即可使其再次运行。