Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a Creative Live Cam Connect HD (id: 041e:4093) and this webcam has an on-board H.264 encoder. Unfortunately v4l2 only inputs the feed as MJPG.

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

Basically I need to use this webcam to get a H.264 feed. Is there a different driver that I can use to use the on-board encoder instead of having to use Gstreamer to encode the feed on my machine?

Since there are no pre-built drivers to do what I want, I am trying to write my own driver. I found lots of recourses for writing linux drivers but not specifically for webcams. Can you point me to some resources or provide an outline of what I need to do? I never wrote a driver before.

share|improve this question

From: http://sourceforge.net/p/linux-uvc/mailman/linux-uvc-devel/?viewmonth=201303 (~80%)

What kernel version are you on ?

As far as I remember, since 3.2 (or was it 3.3?) the h264 support in uvc driver should be there.

If v4l2-ctl doesn't list anything other than MJPG, it's probably because the camera itself doesn't support H264 raw stream, but only supports H264 embedded in MJPG frames (which is what skype/windows uses for h264 encoding cameras).

I suggest you give it a try with the uvch64_src (see http://kakaroto.homelinux.net/2012/09/uvc-h264-encoding-cameras-support-in-gstreamer/)

If it supports h264, it should be able to work with it (I never tested that camera though).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.