State of Linux webcam support
Luca Risolia
luca.risolia at studio.unibo.it
Fri Sep 28 12:58:35 UTC 2007
On Friday 28 September 2007 14:13:37 Bertrik Sikken wrote:
> Hi all,
>
> A couple of years ago I worked on getting some webcams working
> with Linux. To be honest, I was unpleasantly surprised.
> There seems to be a lack of direction on how webcams
> are even supposed to be supported.
>
> The problem is that many USB webcams send raw 'bayer' sensor
> data in a compressed form to the PC in order to get reasonable
> frames-per-second over a full-speed (12 Mb/s) USB connection
> AFAIK, the linux kernel developers decided that is was no longer
> allowed to do decompression and bayer format conversion in the kernel.
>
> This leaves a huge gap between kernel drivers that simply
> stream raw or compressed bayer data (or other proprietary
> format) and applications that expect to received simple
> RGB frames from the v4l(2) device file.
>
> Many webcam drivers are consequently maintained out of the
> official kernel and *DO* include decompression and bayer
> conversion to at least get webcams into a workable state.
> (Examples, there are many more:
> * Philips PWC driver: http://www.saillard.org/linux/pwc/
> * Various other drivers: http://www.linux-projects.org
> * Spca driver: http://mxhaard.free.fr/spca5xx.html )
>
> Some ideas:
> * create a user-space library for webcams that reads the compressed
> data from a v4l(2) device file, decompresses and unbayers it,
> then exposes it through a standard API to applications.
> * as above, instead of library, use gstreamer plug-ins (each compressed
> webcam format would have its own plugin, with perhaps a single plugin
> for unbayering).
> * bypass the kernel drivers entirely and use libusb to talk to the
> webcams. A problem is that (AFAIK) libusb does not support isochronous
> USB transfers and many cameras use this transfer mode.
>
> Any thoughts on how to improve Linux webcam support?
Hello Bertrik,
you may want to have a look at the V4L extension project:
http://thierry.merle.free.fr/v4l2_extension/general.html
There's also a mailing list.
BR
Luca
More information about the devel
mailing list