个人工具

UbuntuHelp:UVC

来自Ubuntu中文

Wikibot讨论 | 贡献2009年5月12日 (二) 19:26的版本

跳转至: 导航, 搜索

<<Include(Tag/NeedsExpansion)>> UVC Stands for 'USB Video Class'. It defines video streaming functionality on the Universal Serial Bus. UVC compliant peripherals only need a generic driver; much like mass storage devices (USB flash disks, External disc enclosures, etc.) can be managed by a single driver because they conform to the USB Mass Storage specification.

UVC Linux Driver

The GNU/Linux UVC Driver page is at http://linux-uvc.berlios.de/ and includes a list of supported devices

UVC support in Ubuntu

9.04

In 9.04 the UVC module has been included which means that some webcams 'just work' but it is recommended you still download the source code [url http://linuxtv.org/hg/~pinchartl/uvcvideo/summary here]. Then just build the UVC module as shown here:

Build for 9.04

Make sure you have kernel header files. In Ubuntu 9.04 the header files package should be at least 2.6.28-11 or later. You can find out which version of Linux kernel you have by issuing the command:

uname -r

Then ensure you have the header files for building the UVC module with:

sudo apt-get install linux-headers-`uname -r`

Install for 9.04

Navigate to the 'uvcvideo-1b4c7a6b9d26' directory (or some similar name) containing the source and run:

make

then run

sudo make install

followed by

sudo depmod -a

After that you should not even need to plug your webcam in, although ensure you can see it by running:

lsusb

If it is there, then run:

sudo modprobe uvcvideo

And you should now be done! See below for other versions.

7.10 to 8.x

From 7.10 the UVC module has been included which means that some webcams 'just work' however UVC is still at an early stage and device support and bugfixes are being added all the time. It may well be necessary to update to the latest version to get your hardware to work, in particular Skype will only work properly if you have uvc version 166 or above, earlier driver versions freeze up after a minute or so with some cameras.

7.04 and earlier

UVC support is not included and you'll have to install it yourself.

Installing UVC

UVC has not released any 'snapshots' yet and has not been packaged and included in the Ubuntu repositories. There is a debian package located [url http://packages.debian.org/unstable/graphics/linux-uvc-source here] but the best way at the moment is to grab the latest build from the Subversion repository and compile it yourself.

Checkout from SVN

If you do not already have subversion installed get it with:

sudo apt-get install subversion

Then get that latest source from the repository with:

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

This will make the directory 'trunk' containing the source in your working directory Note: This source is deprecated. The best place to get the drivers: http://linuxtv.org/hg/~pinchartl/uvcvideo/summary

Build

Make sure you have kernel header files. In Ubuntu 7.10 and later, you need the header files package specific to your CPU architecture, for example, linux-headers-2.6.22-14-386 in addition to just linux-headers-2.6.22-14. You can do this with:

sudo apt-get install linux-headers-`uname -r`

Navigate to the 'trunk' directory containing the source and run:

make

Install

Ubuntu keeps the kernel module for UVC in /lib/modules/your kernel/ubuntu/media/usbvideo and the makefile has to be altered slightly to install to the correct directory. Open the the makefile in a text editor and change :

INSTALL_MOD_DIR	:= usb/media

to

INSTALL_MOD_DIR	:= ubuntu/media/usbvideo

then run

sudo make install

Update dependencies

sudo depmod -a

Insert Modules

Plug in your camera and enter the following command :

sudo modprobe uvcvideo

If you're running 7.10 this may complain that the module's already loaded. In that case unplug your camera and remove the old module with :

sudo modprobe -r uvcvideo

then insert the new one again as above.