Dual USB Cameras


#1

Hi guys,
I have been playing around with the board for a couple days, but I seem to be having some trouble and unable to find a solution to my problem. I am intending to run a pair of USB cameras on the board, but I can only seem to get one to connect at a time. I remember somebody a while back having a similar issue and was wondering if there was anything I was missing in order to run both cameras properly.

Edit: I am running this on the Debian image. Not the Android image


#2

It seems to work for me. I plugged 2 USB camera, here is the kernel output:

Nov 10 16:56:42 linaro-alip kernel: usb 1-1.2.1: New USB device found, idVendor=041e, idProduct=4095
Nov 10 16:56:42 linaro-alip kernel: usb 1-1.2.1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Nov 10 16:56:42 linaro-alip kernel: usb 1-1.2.1: Product: Live! Cam Sync HD VF0770
Nov 10 16:56:42 linaro-alip kernel: usb 1-1.2.1: Manufacturer: Creative Technology Ltd.
Nov 10 16:56:42 linaro-alip kernel: usb 1-1.2.1: SerialNumber: 2015030235938
Nov 10 16:56:42 linaro-alip kernel: uvcvideo: Found UVC 1.00 device Live! Cam Sync HD VF0770 (041e:4095)
Nov 10 16:56:42 linaro-alip kernel: input: Live! Cam Sync HD VF0770 as /devices/platform/soc/78d9000.ehci/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/input/input6
Nov 10 16:57:02 linaro-alip kernel: usb 1-1.2.1: USB disconnect, device number 7
Nov 10 16:57:23 linaro-alip kernel: usb 1-1.2.1: new full-speed USB device number 8 using msm_hsusb_host
Nov 10 16:57:23 linaro-alip kernel: usb 1-1.2.1: New USB device found, idVendor=046d, idProduct=08da
Nov 10 16:57:23 linaro-alip kernel: usb 1-1.2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Nov 10 16:57:23 linaro-alip kernel: gspca_main: v2.14.0 registered
Nov 10 16:57:23 linaro-alip kernel: gspca_main: gspca_zc3xx-2.14.0 probing 046d:08da
Nov 10 16:57:24 linaro-alip kernel: input: gspca_zc3xx as /devices/platform/soc/78d9000.ehci/usb1/1-1/1-1.2/1-1.2.1/input/input7

Nov 10 16:57:24 linaro-alip kernel: usbcore: registered new interface driver gspca_zc3xx
Nov 10 16:58:05 linaro-alip kernel: usb 1-1.2.3: new high-speed USB device number 9 using msm_hsusb_host
Nov 10 16:58:06 linaro-alip kernel: usb 1-1.2.3: New USB device found, idVendor=041e, idProduct=4095
Nov 10 16:58:06 linaro-alip kernel: usb 1-1.2.3: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Nov 10 16:58:06 linaro-alip kernel: usb 1-1.2.3: Product: Live! Cam Sync HD VF0770
Nov 10 16:58:06 linaro-alip kernel: usb 1-1.2.3: Manufacturer: Creative Technology Ltd.
Nov 10 16:58:06 linaro-alip kernel: usb 1-1.2.3: SerialNumber: 2015030235938
Nov 10 16:58:06 linaro-alip kernel: uvcvideo: Found UVC 1.00 device Live! Cam Sync HD VF0770 (041e:4095)
Nov 10 16:58:06 linaro-alip kernel: input: Live! Cam Sync HD VF0770 as /devices/platform/soc/78d9000.ehci/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3:1.0/input/input8

ANd then I could run these 2 commands at the same time.

gst-launch-1.0 v4l2src device=/dev/video1 ! glimagesink
gst-launch-1.0 v4l2src device=/dev/video0 ! glimagesink

What errors do you have?


#3

I have also run two cameras on a dragonboard.

I found that guvcview program tended to mix up the devices sometimes. Didn’t impact me as I use the ffmpeg to process the video streams…


#4

Apologies for the delayed response. I was away from my computer. I was able to play around a bit and I think I have more information. My device recognizes my camera properly, thank you @ndec for the debugging info, but now I am having a different problem. I am using python opencv to merge the two streams together. I have two webcams that are only capable of outputting YUYA format video. Both cameras are recognized by the device, but I am continuously getting the error:

lubv4l2: error turning on stream: No space left on device

After looking into it I saw that it may be due to usb bandwidth, so I plugged one webcam into one of the usb ports on the device and the other into a usb hub connected to the other port, but I am still getting the same error. Is there possibly something else I am missing here


#5

It could be that trying to run both cameras at high resolution is a problem.

Maybe check the setting of the each camera using v4l-ctl and try turning the resolution (and/or frame rate) down

v4l2-ctl -d /dev/video0 --list-formats

(I have run two usb cameras on a Dragonboard and merged streams using ffmpeg - for a stereo vision project)


#6

Alright, this is what I have. I ran: v4l2-ctl -d /dev/video1 --list-formats-ext

ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUYV 4:2:2
		Size: Discrete 640x480
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 352x288
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 320x240
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 176x144
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
		Size: Discrete 160x120
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)

#7

Hi,

I would like to know if accessing of both camera streams parallel if possible even on Android?
I hope it should be possible since Its working in Linux.