Why it showed two devices under /dev for one camera

When I plug one USB camera(046d:0893 as bellow), it displays two devices(/dev/video8 and /dev/video9).But only the device /dev/video8 can be captured in OpenCV function. So how could I know which to choose to capture?

lsusb:

Bus 002 Device 003: ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd. Logitech StreamCam

Bus 002 Device 002: ID 1d5c:5001 Fresco Logic USB3.0 Hub

Bus 002 Device 006: ID 046d:0893 Logitech, Inc. Logitech StreamCam

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 002: ID 1d5c:5011 Fresco Logic USB2.0 Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

v4l2-ctl --list-devices:

NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
	/dev/media0

vi-output, twgmsl 30-0028 (platform:tegra-capture-vi:0):
	/dev/video0
	/dev/video1

vi-output, twgmsl 31-0028 (platform:tegra-capture-vi:2):
	/dev/video2
	/dev/video3

vi-output, twgmsl 32-0028 (platform:tegra-capture-vi:4):
	/dev/video4
	/dev/video5

vi-output, twgmsl 33-0028 (platform:tegra-capture-vi:5):
	/dev/video6
	/dev/video7

Logitech StreamCam (usb-3610000.xhci-1):
	/dev/video8
	/dev/video9
	/dev/media1

v4l2-ctl -d /dev/video8 --all

Driver Info:
	Driver name      : uvcvideo
	Card type        : Logitech StreamCam
	Bus info         : usb-3610000.xhci-1
	Driver version   : 5.10.104
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : Logitech StreamCam
	Serial           : 45231985
	Bus info         : usb-3610000.xhci-1
	Media version    : 5.10.104
	Hardware revision: 0x00000317 (791)
	Driver version   : 5.10.104
Interface Info:
	ID               : 0x03000002
	Type             : V4L Video
Entity Info:
	ID               : 0x00000001 (1)
	Name             : Logitech StreamCam
	Function         : V4L2 I/O
	Flags         : default
	Pad 0x01000007   : 0: Sink
	  Link 0x0200001f: from remote pad 0x100000a of entity 'Processing 3': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 1920/1080
	Pixel Format      : 'YUYV' (YUYV 4:2:2)
	Field             : None
	Bytes per Line    : 3840
	Size Image        : 4147200
	Colorspace        : sRGB
	Transfer Function : Rec. 709
	YCbCr/HSV Encoding: ITU-R 601
	Quantization      : Default (maps to Limited Range)
	Flags             : 
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 1920, Height 1080
	Default     : Left 0, Top 0, Width 1920, Height 1080
	Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags: 
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags: 
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 20.000 (20/1)
	Read buffers     : 0
                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=255
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2
				0: Disabled
				1: 50 Hz
				2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=2000 max=7500 step=1 default=4000 value=6500 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
				1: Manual Mode
				3: Aperture Priority Mode
              exposure_absolute 0x009a0902 (int)    : min=3 max=2047 step=1 default=250 value=333 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=0
                   pan_absolute 0x009a0908 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                  tilt_absolute 0x009a0909 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                 focus_absolute 0x009a090a (int)    : min=0 max=255 step=1 default=0 value=0
                     focus_auto 0x009a090c (bool)   : default=1 value=0
                  zoom_absolute 0x009a090d (int)    : min=100 max=400 step=1 default=100 value=100

v4l2-ctl -d /dev/video9 --all

Driver Info:
	Driver name      : uvcvideo
	Card type        : Logitech StreamCam
	Bus info         : usb-3610000.xhci-1
	Driver version   : 5.10.104
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04a00000
		Metadata Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : Logitech StreamCam
	Serial           : 45231985
	Bus info         : usb-3610000.xhci-1
	Media version    : 5.10.104
	Hardware revision: 0x00000317 (791)
	Driver version   : 5.10.104
Interface Info:
	ID               : 0x03000005
	Type             : V4L Video
Entity Info:
	ID               : 0x00000004 (4)
	Name             : Logitech StreamCam
	Function         : V4L2 I/O
Priority: 2
Format Metadata Capture:
	Sample Format   : 'UVCH' (UVC Payload Header Metadata)
	Buffer Size     : 1024

So how could I choose which to capture from video8 and video9 ?

The problem is same with the post which has not been solved.

Why it showed two devices under /dev for one camera

Probably you would want the Video Capture device

1 Like

Great ! Your answer always works! Thank you very much.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.