This is the framework of a video booth project I worked on recently. It allows members of the public to record audio/video diary entries for feedback purposes (in theora/vorbis format, but samples are included for xvid). It also presents a form, requesting some information which is then formatted into a subtitles file to accompany the resulting video.
You will need to do a bit of hacking to get it exactly where you want it, and you’ll need to customise and make a kiosk OS for this to be of the most use to you (I made a stripped, locked down Debian, but there’s no reason why you couldn’t use a BSD).
Supplied is a Python/GTK UI to prompt the user for information and to record video diary entries, which is then handled by gstreamer (making it easy to create pipelines to capture from just about any hardware source). As well as encoding, video is displayed on screen as it is recorded. The application is split into two discreet pieces for the simple reason that the pygst libs leak 8MB of memory on each use (I very carefully debugged this) so it was simplest to spawn a separate VM to handle the recording, which gracefully closes itself (and any memory leaks) afterwards.
Branding is handled by various text and image files. GTKMozEmbed is used to allow a locked down Firefox kiosk browser as well (which can be turned on in the config files).
Requires Python, GTK, GStreamer 0.10+, GTKMozEmbed, Firefox