Webcam devices: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Add link to Logitech QuickCam Team)
(a little bit of re-organization; minor edits)
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Webcam Devices supported by Generic Linux Drivers==
==Applications==
Many recent, as well as currently available, webcam models are supported, or likely can be supported, by one of the two generic Linux drivers:
===HOWTOS===
* [http://tldp.org/HOWTO/Webcam-HOWTO/index.html The Webcam HowTo]
* [http://tldp.org/HOWTO/Webcam-HOWTO/framegrabbers.html framegrabbing applications]
===Individual Applications===
* [http://www.mplayerhq.hu/ Mplayer] -- Can be used to view webcam video by invoking 'mplayer tv://'.
* [http://camorama.fixedgear.org/ Camorama] -- Hasn't been updated since 2007, but it works as a basic, simple webcam viewer.
* [http://linux.bytesex.org/xawtv/ Xawtv] -- A suite of video4linux related software, which can be used to view webcam video.
* [http://projects.gnome.org/cheese/ Cheese] -- "Cheese uses your webcam to take photos and videos, applies fancy special effects and lets you share the fun with others."
* [http://www.ekiga.org Ekiga] -- Ekiga is a free Voice over IP phone allowing you to do free calls over the Internet. Ekiga is the first Open Source application to support both H.323 and SIP, as well as audio and video. Ekiga was formerly known as GnomeMeeting.
* [http://www.firestorm.cx/fswebcam/ fswebcam] -- fswebcam is a neat and simple webcam app for Linux. It captures images from a V4L1/V4L2 compatible device or file, averages them to reduce noise and draws a caption using the GD Graphics Library which also handles compressing the image to PNG or JPEG. The resulting image is saved to a file or sent to stdio where it can be piped to something like ncftpput or scp.
* [http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome motion] -- motion-detection using a webcam (on [http://motion.sourceforge.net sourceforge])
* [http://www.stolk.org/sonic-snap/ sonic-snap] -- webcam application specifically suited for the Sonix sn9c10x chip
* [http://www.litech.org/spook spook] -- capture live video and audio and stream it over an IP network
* [http://julien.danjou.info/telak.html telak] -- display remote or local pictures on your desktop
* [http://vgrabbj.gecius.de/ vgrabbj] -- grabs a image from a camera and puts it in jpg/png format
* [http://www.linux-projects.org/ Videoview & Device Debugger] -- applications suited for some drivers present in the Linux kernel. Videoview supports the USB Video Class standard.
* [http://naaa.de/uvc_streamer.htm UVC-streamer] -- Grabs JPEGs from Linux-UVC compatible cameras and serves them as M-JPEG stream. It is very ressource friendly, most of the time you do not even recognize it in <tt>top</tt>. It allows to Pan/Tilt the camera, the upcoming second version (''mjpg-streamer'') will also support motion detection and plugins.
* [http://www.inference.phy.cam.ac.uk/opengazer/ Opengazer] &mdash; head tracked and gesture detection; developed with a Logitech QuickCam Pro 4000 under v41


* See [[UVC Webcam Devices]] for a list of supported devices under this class of device
==Resources==
* [http://www.exploits.org/v4l/ Video for Linux resources]
* For USB webcams, see also [http://www.qbik.ch/usb/devices/search_res.php?pattern=video&submit=Search%21 video devices] in the [http://www.qbik.ch/usb/devices/index.php USB device overview database]
* [[Development: Reverse Engineering USB Webcams|Reverse Engineering USB Webcams]]
* [http://www.quickcamteam.net/ Logitech QuickCam Team]

==UVC webcams==

USB Video Class (UVC) is a USB standard for "generic" video devices including webcams. This is actually a good thing, because in the past webcam drivers and interfaces were often proprietary (meaning that Linux drivers needed the author to sign an NDA, or to decompile or monitor/sniff USB traffic).

Do you have USB 2.0 controllers on your notebook and desktop? If so, you could benefit from higher resolutions with the Logitech Quickam for Notebooks Pro, Quickcam Fusion and Quickcam Orbit MP. All those webcams are 1.3MP devices and are supported by the [http://linux-uvc.berlios.de/ linux-uvc] driver. Note that the Quickcam for Notebooks Deluxe doesn't fall in that category; it's supported by the [[gspca]] driver.

Those 3 webcams also work in USB 1.1 mode, but are then limited to 640x480. In that case, you could go for the Quickcam Pro 5000, which is a 640x480 device supported by the linux-uvc driver.

UVC webcams are well supported, but you must be aware of a few issues.

* The linux-uvc driver is V4L2-only. This means applications which support V4L1 only will not work. V4L1 is officially deprecated, and have been removed from the kernel recently, so most drivers have or will switch to V4L2 anyway.

* The 4 webcams mentioned above compress images in MJPEG for resolutions up to 960x720. This means that applications must be able to decompress MJPEG streams to use the webcam at lower resolutions. [http://www.gnomemeeting.org/ Ekiga] and [http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome motion] support MJPEG compression. UVC webcams like the OmniVision OV2640 (built into Dell M1530 and Inspiron laptops) actually *require* MJPEG compression for high resolutions up to 1600x1200, whereas using the standard YUV encoding limits resolution to standard 640x480.

==gspca driver==

This driver is a major effort to support all sorts of webcams. It consists of a core module ([[gspca_main]]) and several sub-drivers.

Its development started with [http://mxhaard.free.fr/ spca5xx] support. The original driver used the old V4L 1 API spec. The current driver has support to V4L2 API and is integrated in Kernel.

The gspca has the following sub-drivers:

[[gspca_conex]],
[[gspca_etoms]],
[[gspca_finepix]],
[[gspca_m5602]],
[[gspca_mars]],
[[gspca_mr97310a]],
[[gspca_ov519]],
[[gspca_ov534]],
[[gspca_pac207]],
[[gspca_pac7311]],
[[gspca_sn9c20x]],
[[gspca_sonixb]],
[[gspca_sonixj]],
[[gspca_spca500]],
[[gspca_spca501]],
[[gspca_spca505]],
[[gspca_spca506]],
[[gspca_spca508]],
[[gspca_spca561]],
[[gspca_stk014]],
[[gspca_stv06xx]],
[[gspca_sunplus]],
[[gspca_t613]],
[[gspca_tv8532]],
[[gspca_vc032x]],
[[gspca_zc3xx]].


For the list of the currently supported webcams, please see [[gspca]].
* See [[gspca devices]] for a list of supported devices under this framework


==Other webcam drivers==
==Other Webcam Devices supported by Specific Drivers==
(alphabetize by driver)
(alphabetized by driver)


Many of these are out-of-tree kernel drivers.
Some of the kernel device driver modules listed below are included within the Linux kernel, but many of these are out-of-tree kernel drivers.


* [http://webcam.sourceforge.net/ cpia] -- first generation of STM's Color Processor Interface (ASIC) [[Cpia]]
* [http://webcam.sourceforge.net/ cpia] -- first generation of STM's Color Processor Interface (ASIC) [[Cpia]]
Line 88: Line 18:
**Included in mainline kernel from 2.6.18
**Included in mainline kernel from 2.6.18
**Supports the [[QX5 USB microscope]], the Swann Versacam MINI webcam, and other devices using the second generation of STM's Color Processor Interface (ASIC)
**Supports the [[QX5 USB microscope]], the Swann Versacam MINI webcam, and other devices using the second generation of STM's Color Processor Interface (ASIC)
* [[em28xx devices|em2880]]
* [[em28xx devices]]
**Supports the [http://videologyinc.com/cameras/ccd-board-camera-20K14XUSB.htm Videology 20K14XUSB webcam] and cameras using Micron mt9v011 and mt9m001 sensors.
**Supports the [http://videologyinc.com/cameras/ccd-board-camera-20K14XUSB.htm Videology 20K14XUSB webcam] and cameras using Micron mt9v011 and mt9m001 sensors.
**Included in mainline kernel from 2.6.18 (em28xx)
**Included in mainline kernel from 2.6.18 (em28xx)
Line 95: Line 25:
**Included in mainline kernel
**Included in mainline kernel
* [http://icm532.sourceforge.net/ icm532]
* [http://icm532.sourceforge.net/ icm532]
* [http://linux-uvc.berlios.de/ linux-uvc] -- the USB Video Class Linux device driver
**Not included in the kernel (as of 2.6.18), but several distros have ready packages
**Supports several USB2.0 Logitech Quickcams, such as the Orbit MP, the Pro for Notebooks, the Pro 5000, the Dell Notebook, and the Cisco VT Camera II
* [https://sourceforge.net/projects/m560x-driver/ m560x] -- ALi M560(2/3) driver with various sensors attached
* [https://sourceforge.net/projects/m560x-driver/ m560x] -- ALi M560(2/3) driver with various sensors attached
**No properly working driver yet
**No properly working driver yet
Line 106: Line 33:
* [http://nw802.sourceforge.net/ nw802]
* [http://nw802.sourceforge.net/ nw802]
* [http://alpha.dyndns.org/ov511/ ov511]
* [http://alpha.dyndns.org/ov511/ ov511]
** [http://www.vanheusden.com/setov511/ setov511] -- a configuration utility for ov511 based webcams
* [http://www.saillard.org/linux/pwc/ pwc] -- the new driver
* [http://www.saillard.org/linux/pwc/ pwc] -- the new driver
**Available in the latest kernels
**Available in the latest kernels
**Supports Philips USB webcams
**Supports Philips USB webcams
**[http://www.vanheusden.com/setpwc/ setpwc] -- a configuration utility for PWC based webcams
**[http://www.lavrsen.dk/twiki/bin/view/PWC/WebHome PWC wiki]
**[http://www.lavrsen.dk/twiki/bin/view/PWC/WebHome PWC wiki]
**[http://www.smcc.demon.nl/webcam/ Discontinued version]
**[http://www.smcc.demon.nl/webcam/ Discontinued version]
Line 119: Line 48:
* [http://r-engine.sourceforge.net/ r-engine]
* [http://r-engine.sourceforge.net/ r-engine]
**Aims to support Sony Vaio Picturebooks (model PCG-C1M* and newer, PCI vendor/device 0x10cf/0x2011)
**Aims to support Sony Vaio Picturebooks (model PCG-C1M* and newer, PCI vendor/device 0x10cf/0x2011)
* [http://www.palmix.org/r5u870-en.html r5u870]
** Supports webcams of the Ricoh family, fails to control brightness, gamma and contrast
** Maybe to be substituted by [http://bitbucket.org/ahixon/r5u87x/wiki/Home r5u87x]
* [http://members.brabant.chello.nl/%7Ej.vreeken/se401/ se401]
* [http://members.brabant.chello.nl/%7Ej.vreeken/se401/ se401]
* [http://sqcam.sourceforge.net/ sqcam]
* [http://sqcam.sourceforge.net/ sqcam]
Line 132: Line 64:
**Driver for SN9C101, SN9C102, SN9C102P, SN9C103, SN9C105, SN9C110, SN9C120, SN9C201, SN9C202
**Driver for SN9C101, SN9C102, SN9C102P, SN9C103, SN9C105, SN9C110, SN9C120, SN9C201, SN9C202
**for example 0c45:624f from Microdia
**for example 0c45:624f from Microdia
* [http://mxhaard.free.fr/ spca5xx]
**Supports webcams based on Sunplus Sonix Transvision Z-star/Vimicro Conexant Etoms chips
**Supports webcams such as Aiptek Pencam and Digital Dream l'espion
**See the long [http://mxhaard.free.fr/spca5xx.html list of devices]
* [http://syntekdriver.sourceforge.net/ stk11xx]
* [http://syntekdriver.sourceforge.net/ stk11xx]
**Aims to support Syntek DC-1125/1135 cams
**Aims to support Syntek DC-1125/1135 cams
Line 141: Line 69:
* [http://stv0680-usb.sourceforge.net/ sty0680]
* [http://stv0680-usb.sourceforge.net/ sty0680]
* [http://home.t-online.de/home/free-photons/tv8532.html tv8532]
* [http://home.t-online.de/home/free-photons/tv8532.html tv8532]
* [http://linux-uvc.berlios.de/ uvcvideo]
**USB Video Class driver
* [http://www.linux-projects.org/ w9968cf] -- included in the kernel
* [http://www.linux-projects.org/ w9968cf] -- included in the kernel
**Supports Winbond W9967CF or W9968CF-based USB cameras
**Supports Winbond W9967CF or W9968CF-based USB cameras
Line 151: Line 77:
**Supports Z-Start/Vimicro ZC0301-based USB cameras
**Supports Z-Start/Vimicro ZC0301-based USB cameras
* [http://zc0302.sourceforge.net zc0302]
* [http://zc0302.sourceforge.net zc0302]

==Also See==
* [[Webcam]]
* [[Webcam Related Software]]

==External Links==
* [http://www.exploits.org/v4l/ Video for Linux resources -- has a list of some drivers]
* For USB webcams, see also [http://www.qbik.ch/usb/devices/search_res.php?pattern=video&submit=Search%21 video devices] in the [http://www.qbik.ch/usb/devices/index.php USB device overview database]
* [http://www.quickcamteam.net/ Logitech QuickCam Team]

[[Category:Hardware]]
[[Category:Hardware]]

Revision as of 00:38, 30 January 2012

Webcam Devices supported by Generic Linux Drivers

Many recent, as well as currently available, webcam models are supported, or likely can be supported, by one of the two generic Linux drivers:

  • See gspca devices for a list of supported devices under this framework

Other Webcam Devices supported by Specific Drivers

(alphabetized by driver)

Some of the kernel device driver modules listed below are included within the Linux kernel, but many of these are out-of-tree kernel drivers.

  • cpia -- first generation of STM's Color Processor Interface (ASIC) Cpia
    • Included in mainline kernel
    • Supports a large number of USB devices by Aiptek, Creative, Digicom, Dynalink, Ezonics, Intel, Microtek, Pace, SuperCam, TCE, Terracom, Trust, Utobia, ZoomCam
    • Supports some parallel port devices by Creative, CVideo, CU-SeeMe, Digicom, and ZoomCam
  • cpia2 -- second generation of STM's Color Processor Interface (ASIC)
    • Included in mainline kernel from 2.6.18
    • Supports the QX5 USB microscope, the Swann Versacam MINI webcam, and other devices using the second generation of STM's Color Processor Interface (ASIC)
  • em28xx devices
    • Supports the Videology 20K14XUSB webcam and cameras using Micron mt9v011 and mt9m001 sensors.
    • Included in mainline kernel from 2.6.18 (em28xx)
  • et61x251
    • Supports Etoms ET61X151 or ET61X251-based USB cameras
    • Included in mainline kernel
  • icm532
  • m560x -- ALi M560(2/3) driver with various sensors attached
    • No properly working driver yet
  • meye -- the Sony Vaio PictureBook Motion Eye Camera Driver
    • Included in 2.4 and 2.6 kernels -- see documentation
    • Supports the second version of the MotionEye camera (PCI vendor/device 0x136b/0xff01)
    • A driver for the third version is being written, see r-engine below
  • nw802
  • ov511
    • setov511 -- a configuration utility for ov511 based webcams
  • pwc -- the new driver
  • qce-ga/qc-usb
    • Kernel module package available in
    • Supports Logitech Quickcam Express, LegoCam, Dexxa Webcam, Labtec Webcam (old model), Logitech QuickCam Notebook (some models)
  • quickcam
  • r-engine
    • Aims to support Sony Vaio Picturebooks (model PCG-C1M* and newer, PCI vendor/device 0x10cf/0x2011)
  • r5u870
    • Supports webcams of the Ricoh family, fails to control brightness, gamma and contrast
    • Maybe to be substituted by r5u87x
  • se401
  • sqcam
    • Supports webcams based on the sq905 chip, such as Volcano DG640E, Nexxtech Micro Digital Camera, Umax (Yamada) Astranugget; may work with Mito DG640E, Mitek CD10, Mitek 30P, GTW Electronics/ ShuoYing, Industrial(ShenZhen)Co.,Ltd SY-2102, Condord Eye-Q Easy / Eye Q Easy Too, Che-ez Snap, Hercules DualPix, Argus DC-1512, DC-1510, Gear to go, Magpix B350, Jenoptik JD 350, Concord Eye-Q Easy, PockCam
  • Sonix SN9C10x
    • Available in the latest kernels as sn9c102
    • Supports webcams based on the sn9c102 chip, such as the Genius VideoCam NB
    • Another driver was in development here sonix
    • sn9c101 -- patch for Trust Spacec@m
  • SN9C* open source Microdia drivers under development
    • Shall be equivalent to SN9CXXX below
  • SN9CXXX (non-open source)
    • Driver for SN9C101, SN9C102, SN9C102P, SN9C103, SN9C105, SN9C110, SN9C120, SN9C201, SN9C202
    • for example 0c45:624f from Microdia
  • stk11xx
    • Aims to support Syntek DC-1125/1135 cams
  • stv680 -- SANE backend
  • sty0680
  • tv8532
  • w9968cf -- included in the kernel
  • zr364xx
    • Supports the webcam mode of cameras based on the ZR364xx chips from wendors like Aiptek, Concord, Creative, Genius, Maxell, Fujifilm, Ricoh, Pentacon, Mustek, Konica, Umax etc.
  • zc0301 -- included in the kernel
    • Supports Z-Start/Vimicro ZC0301-based USB cameras
  • zc0302

Also See

External Links