v4l2与编码为H.264的网络摄像头有关


1

我正在尝试使用gstreamer通过wifi将H.264网络摄像头视频输入发送到另一台计算机。我正在使用这个 教程 作为指导。我正在使用Creative Live! Cam Connect HD作为我的网络摄像头。该 网站 声称网络摄像头具有板载H.264编码器。但是当我使用v4l2-ctl时,我得到以下内容:

$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
 ...
Index       : 1
Type        : Video Capture
Pixel Format: 'MJPG' (compressed)
Name        : MJPEG

但是当我使用--all标志时,我得到一个不同的像素格式。

v4l2-ctl -d 1 --all
Driver Info (not using libv4l2):
Driver name   : uvcvideo
Card type     : Live! Cam Connect HD VF0750
Bus info      : usb-0000:00:14.0-1
Driver version: 3.5.7
Capabilities  : 0x04000001
    Video Capture
    Streaming
Format Video Capture:
Width/Height  : 640/360
Pixel Format  : 'YUYV'
Field         : None
Bytes per Line: 1280
Size Image    : 460800
Colorspace    : SRGB
 ...

我不知道为什么我会得到两种不同的像素格式(MJPG和YUYV),但我希望看到Pixel Format:'H264'(压缩),就像我链接到的教程一样。

我用内核版本3.5.0运行Ubuntu 12.1有没有人知道我的问题是什么吗?我想在MJPG上使用H.264来节省带宽。任何想法为什么它不检测H.264?谢谢。

Answers:


0

我认为问题可能是Creative Live! Connect HD cam仅支持相当过时的UVC1.1;所以也许V4l2驱动程序无法识别它。看到 维基百科的入场券 原生h.264支持的网络摄像头


我正在尝试Creative Live! Cam Connect HD和Creative Live! Cam Connect HD 1080,我看到和mashrur一样。 uvcvideo在连接时发出的消息称设备是UVC 1.0 设备(不是UVC 1.1)。这可能会造成困难;据推测,H264是在UVC 1.1中引入的。
Jeffrey Scofield

-1

两种不同的像素格式(MJPG和YUYV)表明相机可以支持这些格式。 MPEG用于编码数据包(通常用于通过网络发送到接收端)和YUYV用于RAW(未压缩)图像,通常用于本地预览。 但是,您可以在VIDIOC_S_FMT中使用H.264来获取H.264编码流。


您能否提供详细说明如何执行此操作的链接或信息?
Silver Quettier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.