Cheese
Webcam application
Contents
-
Long-term ideas
- Single click backgrounds
- Persuasive installation
- Webcam descriptions
- Single click backgrounds
- Semi-transparent borders
- Integrations with other apps
- Rafale
- After-effects
- Move to opengl
- Camera setup
- LAN camera sharing
- Webcam backend
- Only display the image
- Windows port
- Face Morphing Application in Cheese
- QR
- Make videos of your everyday photos
This list may be outdated and not reflect current state of Cheese
Long-term ideas
Those are long-term ideas for Cheese. One third of it may be feasible, the other third will require a few years of work. The other third are SF and pure-crack.
Feel free to send me your patches implementing things below or your own ideas.
Single click backgrounds
Thanks to color recognition (as a first-step) and movement recognition (find by comparing images what is the body=moving, and what is the background=still). Even better (if you're using a laptop or a moving webcam),shape detection (the software could ask to move only yourself for a moment to recognize the body though)
Demonstration pipeline:
gst-launch-0.10 \ v4lsrc ! "video/x-raw-yuv, width=360, height=296, framerate=(fraction)15/2" ! ffmpegcolorspace ! \ alpha alpha=0.0 method=blue angle=50 noise_level=0 ! videomixer name=mix ! ffmpegcolorspace ! ximagesink \ filesrc location="/usr/share/pixmaps/backgrounds/gnome/nature/FreshFlower.jpg" ! decodebin2 ! \ ffmpegcolorspace ! videoscale ! "video/x-raw-yuv, width=360, height=296" ! ffmpegcolorspace ! mix.
Possible interfaces:
- "Normal" gui where you can choose the color to replace and the image to replace it with
Drag&drop interface:
- user drags an image onto the video-area
- Cheese generates a pixbuf from the video-source (without filters) at the moment of dragging the image
- Cheese adds up the green and blue values in the pixbuf
(only if red < green or blue, so human skin does not count, which is very likely to be on the picture)
- if green value is bigger, choose method=green in the alpha plugin or else choose blue
- set location of filesrc to the location of the dragged image (might even be movie-file, because of decodebin2)
Persuasive installation
When the webcam doesn't work at all.
Some GNU/Linux distributions comes with Cheese pre-installed, just like happens from Debian 5.03 - but the fact is most of the existing webcams doesn't work at all on Linux, or at least, doesn't works out of box, what can be a problem, specially for newbies. A suggestion would be if Cheese can be also an useful tool for notificating developers that our webcam doesn't work, and also helping on an easier process on automatic installing and recognition of our webcam, whatever is it supported or not. For example, the only two webcams i have are completelly useless on Linux, which are gSmart Mini (usb), and iSight (from Apple Macbook 2.0 laptop, which i have also Ubuntu 9.10 installed as dualboot)
Webcam descriptions
Description about supported webcams, specifications, and prices.
Somewhere in the Cheese Gnome website, would be useful a webpage providing useful information about which webcams works on Cheese, since mostly doesn't at all.
Single click backgrounds
Single click backgrounds could be extended to enable easy hackergotchi creations
Semi-transparent borders
Put people in jail or let them wear funny hats
Like the background idea, but this time put transparent images in front of the video. Those images could be a collage in which only the face is cut out or some images of hats, beards, etc.
Integrations with other apps
Chat, Photos, GIMP, mail, gnome-about-me, flickr, Empathy, f-spot is already done. more will be available after the switch to conduit
Rafale
Rafale (4 quick shots) mode that can be turned into an animated icon
After-effects
Apply effects to existing pictures/videos
Move to opengl
Camera setup
Allow camera setup (brightness, gamma, saturation, ...) if controls are exposed by v4l2src
LAN camera sharing
Use cameras from other instances of cheese running in the network.
Put a "tee" after the videosource part of the pipeline, but _before_ the effects, one end of the "tee" leads to the normal pipeline (filters, output). The other end leads to a pipeline which streams the videosource over the local network.
The information about this stream is shared over the network using avahi.
Another instance of cheese is started on a different pc in the network. The user starts up a camera selection dialog. It shows the locally connected usb webcam and the shared network cam it found using avahi.
Camera sharing should be disabled by default. When using a shared camera as videosource, it should not be shared again, so there is no recursion.
Webcam backend
Stream video to the net!
This is somewhat like the shared cameras idea, except it might use higher compression and the tee is put _after_ the effects part of the pipeline.
Also cheese could pretend to be a webserver and start listening on a port and when there is a connection send a html-document that simply embeds a video player. (Nothing big, there is no need to understand the http-protocol, simply send some predefined data after recieving two crlf)
This "webserver" could also be announced using avahi. There is some protocol for announcing bookmarks, which is already supported by epiphany (IIRC safari supports these, too). That way epiphany users get all webcams in the network shown in the bookmarks, so they don't need to start cheese to watch webcams, nor do they need to type IPs or URLs.
Only display the image
Allow users to display only the captured image like a desktop widget. This will allow to record screencasts with human faces in a simple way.
Windows port
Face Morphing Application in Cheese
Face morphing application is nothing taking your face and put in the template face with modified face texture. I already have an facebook application http://apps.facebook.com/pakkamorph. I want to put it cheese. Please send me your feedback.
QR
Plugin to decode QRCode? Automatic launch of the url in the browser?
Make videos of your everyday photos
Something like this app do: http://www.makeuseof.com/dir/everyday-daily-photo-video/