1
uvcdynctrl - Manage dynamic controls in uvcvideo
2
================================================
7
For an introduction to dynamic controls you should first read the dynctrl.txt
8
that comes with the Linux UVC driver. You can find it here:
10
http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/
12
The combination of uvcdynctrl and libwebcam allows to manage these dynamic
13
controls from user space. While libwebcam contains the actual implementation,
14
uvcdynctrl presents a command line interface to do so.
16
Currently only the UVCIOC_CTRL_ADD and UVCIOC_CTRL_MAP ioctls are supported.
17
Support for the remaining functions is planned. The documentation is not really
18
complete at this time. In particular, the XML format that is used to describe
19
dynamic controls is undocumented except for a sample file and an XML schema.
20
This will be fixed very soon.
22
uvcdynctrl is designed to eventually work together with udev, so that control
23
mappings are automatically added whenever a UVC device is plugged and a
24
matching dynamic controls configuration file is available.
26
Apart from the dynamic controls feature uvcdynctrl also provides a few handy
27
functions that illustrate the power of libwebcam. Check out the built-in
28
command line help for details.
34
The uvcdynctrl package contains udev support, i.e. a udev rule file and a
35
helper script that calls uvcdynctrl to import the appropriate XML file when
36
a camera is connected.
38
If you run "make install" as root, the following udev-related files will be
41
/etc/udev/rules.d/80-uvcdynctrl.rules (rule for V4L devices)
42
/lib/udev/uvcdynctrl (helper script to launch uvcdynctrl)
43
/etc/udev/data/046d/logitech.xml (dynamic control configuration for Logitech
46
These paths are hardcoded in uvcdynctrl/CMakeLists.txt and have only been
47
tested on Ubuntu with udev versions >= 141. If your distribution uses different
48
paths, you need to make changes to that file before running the installation.
50
If you're using an older version of udev you may want to try the udev scripts
51
of an older version which is tagged as "0.1.3-pre" and can be found here:
52
http://svn.quickcamteam.net/svn/qct/webcam-tools/tags/0.1.3-pre/
54
Please send us feedback (preferrably through the QuickCam Team forum, see the
55
main README file for the link) about the udev functionality, especially on
58
If you want to debug the uvcdynctrl udev script, you can find some basic debug
59
output in /var/log/uvcdynctrl-udev.log.
65
0.3 (under development):
66
- Reorganized the directory layout and build system.
67
- Exit with a non-zero code if errors occur while getting or setting controls.
68
- Improved udev support (udev >= 141 is required now).
71
- Experimental support for udev (support script and rules).
72
- Added a new option -f or --formats to list a device's frame format list
73
(pixel formats, frame sizes, and frame intervals).
74
- Make use of the improved error message reporting in libwebcam.
75
- Added support for displaying processing statistics in verbose mode.
76
- Support for the new informational messages (dynctrl).
77
- Added a hint to the quick help on how to set negative control values.
78
- Fix: Import (-i) no longer needs a valid device to be specified (or the
79
default video0 to be present).
84
Building, questions, and feedback
85
---------------------------------
87
Please see the README file in the top level directory for building
88
instructions and how to contact the developers.
94
Copyright (c) 2006-2010 Logitech.
96
uvcdynctrl is free software: you can redistribute it and/or modify
97
it under the terms of the GNU General Public License as published by
98
the Free Software Foundation, either version 3 of the License, or
99
(at your option) any later version.
101
uvcdynctrl is distributed in the hope that it will be useful,
102
but WITHOUT ANY WARRANTY; without even the implied warranty of
103
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
104
GNU General Public License for more details.
106
You should have received a copy of the GNU General Public License
107
along with uvcdynctrl. If not, see <http://www.gnu.org/licenses/>.