The GTK+ UVC Viewer<ref name="guvcview">http://guvcview.berlios.de/</ref> (guvcview) a simple GTK interface for capturing and viewing video from devices supported by the linux UVC driver. It works great with the Logitech QuickCam Pro 9000 and seems to support all features of the camera.

+

+

When the camera is used for the first time after boot, one has to execute

+

+

$> sudo guvcview -a

+

+

to detect and add all the supported controls. Note: this may not be necessary if libwebcam is installed (TBC).

* Additional controls &ndash; including focus &ndash; are enabled after running guvcview -a as root once

+

* Can be run in control mode only so that the video is captured by another application by guvcview is used to adjust settings

+

+

=== Gstreamer ===

+

+

The camera works with Gstreamer<ref>http://gstreamer.freedesktop.org/</ref>. More details and examples on [[Gstreamer Cheatsheet]].

=== Windows ===

=== Windows ===

−

After installation, the software that comes with the camera works well and can capture HD-like video very well. However, when using a third party capture application, size seems to be stuck at 320x240 pixels. Holy crap!

+

After installation, the software that comes with the camera works well and can capture HD-like video very well. However, when using a third party capture application, size seems to be stuck at 320x240 pixels.

−

=== Linux ===

+

=== Mac ===

−

* Camera detected and mounted as /dev/video0

+

Camera seems to work but stuck on 320x240 and no way to control settings. I couldn't find any useful app for Mac.

−

* Most apps are completely dysfunctional and useless (as usual)

+

−

* uvccapture works fine

+

−

** width and height: OK

+

−

** Brightness: TBD

+

−

** Contrast: TBD

+

−

** Saturation: TBD

+

−

** Gain: TBD

+

−

** Supported image sizes: TBD

+

−

* guvcview works! and has many interesting controls

+

−

** Can capture video

+

−

** Can capture audio

+

−

** No focus control

+

−

Try the others from http://www.quickcamteam.net/software/linux/v4l2-software/

+

=== Other Apps ===

−

* http://www.unicap-imaging.org/

+

−

Programming: http://www.quickcamteam.net/software/libwebcam

+

Other apps are listed on the QuickCam Teams website<ref>http://www.quickcamteam.net/software/linux/v4l2-software/</ref> and Unicap<ref>http://www.unicap-imaging.org/</ref>.

+

+

For programming Libwebcam</ref>http://www.quickcamteam.net/software/libwebcam</ref> can be used.

== Features ==

== Features ==

+

+

=== Pixel formats ===

+

+

When starting guvcview<ref name="guvcview"/> it dumps the supported pixel formats together with the resolutions and frame rates that can be used for each format (see also [[Pixel formats]]):

+

+

'''{ pixelformat = 'MJPG', description = 'MJPEG' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/15, 1/10, 1/5,

+

'''{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/10, 1/5,

+

{ discrete: width = 1600, height = 1200 }

+

Time interval between frame: 1/5,

+

'''{ pixelformat = 'RGB3', description = 'RGB3' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/15, 1/10, 1/5,

+

{ discrete: width = 1600, height = 1200 }

+

Time interval between frame: 1/5,

+

'''{ pixelformat = 'BGR3', description = 'BGR3' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/15, 1/10, 1/5,

+

{ discrete: width = 1600, height = 1200 }

+

Time interval between frame: 1/5,

+

'''{ pixelformat = 'YU12', description = 'YU12' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/15, 1/10, 1/5,

+

{ discrete: width = 1600, height = 1200 }

+

Time interval between frame: 1/5,

+

'''{ pixelformat = 'YV12', description = 'YV12' }'''

+

{ discrete: width = 160, height = 120 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 176, height = 144 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 320, height = 240 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 352, height = 288 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 640, height = 480 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 800, height = 600 }

+

Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,

+

{ discrete: width = 960, height = 720 }

+

Time interval between frame: 1/15, 1/10, 1/5,

+

{ discrete: width = 1600, height = 1200 }

+

Time interval between frame: 1/5,

+

+

I'm not quite sure about all these pixel formats and how they map to fourcc names.

A: There is some info about this on quickcamteam.net related to libwebcam

+

A: Yes, guvcview can control focus and also has autofocus functionality

+

+

=== Lens ===

+

+

According to the specs the camera has a Zeiss lens<ref>[http://www.logitech.com/da-dk/webcam_communications/webcams/devices/5867 Logitech Specs]</ref>. Although it is quite all right compared to other webcams, the image lacks sharpness around the edges and this is very visible and annoying on outdoor pictures.

+

+

<span style="color:red">'''Update:''' I have reason to believe that the lack of sharpness was cause by the camera being behind a window - TBC.</span>

+

+

[[Image:QCP9kSampleImage.png|600px]]

+

+

The above image was taken on Linux using Guvcview; however, the problem also exists when using the windows software that came with the camera:

+

+

[[Image:QCP9kSampleImageWin.jpg|600px]]

+

+

My [[Logitech QuickCam Vision Pro 9000]] appears to have a better sharpness at the edges.

Contents

Drivers and Applications

GTK+ UVC Viewer

The GTK+ UVC Viewer[1] (guvcview) a simple GTK interface for capturing and viewing video from devices supported by the linux UVC driver. It works great with the Logitech QuickCam Pro 9000 and seems to support all features of the camera.

When the camera is used for the first time after boot, one has to execute

$> sudo guvcview -a

to detect and add all the supported controls. Note: this may not be necessary if libwebcam is installed (TBC).

Gstreamer

Windows

After installation, the software that comes with the camera works well and can capture HD-like video very well. However, when using a third party capture application, size seems to be stuck at 320x240 pixels.

Mac

Camera seems to work but stuck on 320x240 and no way to control settings. I couldn't find any useful app for Mac.

Autofocus

Autofocus is built into the wintendo drives, thus does not work in Linux.

Q: How can we manually control focus in Linux?
A: Yes, guvcview can control focus and also has autofocus functionality

Lens

According to the specs the camera has a Zeiss lens[6]. Although it is quite all right compared to other webcams, the image lacks sharpness around the edges and this is very visible and annoying on outdoor pictures.

Update: I have reason to believe that the lack of sharpness was cause by the camera being behind a window - TBC.

The above image was taken on Linux using Guvcview; however, the problem also exists when using the windows software that came with the camera: