An up-to-date overview of free software and its makers
Projects on the Move
Voice over IP on the Internet gives communication a personal touch, but it takes applications like Cheese and WebcamStudio to exploit the creative potential of Internet telephony.
The Internet has spoiled many a futurologist's predictions. Video phones were still very much the domain of science fiction in the 1990s. Then, suddenly, broadband Internet hit the mass market, closely followed by cheap webcams. Almost overnight, video conferencing became an affordable reality for home users.
Webcams became part of the digital citizen's standard equipment with the introduction of netbooks. Now Linux users can join in the fun because driver support has finally caught up with reality. Furthermore, creative spirits have discovered the potential of webcams beyond run-of-the-mill telecommunications.
Linux and Webcams
When Linux users buy a webcam, whether it is integrated with a notebook or as an external hardware device, the driver CD will not typically include usable software for the user's choice of operating system. Very few manufacturers provide webcam drivers for Linux. Despite this, developments are positive; Linux developers have created drivers for many of the newer webcams.
Just five years ago, EasyLinux, a German language magazine published by the same company that brings you Linux Pro Magazine/Linux Magazine, painted a gloomy portrait of the webcam landscape. Only three out of seven cameras could be talked into cooperating with a Linux system; of the three, only two displayed color correctly. Linux supported less than 30 percent of the webcams on the market; this made buying a webcam a risk at the time.
The Linux community owes improvements in webcam support to many factors: For one thing, a couple of manufacturers now supply free Linux drivers for their equipment, or at least you can download the drivers. For another, the USB Video device class (UVC) [1], which was introduced in 2005, has been adopted as a standard by many webcam manufacturers. Kernel version 2.6.26 introduced the Uvcvideo [2] module for native support on Linux, which means that most devices that stick to the standard now work.
Unfortunately, some manufacturers still ignore what is now an established standard, while refusing to develop Linux drivers or support volunteer programmers. Since 2003, the French programmer Michel Xhaard has been developing drivers – without external help, for the most part – as part of the GSPCA (Generic Software Package for Camera Adapters) [3] project for low-budget webcams that do not comply with the UVC standard. All of this work by the French physicist, who has since created drivers for more than 250 devices, was introduced into version 2.6.27 of the Linux kernel. Support for seven different chipsets is quite sufficient to get non-UVC-compliant devices to work on Linux, including devices by Aiptek, Creative, Logitech, and Philips, along with innumerable no-names. However, because some manufacturers still refuse to help, the image quality can be quite poor with some GSPCA devices.
Before you buy a webcam, you should check the compatibility lists on the GSPCA and Linux UVC project pages. Some manufacturers provide Linux support status overviews for their devices, although random tests revealed that most of the reports are unreliable. Some webcams tagged as "unsupported" will work with the GSPCA or Uvcvideo project kernel modules without any trouble.
Say Cheese!
The Gnome desktop Cheese [4] project (Figure 1), which owes its name to the familiar phrase, "Say cheese," is reminiscent of the proprietary Photo Booth software by Apple. Cheese uses the webcam to take photos and record videos. Various effects boost the fun factor (Figure 2): 12 filters let users modify the image by replacing individual hues or by distorting the image.
The camera image occupies most of the workspace. To save an image, just click Take a photo, after selecting Photo or Video mode. The Effects button takes you to freely combinable filters. If you are interested in a black and white cube view (Figure 2), you can simply enable both and then click Effects again to return to the main view where the selected effects are visualized. However, some of the effects involve operations that can slow down even a more powerful machine, especially if you apply them to videos.
Into the Studio
The widespread availability of webcams also brings new options to the world of amateur media. Writing is not everybody's favorite activity. If you don't feel at home in the world of text-heavy blogs, you can still let the world know what you think in the form of videos captured with a stock webcam. Pages such as Ustream.TV [5], BlogTV [6], or Stickam [7] give their members a platform for uploading their contributions or even broadcasting live.
The WebcamStudio [8] project (Figure 3) targets users of these services, offering more than a simple reproduction of the image captured via the webcam. Users with cameras that support Linux, but not the browser's Flash plugin can use WebcamStudio to populate their own video blogs. Although this is the main application for WebcamStudio, the software will also export videos to AVI or Ogg files or create an Ogg broadcast stream.
WebcamStudio combines various media. The Sources menu shows the cameras connected via the V4L (Video for Linux) interface or its successor, V4L2. On top of this, budding producers can add videos or images from disk to their programs or give viewers a chance to watch the producer's desktop.
WebcamStudio integrates text either as static content or RSS feeds. As an alternative, the software will accept the output from any shell command, allowing users to, say, use a live stream to monitor a computer's process list. Other input sources include ANM format animations, IRC chats, and cameras with Firewire connections.
The TCPServer and TCPClient tools let the program use streams from remote computers or the local machine. The Microphone source records an audio track that you can mix with other audio sources. WebcamStudio relies on GStreamer for video and sound reproduction and supports any formats for which you have installed the required plugins.
Users can position the selected sources in the Output window – with transparent superimposition if so desired. For example, you could superimpose your own portrait on a movie. The ability to create a screencast with explanations recorded via a webcam is less artistic, but still useful. At the same time, you can use a paintbrush tool to edit the image by drawing frames around the interesting parts or by using other highlighting techniques.
WebcamStudio developer Patrick Balleux has also implemented an idea that is unique in this kind of software: if you enable Face Detection, the program will automatically detect the eyes of the person the webcam is recording. The user then loads a face file comprising images and coordinates and describing the distance between the image elements it contains. The software applies a virtual mask to the person you are filming, and the mask tracks head movements and scales to reflect the distance to the webcam. It is no surprise that this feature is not perfect, considering the current state of the art, but the quality is fine for visual effects when using face files from the WebcamStudio homepage, such as Batman or Dr. House.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.
-
New KDE Slimbook Plasma Available for Preorder
Powered by an AMD Ryzen CPU, the latest KDE Slimbook laptop is powerful enough for local AI tasks.
-
Rhino Linux Announces Latest "Quick Update"
If you prefer your Linux distribution to be of the rolling type, Rhino Linux delivers a beautiful and reliable experience.