The long road to a working Cheese
Benefits for LWN subscribersThe primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today!
Cheese is an interesting application that is designed to take still photos and movies using a webcam. In addition to its basic monitoring and recording abilities, Cheese can display and record real-time video effects similar to those from the EffecTV project. Cheese is based on the GStreamer multimedia framework. From the Cheese project description:
Cheese started out as a Google Summer of Code project entitled Photobooth-like application for the GNOME-Desktop. (See this GNOME Journal interview with Daniel Siegel). Several additional GSoC projects involved Cheese, these include Cheese integration into Gnome with student Felix Kaser and mentor Daniel Siegel and Extend Cheese with OpenGL effects with student Filippo Argiolas and mentor Daniel Siegel.
The main features of Cheese include:
- Real-time video monitor window.
- Supports the selection of multiple video resolutions.
- Ability to take still .jpg photos with optional video effects.
- Has a countdown timer for taking still photos.
- Makes a click sound when a still photo is taken.
- Ability to record .ogv movies with sound and optional video effects.
- Can chain multiple video effects together.
- Built-in thumbnail library that shows recorded photos and movies.
- Displays photos with Eye of GNOME.
- Plays movies with Totem Movie Player.
- Images and movies can be saved to files, emailed or exported to F-spot.
Your author installed version 2.24.2 of Cheese on an Ubuntu 8.10 system using the standard Ubuntu package. The CPU was an Athlon 64 2800 running the 32 bit version of Ubuntu. Initially, an ancient Kensington VideoCam Model 67015 was tried as the video capture device, but the camera would not work. This was likely a system issue since other video applications such as xawtv and EffecTV no longer saw the camera after the system was upgraded from Ubuntu 8.04. A new HP Deluxe Webcam model KQ246AA (USB) with a built-in microphone was purchased at the local big-box electronics store. Initially, the HP camera worked with xawtv, but not with Cheese (or EffecTV).
A bit of Googling found an Ubuntu bug report that indicated others were having similar issues with Cheese. Following the thread in the bug report, your author first tried the suggestion of installing a newer kernel from the Pre-released package updates. This did not fix the problem. Digging further into the bug report messages, the next attempt involved installing mercurial (hg), then cloning and installing the latest uvcvideo driver from the LinuxTV site. This finally produced a video capture device that worked with Cheese.
Operation of Cheese is quite straightforward, one can simply run the application and start clicking photos. A few user interface issues were encountered. The Edit->Preferences menu allows one to select the camera and its resolution, but no audio configuration choices were given. It was necessary to run the gstreamer-properties application to select the camera's built-in USB audio device. Sometimes, after a pull-down menu was selected, a gray rectangle was left where the menu used to reside, on top of the moving video monitor. Sometimes the gray area would eventually disappear while other times it was necessary to move the main Cheese window to refresh the video display.
The Effects button is somewhat non-intuitive; when one clicks it, a set of effects is shown. It took a bit of playing around to figure out that one needs to click Effects again to get back to the main video monitor window. A differently named "Monitor" button would be useful here. When making movies, using resolution above 352x288 resulted in major losses of audio samples and jerky video. Both the USB camera's audio input and the sound card's auxiliary input were tried with similar results. The Cheese built-in documentation recommended using gstreamer-properties to switch the default video output to X11/XShm/Xv, this was tried but the higher-res video was still jerky. A CPU with more muscle would likely improve this situation.
Your author was left with the impression that Cheese and its ancillary applications could greatly benefit from the addition of a few extra features. It would be more fun to look at still photos if Eye of Gnome's slideshow capability had the ability to step through the stills on a timed interval. It should be noted that it is possible to export images to F-Spot, which can display a timed slide show. Similarly, Totem could really use some more advanced features such as a pause button with single-frame stepping capabilities. The documentation claims that it is possible to right-click the recorded image or video thumbnail and fire up a non-default viewer, but your author was unable to make this work. The video effects are very cool, but there are no audio effects; LV2 comes to mind here. Some of these ideas might make some good 2009 Google Summer of Code projects.
Despite encountering a number of bugs and user interface difficulties, Cheese is indeed a unique and useful application. Cheese is the first application your author has found that can produce a working movie from a web cam. At this point, or at least with this hardware configuration, Cheese is not quite ready for use by non-technical users, nonetheless it is a great application that shows much promise.
Posted Jan 29, 2009 11:25 UTC (Thu)
by fb (guest, #53265)
[Link]
The fact that it has been broken into Ubuntu for so long lead me to stop using it though. Its popularity can be seen by the number of duplicates of the bug that has been keeping people from using it.
FWIW I also experience the jerky (i.e. low frame per second) video using it, though that is probably due to problems in the underlying stack, it does impact the experience of it. In any case, I hope cheese's popularity will help gather motivation to improve the whole stack.
Posted Jan 30, 2009 4:02 UTC (Fri)
by kingdon (guest, #4526)
[Link]
I agree it is a nice application.
Posted Feb 1, 2009 14:28 UTC (Sun)
by debacle (subscriber, #7114)
[Link]
Posted Feb 1, 2009 16:27 UTC (Sun)
by burdicda (guest, #10272)
[Link] (1 responses)
duh!!!!!!!!!!!!!
burdicda
Posted Feb 6, 2009 19:29 UTC (Fri)
by andrigtmiller (guest, #53053)
[Link]
Posted Feb 9, 2009 12:28 UTC (Mon)
by muwlgr (guest, #35359)
[Link]
Cheese is indeed a lovely application, it turns those webcams bought for VoIP calls into fun toys. All in all I personally find it the most interesting (and well executed) desktop application in... hum, in a while.
The long road to a working Cheese
The long road to a working Cheese
I would love to use cheese together with a VoIP or chat application (ekiga, amsn, ...), for a fun talk. Got angry? Just switch on the Hulk effect! Without this "remote" capability, it's not so interesting to me.
The long road to a working Cheese
The long road to a working Cheese
everytime I install this thing for someone...I have to download the
source and change it to something that makes sense...not a hidden directory
that no one can find....then recompile it and install....
The long road to a working Cheese
The long road to a working Cheese