mpegCam 0.01 ------------ MpegCam is a ramshackle collection of programs that make it possible to shoot video with a black and white or color quickcam on a linux box. Although it is a technology preview release with a primitive user interface, it servicably can shoot 9 frames per second on my laptop. If you've got questions or comments, write to paul@honeylocust.com. The official web page for mpegCam is at http://www.honeylocust.com/mpegcam/ License ------- # mpegCam 0.01 is absolutely free. # If you hurt yourself or someone else with it, tough luck. We disclaim any # responsibility. # http://www.honeylocust.com/mpegcam/ Requirements ------------ * a black and white quickcam (bought mine refurbished for $50) * python (http://www.python.org/) * qcread (http://www.fhttpd.org/pub/qcread/README.html) * ImageMagick (http://www.wizards.dupont.com/cristy/) * mpeg_encode (http://bmrc.berkeley.edu/projects/mpeg/mpeg_encode.html) To view MPEG videos, * Mpeg TV (http://www.mpegtv.com/) How it works ------------ Video is nothing more than a succession of individual frames. shoot.py simply captures images as rapidly as it can and writes them as individual files into a directory, saving the time at which each frame was shot into a file video.sync, written into the same directory as the images. Later on, video.sync is used to bring the frames into synchronization for conversion into a standard video format such as MPEG. Quickstart ---------- Compile and install all required external programs. readqc requires root authority, but don't install it setuid root if you care about the security of your machine. Step (1) Snap pictures with the readqc program trying different values of brightness, contrast and white balance. White balance is the most important quantity. It can take some effort to find good values. cd to the directory that contains mpegCam, type % ./adjustcam.py and use the GUI to set these three quantities for the movie camera. Adjustcam stores camera settings in a file titled .qcam_settings in the current directory. Step (2) Type % ./shoot.py A good first try would be % ./shoot.py test 100 shoot reads camera settings from .qcam_settings. Step (3) Convert the movie to ppm format. Type % ./convertmovie.py For example, % ./convertmovie.py test pgm ppm Step (4) Synchronize frames and configure mpeg_encoder, type % ./synchronize.py For example, % ./synchronize.py test param.head 30 param.head is the default configuration that comes with mpegCam; It is the top of the configuration file that will be passed to mpeg_encoder. See the mpeg_encoder documentation for more information. The frame rate is the frame rate for the final MPEG movie. MPEG movies cannot be encoded at the original frame rate, which is too slow. MPEG movies must be encoded at one of the following frame rates: 23.976, 24, 25, 29.97, 30, 50 ,59.94, 60. Step (5) Encode the mpeg % cd % mpeg_encode Step (6) View the mpeg % mtv output.mpg Future: ------- It's up to you. mpegCam is an existance proof of video recording on Linux. Linux 2.2 has kernel support for image capture devices such as TV cards and digital cameras. If you can figure out how Mpeg System (Go to http://www.mpeg.org/) works, you should be able to shoot video with a synchronized sound track. Free software already exists to do the difficult tasks.