我正在尝试让我的 USB 网络摄像头 (Logitech QuickCam Communicate STX) 在 Olimex SAM9-L9260 主板 (ARM) 上运行。我使用了 Buildroot 2013.05 并且系统已启动并运行。我想拍摄网络摄像头快照并尝试使用 mplayer 执行此操作,命令如下:
mplayer tv:// -tv 驱动程序=v4l2:设备=/dev/video0:宽度=320:高度=240 -帧 1 -vo jpeg
此命令在 Ubuntu 中有效,但在我的嵌入式主板上无效:
mplayer tv:// -tv 驱动程序=v4l2:设备=/dev/video0:宽度=320:高度=240 -帧 1 -vo jpeg
MPlayer 1.1-4.7.3 (C) 2000-2012 MPlayer 团队
正在播放电视://。
检测到电视文件格式。
没有这样的驱动程序:v4l2
退出...(文件结束)
董事会的一些开场白:
Linux视频捕获接口:v2.00
uvcvideo:无法创建 debugfs 目录
usbcore:注册的新接口驱动程序uvcvideo
USB 视频类驱动程序 (1.1.1)
gspca_main:v2.14.0 已注册
usbcore:注册的新接口驱动程序gspca_zc3xx
当我将网络摄像头连接到主板时,摄像头中的 LED 会亮一会儿(在 Ubuntu 中的行为相同),并且终端打印:
usb 1-1:使用 at91_ohci 的新全速 USB 设备编号 2
gspca_main: gspca_zc3xx-2.14.0 探测 046d:08ad
输入:gspca_zc3xx 作为 /devices/platform/at91_ohci/usb1/1-1/input/input0
我的Buildroot .config
:
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_FFMPEG=y
BR2_PACKAGE_MPLAYER=y
BR2_PACKAGE_MPLAYER_MPLAYER=y BR2_PACKAGE_JPEG=y
BR2_PACKAGE_LIBJPEG=y BR2_PACKAGE_LIBUSB
=
y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE 未设置
BR2_PACKAGE_LIBV4L_V4L2_CTL=y
BR2_PACKAGE_LIBV4L_V4L2_DBG 未设置
我的Linux内核3.9.4 .config
:
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_CONTROLLER 未设置
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_ADV_DEBUG 未设置
CONFIG_VIDEO_FIXED_MINOR_RANGES 未设置
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEO_V4L2_INT_DEVICE=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV =y CONFIG_USB_GSPCA=y CONFIG_USB_GSPCA_ZC3XX=y CONFIG_VIDEO_EM28XX 未设置 CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_SOC_CAMERA 未设置 CONFIG_V4L_MEM2MEM_DRIVERS 未设置 CONFIG_V4L_TEST_DRIVERS 未设置
我的主板根文件夹中的一些 V4L 文件:
./usr/lib/libv4lconvert.so
./usr/lib/libv4l
./usr/lib/libv4l/v4l1compat.so
./usr/lib/libv4l/v4l2convert.so
./usr/lib/libv4l1.so
./usr/lib/libv4l1.so.0
./usr/lib/libv4l2.so
./usr/lib/libv4l2.so.0
./usr/lib/libv4lconvert.so.0
缺少什么?相机被检测到,我认为我安装了 V4L(版本 1 或 2)支持。
答案1
成功!只需在 mplayer.mk 文件的“define MPLAYER_CONFIGURE_CMDS”下添加“--enable-tv-v4l2”即可