v4l2 issues with webcam encoded to H.264

1

I am trying to send a H.264 webcam video feed over wifi to another computer using gstreamer. I am using this tutorial as a guide. I am using a Creative Live! Cam Connect HD as my webcam. The website claims that the webcam has on-board H.264 encoder. But when I used v4l2-ctl I get the following:

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

But when I use the --all flag I get a different pixel format.

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
 ...

I am not sure why I am getting two different pixel formats (MJPG and YUYV) but I was expecting to see Pixel Format: 'H264' (compressed) like in the tutorial I linked to.

I am running Ubuntu 12.1 with kernel version 3.5.0 Does anyone have any idea what my problems it? I would like to use H.264 instead on MJPG to save on bandwidth. Any ideas why it does not detect H.264? Thanks.

mashrur

Posted 2013-02-11T00:37:28.723

Reputation: 11

Answers

0

I think the issue may be that Creative Live! Connect HD cam only supports UVC1.1 which is quite dated; so perhaps the V4l2 driver doesn't recognize it. See Wikipedia's entry for Native h.264 Supported Webcams

ShakMan

Posted 2013-02-11T00:37:28.723

Reputation: 1

I'm trying both the Creative Live! Cam Connect HD and the Creative Live! Cam Connect HD 1080, and I see the same as mashrur. The message from uvcvideo at connect time says the device is a UVC 1.0 device (not UVC 1.1). This could be causing the difficulty; supposedly H264 was introduced in UVC 1.1. – Jeffrey Scofield – 2014-07-02T21:17:35.107

-1

Two different pixel formats (MJPG and YUYV) show that the camera can support these formats. MPEG for encoded packets(usually used to send across network to receiver end) and YUYV for RAW (uncompressed) image which is usually used for Local Preview. Howver, your can use H.264 in VIDIOC_S_FMT to get H.264 encoded stream.

genuine sudo

Posted 2013-02-11T00:37:28.723

Reputation: 1

Could you provide a link or info detailing how to do this? – Silver Quettier – 2013-02-26T09:30:44.873