[我正在尝试使用Logitech c920网络摄像头以H.264编码(使用gstreamer)流式传输视频,我购买了这台相机,因为其他人成功使用了同一台相机来完成此操作,但我的情况是H.264是未启用。
当我发出以下命令时:
v4l2-ctl --list-devices
我得到以下内容:
HD Pro Webcam C920 (usb-0000:00:14.0-3):
/dev/video0
然后我尝试执行以下操作:
v4l2-ctl -d /dev/video0 --list-formats
我只得到这个:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : Motion-JPEG
如您所见,没有启用H.264编码,并且此相机具有此功能。
输出:
v4l2-ctl -d /dev/video0 --all
是
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : HD Pro Webcam C920
Bus info : usb-0000:00:14.0-3
Driver version: 5.0.15
Capabilities : 0x84A00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV'
Field : None
Bytes per Line : 1280
Size Image : 614400
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 640, Height 480
Default : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 640, Height 480
Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/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=0
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=2 value=2
white_balance_temperature 0x0098091a (int) : min=2000 max=6500 step=1 default=4000 value=4000 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
exposure_absolute 0x009a0902 (int) : min=3 max=2047 step=1 default=250 value=250 flags=inactive
exposure_auto_priority 0x009a0903 (bool) : default=0 value=1
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=250 step=5 default=0 value=0 flags=inactive
focus_auto 0x009a090c (bool) : default=1 value=1
zoom_absolute 0x009a090d (int) : min=100 max=500 step=1 default=100 value=100
led1_mode 0x0a046d05 (menu) : min=0 max=3 default=0 value=3
led1_frequency 0x0a046d06 (int) : min=0 max=255 step=1 default=0 value=0
是我想念的东西吗?
其他人在使用相同命令时:
v4l2-ctl -d /dev/video0 --list-formats
获取以下内容:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
Index : 1
Type : Video Capture
Pixel Format: 'H264' (compressed)
Name : H.264
Index : 2
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : Motion-JPEG
编辑:
我正在使用Ubuntu 18.04
此Logitech C920网络摄像头自2012年以来取得了非常好的成功,这要归功于它的UVC支持和H264硬件编码的数据流,这些数据流可以在Linux上轻松访问。
[2016年,C922型号提高了帧速率(60FPS @ 720p)和弱光性能,但与此同时,罗技(Logitech)停止将H264硬件编码数据直接提供给该摄像头(改为MJPEG上层,请参见此处的链接: https://raspberrypi.stackexchange.com/a/91885)。
这就是为什么我几天前更喜欢为Raspberry Pi 3B +购买C920而不是C922的原因。不幸的是,我观察到与您完全相同的行为(v4l2命令中未列出H264),并且我怀疑Logitech对C920“刷新”模型应用的策略与对C922所做的策略相同(无法再直接访问H264)。对于像Raspberry这样的最低配置,这是一个问题。
@josé,您在该主题上取得了一些进展吗?
[我们是否还有其他一些用户使用C920的最新型号也处于相同情况(仅YUYV和MJPEG索引,但没有像以前那样的H264)?
谢谢你。
关于。