RFC: gtk v4l2 (webcam) control panel app + applet

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

As you most likely know I've been steadily working on improving
webcam support under Fedora. As you also might know I used to work
at a Dutch University teaching Computer Science. I recently got a
request from them if there were any software engineering assignments
I could come up with.

Which remembered me that it would be nice to have a gtk app for
controlling webcam settings like brightness, contrast, etc.

This has resulted in me writing the attached assignment, since
this is now still in the planning phase (there might even not be
any students interested), this is a good moment to provide feedback
on this. So please read it, and if you have any suggestions for
better handling of v4l2 controls, please let me know.

Thanks,

Hans


GTK webcam control application and applet
-----------------------------------------

The Fedora project (http://fedoraproject.org/) has been working on
improving webcam support for a while now:
https://fedoraproject.org/wiki/Features/BetterWebcamSupportF13

For Fedora-14 (to be released November 2010) it would be nice to have a
gtk application for controlling various camera settings (brightness,
contrast, etc.) *and* a small applet which shows a webcam icon
next to the clock when a webcam is present.

Both applications are to ship with the default Gnome desktop, so the end
product should be a ready to release application, each Fedora release
gets installed on approximately 1 million machines!


v4l2 control application requirements
-------------------------------------

There already is an existing graphical v4l2 control panel application
(v4l2ucp), which can be used to model the gtk application after. This
application is not suitable as it is using the QT GUI toolkit, which
does not integrate well into the default Fedora desktop.

MUST:
* Use the gtk toolkit
* Be written in C, C++ or vala (your choice)
* Dynamically build up its UI (like v4l2ucp), as which controls are
  present differs per camera. There is an API to query which conrols
  there are and if they are on/of controls, or have a range (iow if
  they should be shown as a checkbox or a slider)

SHOULD:
* Have a well polished UI following the GNOME Human Interface Guidelines

COULD:
* ...


v4l2 applet requirements
------------------------

The v4l2 applet is meant to be started at the startup of the desktop, and
then contineously stay running. When it detects the presence of a webcam,
it should show a webcam icon next to the clock (using the special docking
area). Clicking on this icon should show a list of detected v4l2 devices,
with the possibility to launch the control application for each.

During initial development it can launch v4l2ucp, so that the 2 applications
can be developed independently.

MUST:
* Use the gtk toolkit
* Be written in C, C++ or vala (your choice)
* Detect when v4l2 devices are plugged in and are removed
* Show a docking area icon when the first v4l2 device is detected
* Hide the docking area icon when the last v4l2 device is gone
* Be able to launch a v4l2 control application on each device

SHOULD:
* Restore v4l2 device settings when a device gets plugged in, this
  will require some assistence of the v4l2 control application
* Have a well polished UI following the GNOME Human Interface Guidelines
* Have separate backend and frontend (UI) parts, so that the main code
  can easily be re-used in other desktop environments

COULD:
* Be aware of dual mode cameras (which can do both still image capture and
  function as a webcam), and show the icon even if the camera is in still
  image capture mode, offering the user the option to put it in webcam mode.


Hardware
--------

Various webcams including some dual mode ones can be made available to the
students implementing this.

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux