Sucesso! Apenas tive que adicionar "--enable-tv-v4l2" no arquivo mplayer.mk em "define MPLAYER_CONFIGURE_CMDS"
Estou tentando fazer com que minha webcam USB (Logitech QuickCam Communicate STX) funcione em uma placa Olimex SAM9-L9260 (ARM). Eu usei o Buildroot 2013.05 e tenho o sistema instalado e funcionando. Eu quero tirar instantâneos da webcam e tentar usar o mplayer para isso com este comando:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=320:height=240 -frames 1 -vo jpeg
Este comando funciona no Ubuntu, mas não no meu painel incorporado:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=320:height=240 -frames 1 -vo jpeg
MPlayer 1.1-4.7.3 (C) 2000-2012 MPlayer Team
Playing tv://.
TV file format detected.
No such driver: v4l2
Exiting... (End of file)
Algumas linhas de inicialização do quadro:
Linux video capture interface: v2.00
uvcvideo: Unable to create debugfs directory
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
gspca_main: v2.14.0 registered
usbcore: registered new interface driver gspca_zc3xx
Quando conecto a webcam à placa, um LED na câmera acende por um breve período (o mesmo comportamento no Ubuntu) e o terminal imprime:
usb 1-1: new full-speed USB device number 2 using at91_ohci
gspca_main: gspca_zc3xx-2.14.0 probing 046d:08ad
input: gspca_zc3xx as /devices/platform/at91_ohci/usb1/1-1/input/input0
Meu 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 is not set
BR2_PACKAGE_LIBV4L_V4L2_CTL=y
BR2_PACKAGE_LIBV4L_V4L2_DBG is not set
Meu kernel do Linux 3.9.4 .config
:
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_CONTROLLER is not set
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_ADV_DEBUG is not set
CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
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 is not set
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SOC_CAMERA is not set
CONFIG_V4L_MEM2MEM_DRIVERS is not set
CONFIG_V4L_TEST_DRIVERS is not set
Alguns arquivos V4L na pasta raiz do meu quadro:
./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
O que está faltando? A câmera é detectada e acho que tenho suporte a V4L (ver 1 ou 2) instalado.