2

我正在编写一个从我的网络摄像头捕获视频的 C 应用程序。我无法确定我的网络摄像头能够处理哪种像素格式。

lsusb:

总线 002 设备 003:ID 1e4e:0100 Cubeternet 网络摄像头

dmesg

[ 1064.735472] usb 2-1.4: new high speed USB device using ehci_hcd and address 4
[ 1064.837577] usb 2-1.4: New USB device found, idVendor=1e4e, idProduct=0100
[ 1064.837583] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1064.837587] usb 2-1.4: Product: USB2.0 Camera
[ 1064.837589] usb 2-1.4: Manufacturer: Etron Technologies
[ 1064.837715] usb 2-1.4: configuration #1 chosen from 1 choice
[ 1064.838484] uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)
[ 1064.843070] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[ 1064.844229] input: USB2.0 Camera as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/input/input7

我能够确定图像大小“640x480”,但不能确定像素格式:我试过了

YUV420 RGB565 RGB32

没有成功。任何帮助请。我正在使用 Debian 最新版本

4

2 回答 2

1

由于它是 UVC 视频,请在此处查找 wiki:

http://www.wikiwand.com/en/USB_video_device_class

你会看到 UVC 支持

未压缩的 YUV 格式 YUY2、NV12。

实际上,YUY2 也称为 YUYV,即 YUV 4:2:2。

您可以在此处找到到 RGB 的转换:

https://bitbucket.org/neuralassembly/simplewebcam/src/a940256eda0d/jni/ImageProc.h

于 2014-10-20T17:23:56.223 回答
1

您可以使用:

v4l2-ctl --list-formats 

那应该为您提供支持的像素格式

此外,您还可以使用:

v4l2-ctl --list-formats-ext

这应该为您提供支持的像素格式分辨率。

于 2019-11-12T13:13:59.140 回答