These are several tools I use for converting captured video from DV format to DVD-compatible MPEG files. To use these, you will need the mjpegtools (http://mjpeg.sourceforge.net), the smilutils (http://users.pandora.be/acp/kino/smilutils.html), and you'll probably want Kino (http://kino.schermacher.de) for editing your videos in the first place. You'll also want mplayer (http://mplayerhq.hu) for playing videos, and for the encoding checker script (checkenc). Typical procedure: 1) Capture DV input using dvgrab. 2) Edit the DV in Kino, adding effects and cutting unwanted material, etc. 3) Split the Kino edit list (smil file) into smaller bits using smilsplit. 4) Encode to DVD using the smil2dvdHQ script (or LQ, if the source material isn't superior). (This is usually done with a shell one-liner, like for foo in *.smil; do smil2dvdHQ "$foo"; done 5) Run "checkenc" to ensure that the encode went OK, reencoding any parts that didn't encode completely. (Typically, "checkenc *.smil".) 6) Author the DVD from the MPEGs with dvdauthor's "makedvd" script. 7) Burn the DVD using CD-RecordProDVD (DVD-R media) or growisofs (DVD+R media). 8) Enjoy the DVD with mplayer or with a standalone DVD player. The contents of this package: Checkenc: A perl script that uses mplayer to check whether encoding succeeded on a particular smil file. Usage is just "Checkenc *.smil" or you can name individual smil files if you like. It will look for mpeg files named as they would be if you used the smil2dvd* scripts included in this package and compare the frame counts of the smil file vs the mpegs. If the frame counts match, the encode is reported as a success. If not, an encoding error is reported, and you can redo that encode. frames.cpp This is just a simple program to report the number of frames in a smil file. It is a standalone tool and is not used by the checkenc perl script. To build, just do: gcc -o frames frames.cpp -lstdc++ smil2dvdHQ This is a shell script that will take a smil file and turn it into DVD-compatible mpegs, using the mjpegtools. The quality and bitrate settings are such that you should be able to get just about two hours of video onto a single DVD. However, this assumes very clean source material. If you're coming from tape, this would be SVHS or better, original tapes. Note that interlaced NTSC video is presumed. For PAL or progressive scan, just change the appropriate options. smil2dvdLQ This is a shell script that will take a smil file and turn it into DVD-compatible mpegs, using the mjpegtools. The quality and bitrate settings are such that you should be able to get just about two hours of video onto a single DVD. This one uses different quality and bitrate settings so that you can use somewhat noisier material. However, the results are still very good. Note that interlaced NTSC video is presumed. For PAL or progressive scan, just change the appropriate options. smilsplit.cpp This will split a smil file into several smaller smil files, based on a name template and frame count you specify. This allows you to use a smaller sample to test the "fit" potential of a video, and also allows you to encode several small pieces rather than one large edit list. That way if something unexpected happens in the middle of an encoding session, you can reencode just the piece where the trouble occurred, rather than having to reencode the entire video from the start. To build, just do: gcc -o smilsplit smilsplit.cpp -lstdc++