Features/BetterWebcamSupport

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Better Webcam Support)
Line 20: Line 20:
  
 
The second push for better webcam contains of 3 pieces:
 
The second push for better webcam contains of 3 pieces:
# Lots of testing and bugfixing / improving of existing in kernel drivers. I need access to cams for this! As you can see in the
+
# Lots of testing and bugfixing / improving of existing in kernel drivers. I need access to cams for this! As you can see in the matrix below I already have quite a few of them, most of which were bought from my own money especially for this. If you have old cams to donate please contact me!
matrix below I already have quite a few of them, most of which were bought from my own money especially for this. If you have old cams to donate please contact me!
+
 
# Add video processing to libv4l for better video quality for cams which lack any of the following in hardware:
 
# Add video processing to libv4l for better video quality for cams which lack any of the following in hardware:
 
## White Balancing
 
## White Balancing
Line 49: Line 48:
 
! Webcam !! USB ID || Bridge !! Sensor !! Status
 
! Webcam !! USB ID || Bridge !! Sensor !! Status
 
|-
 
|-
| Sweex WC001 || 0c45:6005 || sn9c101 || tas5110 || works
+
| Sweex WC001 || 0c45:6005 || sn9c101 || tas5110 || ok
 
|-
 
|-
| Sweex WC004 || 0c45:6011 || sn9c101 || ov6650 || works
+
| Trust spacecam 120 || 0c45:600d || sn9c101 || pas106 || needs work
 
|-
 
|-
| Qware EasyCam WB-001 || 0c45:6028 || sn9c102 || pas202 || works *
+
| Sweex WC004 || 0c45:6011 || sn9c101 || ov6650 || ok
 
|-
 
|-
| Intel Create and Share || 0733:0401 || spca501 || integrated || works
+
| Qware EasyCam WB-001 || 0c45:6028 || sn9c102 || pas202 || needs work
 
|-
 
|-
| Creative Live! VISTA VF0420 || 041e:4064 || ov519 || OV7670 || works
+
| Premier Chatpack cam || 0c45:613e || sn9c120 || ov7630 || ok
 
|-
 
|-
| Trust WB-1400T || 093a:2468 || pac207 || integrated || works
+
 
 +
| Trust WB-1400T || 093a:2468 || pac207 || integrated || ok
 
|-
 
|-
| I.T. Works PCW 03 || 093a:2460 || pac207 || integrated || works
+
| I.T. Works PCW 03 || 093a:2460 || pac207 || integrated || ok
 
|-
 
|-
| Logitech QuickCam IM/Connect || 046d:08d9 || zc3xx || HV7131R || works
+
 
 +
| Pleomax / Typhoon Easycam 330K || 093a:2600 || pac7311 || integrated || ok
 
|-
 
|-
| Labtec notebook cam || 046d:08aa || zc3xx || HDCS2020 || works
+
| Trust WB-3400T || 093a:260e || pac7311 || integrated || ok
 
|-
 
|-
| Creative WebCam Vista || 041e:403b || spca561 || integrated || works
+
| Nobrand cam || 093a:2620 || pac7302 || integrated || ok
 
|-
 
|-
| Logitech QuickCam Express Plus || 046d:092f || spca561 || integrated || works
+
| I.T. Works notebook cam || 093a:2621 || pac7302 || integrated || ok
 
|-
 
|-
| Philips PCVC820K/00 || 05a9:0518 || ov518 || ? || Does not work [http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page out of tree driver]
+
 
 +
| Philips SPC 200NC || 0471:0325 || zc3xx || PAS106 || needs work
 
|-
 
|-
| Philips SPC 200NC || 0471:0325 || zc3xx || PAS106 || works
+
| Logitech QuickCam IM/Connect || 046d:08d9 || zc3xx || HV7131R || good
 
|-
 
|-
| Creative Webcam Pro || 05a9:a511 || ov511 || ? || Does not work [http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page out of tree driver]
+
| Labtec notebook cam || 046d:08aa || zc3xx || HDCS2020 || needs work
 
|-
 
|-
| I.T. Works notebook cam || 093a:2621 || pac7302 || integrated || works **
+
| Creative WebCam NX Pro || 041e:401e || zc3xx || HV7131B || good
 
|-
 
|-
| Trust WB-3400T || 093a:260e || pac7311 || integrated || works ***
+
| Creative WebCam Notebook || 041e:401f || zc3xx || TAS5130 || good
 
|-
 
|-
| Dynalink ??? || 06be:d001 || NW802 || integrated || Does not work [http://nw802.sourceforge.net/ out of tree driver]
+
| Creative Live! Cam Video IM || 041e:4053 || zc3xx || TAS5130 || good
 
|-
 
|-
| Sitecom Voicecam || 0c45:62bb || sn0c202 || ov7660 || Does not work [http://groups.google.com/group/microdia out of tree driver]
+
 
 +
| Intel Create and Share || 0733:0401 || spca501 || integrated || ok
 
|-
 
|-
| Silvercrest Webcam 1.3mpix || eb1a:2820 || eMPIA em28xx || ? || Does not work
+
| Creative WebCam Vista || 041e:403b || spca561 || integrated || good
 
|-
 
|-
| Logitech Sphere MP || 046d:08cc || uvcvideo || NA || works
+
| Logitech QuickCam Chat || 046d:092e || spca561 || integrated || good
 
|-
 
|-
| Logitech QuickCam Express || 046d:0840 || STV0600 || PB100 || Does not work [http://qce-ga.sourceforge.net/ out of tree driver]
+
| Logitech QuickCam Express Plus || 046d:092f || spca561 || integrated || good
 
|-
 
|-
| Pleomax / Typhoon Easycam 330K || 093a:2600 || pac7311 || integrated || works ***
+
 
 +
| Creative Webcam Pro || 05a9:a511 || ov511+ || OV7620 || good
 
|-
 
|-
| Creative Live! Cam Video IM || 041e:4053 || zc3xx || TAS5130 || works
+
| Philips PCVC720K/00 || 05a9:0518 || ov518 || OV66308AE || ok
 +
|-
 +
| Philips PCVC820K/00 || 05a9:0518 || ov518 || OV66308AF || ok
 +
|-
 +
| Trust spacecam 320 || 05a9:a518 || ov518+ || OV7620AE || ok
 +
|-
 +
| Creative Live! VISTA VF0420 || 041e:4064 || ov519 || OV7670 || good
 +
|-
 +
 
 +
| Logitech QuickCam Express || 046d:0840 || STV0600 || PB100 || ok
 +
|-
 +
| Logitech QuickCam Messenger || 046d:08f0 || ST6422 || integrated || WIP
 +
|-
 +
| Logitech QuickCam Mess. Plus || 046d:08f6 || ST6422 || integrated || WIP
 +
|-
 +
| Oregon scientific photo camera || 0553:0202 || STV0680 || ? || ? 
 +
|-
 +
 
 +
| Logitech QuickCam 4000 Pro || 046d:08b2 || PWC || ? || good
 +
|-
 +
| Vivitar mini photo camera || 093a:010e || mr97310a || ? || WIP
 +
|-
 +
| Creative ? || 0553:0002 || CPIA1 || ? || ok (v4l1)
 +
|-
 +
 
 +
| Microsoft notebook cam || 045e:074a || uvcvideo || NA || good
 +
|-
 +
| Logitech Sphere MP || 046d:08cc || uvcvideo || NA || good
 +
|-
 +
 
 +
| Dynalink ??? || 06be:d001 || NW802 || integrated || Does not work [http://nw802.sourceforge.net/ out of tree driver]
 +
|-
 +
| Sitecom Voicecam || 0c45:62bb || sn0c202 || ov7660 || Does not work [http://groups.google.com/group/microdia out of tree driver]
 
|}
 
|}
  
(*) works, but does not work well in low light conditions
+
Legenda:
(**) works, but has jpeg compression artifacts when used in bright daylight
+
* good, works well
(***) sortof works, really bad cams, do not buy!
+
* ok, works but not the best cam ever (with the Linux drivers)
 +
* needs work, works ok in (not too bright) daylight, but needs more work to work better in other lighting conditions.
 +
* WIP, the driver for this is currently being written / cleaned up for mainline merger
 +
Note that the status column refers to the status with the latest v4l-dvb mercurial tree¸ which Fedora is tracking pretty closely,
 +
but Fedora can lag a little.
  
 
Also see [http://moinejf.free.fr/webcam.html here] for cams which are supported by gspca and their testing status with the new cleaned up gspcav2.
 
Also see [http://moinejf.free.fr/webcam.html here] for cams which are supported by gspca and their testing status with the new cleaned up gspcav2.
Line 124: Line 164:
 
== Contingency Plan ==
 
== Contingency Plan ==
  
Don't ship the drivers / wrapper if they aren't ready.
+
Don't ship the new drivers / updated libv4l if they aren't ready.
  
 
== Documentation ==
 
== Documentation ==
  
Fedora 10 comes with a much cleaned up and ported to v4l2 version of the [http://mxhaard.free.fr/spca5xx.html gspca webcam driver]. Many of the supported webcams produce video data in a manufacturer specific video format, Fedora 10 comes with libv4l which handles conversion of these custom formats to the standard video formats that most applications need. The most popular v4l applications in Fedora have all been modified to use libv4l directly: amsn, camE, camstream, cheese (gstreamer), ekiga (ptlib), gyachi, xawtv and ucview (unicap). If you encounter a Fedora application which has not been patched yet, you can use the method described for 3th party applications below. Please also file a bug and put Hans de Goede <hdegoede@redhat.com> in the CC of that bug.
+
Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.
 
+
For 3th party applications such as for example skype a compatibility library wrapper has been made available. You can make 32 bits applications use this wrapper by typing the following command in a terminal before starting the application from that same terminal:
+
<code> export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so </code>
+
 
+
And then start the application from that same terminal!
+
 
+
For 64 bit applications the command is:
+
 
+
<code> export LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so </code>
+
 
+
Note that for example skype is a 32 bit applications, so even when running a 64 bit version of Fedora you should use the 32 bit command!
+
 
+
Don't get fooled by the v4l1compat.so name, this library wrapper does not only add v4l1 applicatiom compatibility to v4l2 drivers (such as the new gspca and the uvc driver) but it also handles conversion from cam specific formats to generic video formats for v4l2 applications. If you only want the conversion, without the v4l1 compatibility you can use "v4l2convert.so" instead of v4l1compat.so .
+
  
 
== Release Notes ==
 
== Release Notes ==
  
Fedora 10 comes with much improved support for webcams.
+
Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.
 
+
Next to improvements to the UVC driver which was first introduced in Fedora 9 and supports any webcam with a vista compliant logo, Fedora 10 also features a brand new v4l2 version of gspca, an usb webcam driver framework with support for many different usb webcam bridges and sensors.
+
 
+
Userspace support for webcams has also been improved by adding libv4l and updating all webcam using applications to use libv4l, this makes these applications understand the often manufacturer specific and custom video formats emitted by many webcams, esp. by many of the webcams supported by gspca.
+
  
For a list of all webcams and applications with which Fedora-10's new webcam support has been tested see
+
For a list of all webcams and applications with which Fedora-12's improved webcam support has been tested see
the [https://fedoraproject.org/wiki/Features/BetterWebcamSupport BetterWebcamSupport feature page], for a list of all cams supported by the original version of gspca see the [http://mxhaard.free.fr/spca5xx.html original gspca website]. The v4l2 version of gspca in Fedora-10 supports all these webcams and more!
+
the [https://fedoraproject.org/wiki/Features/BetterWebcamSupport BetterWebcamSupport feature page].
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==

Revision as of 20:35, 15 June 2009

Contents

Even Better Webcam Support

Summary

The Better Webcam support feature for F-10 has added support for many webcams, but there still are many models which are unsupported the goal of this feature is to get a whole lot more webcams supported out of the box.

Owner

  • Name: Hans de Goede

Current status

  • Targeted release: Fedora 12
  • Last updated: (Jun 15 2009)
  • Percentage of completion: 30%

Detailed Description

The Better Webcam support feature for F-10 has done much of the groundwork needed for properly supporting webcams in Linux. We now have a library (libv4l) for decompressing various proprietary video formats in userspace, and almost all webcam using applications have been patched to use this library.

The second push for better webcam contains of 3 pieces:

  1. Lots of testing and bugfixing / improving of existing in kernel drivers. I need access to cams for this! As you can see in the matrix below I already have quite a few of them, most of which were bought from my own money especially for this. If you have old cams to donate please contact me!
  2. Add video processing to libv4l for better video quality for cams which lack any of the following in hardware:
    1. White Balancing
    2. Gamma Correction
    3. Automatic adjustment of Exposure / Gain
  3. Clean up existing out of tree drivers, moving the decompression to libv4l were needed and merge them into the mainline, specifically the following ones:
    1. qc-usb: stv0600 (and alike) based cams mainly logitech quickcam express (done as of kernel 2.6.29)
    2. ov51x-jpeg: ov511(+) and ov518(+) driver
    3. qc-usb-messenger: st6422 based cams mainly logitech quickcam messenger models
    4. sn9c20x: sn9c20x based cams, many newer cheap cams

Benefit to Fedora

Out of the box working hardware makes for happy end users and good reviews.

Scope

This may require temporarily carrying kernel patches if drivers are clearly moving upstream, but not there yet in time for release.

This requires updating libv4l to a version which contains the new video processing code and can decompress any formats produced by new drivers.

Test Plan

I currently test with the following webcams:

Webcam USB ID Bridge Sensor Status
Sweex WC001 0c45:6005 sn9c101 tas5110 ok
Trust spacecam 120 0c45:600d sn9c101 pas106 needs work
Sweex WC004 0c45:6011 sn9c101 ov6650 ok
Qware EasyCam WB-001 0c45:6028 sn9c102 pas202 needs work
Premier Chatpack cam 0c45:613e sn9c120 ov7630 ok
Trust WB-1400T 093a:2468 pac207 integrated ok
I.T. Works PCW 03 093a:2460 pac207 integrated ok
Pleomax / Typhoon Easycam 330K 093a:2600 pac7311 integrated ok
Trust WB-3400T 093a:260e pac7311 integrated ok
Nobrand cam 093a:2620 pac7302 integrated ok
I.T. Works notebook cam 093a:2621 pac7302 integrated ok
Philips SPC 200NC 0471:0325 zc3xx PAS106 needs work
Logitech QuickCam IM/Connect 046d:08d9 zc3xx HV7131R good
Labtec notebook cam 046d:08aa zc3xx HDCS2020 needs work
Creative WebCam NX Pro 041e:401e zc3xx HV7131B good
Creative WebCam Notebook 041e:401f zc3xx TAS5130 good
Creative Live! Cam Video IM 041e:4053 zc3xx TAS5130 good
Intel Create and Share 0733:0401 spca501 integrated ok
Creative WebCam Vista 041e:403b spca561 integrated good
Logitech QuickCam Chat 046d:092e spca561 integrated good
Logitech QuickCam Express Plus 046d:092f spca561 integrated good
Creative Webcam Pro 05a9:a511 ov511+ OV7620 good
Philips PCVC720K/00 05a9:0518 ov518 OV66308AE ok
Philips PCVC820K/00 05a9:0518 ov518 OV66308AF ok
Trust spacecam 320 05a9:a518 ov518+ OV7620AE ok
Creative Live! VISTA VF0420 041e:4064 ov519 OV7670 good
Logitech QuickCam Express 046d:0840 STV0600 PB100 ok
Logitech QuickCam Messenger 046d:08f0 ST6422 integrated WIP
Logitech QuickCam Mess. Plus 046d:08f6 ST6422 integrated WIP
Oregon scientific photo camera 0553:0202 STV0680  ?  ?
Logitech QuickCam 4000 Pro 046d:08b2 PWC  ? good
Vivitar mini photo camera 093a:010e mr97310a  ? WIP
Creative ? 0553:0002 CPIA1  ? ok (v4l1)
Microsoft notebook cam 045e:074a uvcvideo NA good
Logitech Sphere MP 046d:08cc uvcvideo NA good
Dynalink ??? 06be:d001 NW802 integrated Does not work out of tree driver
Sitecom Voicecam 0c45:62bb sn0c202 ov7660 Does not work out of tree driver

Legenda:

  • good, works well
  • ok, works but not the best cam ever (with the Linux drivers)
  • needs work, works ok in (not too bright) daylight, but needs more work to work better in other lighting conditions.
  • WIP, the driver for this is currently being written / cleaned up for mainline merger

Note that the status column refers to the status with the latest v4l-dvb mercurial tree¸ which Fedora is tracking pretty closely, but Fedora can lag a little.

Also see here for cams which are supported by gspca and their testing status with the new cleaned up gspcav2.

Tests are done with the following applications:

  • xawtv
  • cheese
  • ekiga
  • camorama *
  • vlc *
  • mplayer *
  • skype *

(*) Not in Fedora

User Experience

Out of the box working hardware.

Dependencies

None.

Contingency Plan

Don't ship the new drivers / updated libv4l if they aren't ready.

Documentation

Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

Release Notes

Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

For a list of all webcams and applications with which Fedora-12's improved webcam support has been tested see the BetterWebcamSupport feature page.

Comments and Discussion

See Talk:Features/BetterWebcamSupport