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.


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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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