This time we will show you how to create a movie DVD (from your collection of home videos, for example) that is playable on most set-top DVD players, using the mkdvd script.
Mkdvd is a great script that makes it easy to burn your movies to DVD, automating the entire process of constructing a DVD and burning it. The script uses MPlayer to convert any movie format supported by MPlayer (visit www.mplayerhq.hu/homepage/design6/info.html to find out what is supported) to the proper size and format required for DVD. Once converted, mkdvd will construct a simple menu containing the contents for the DVD and build a DVD image. Mkdvd can even take care of the burning of the DVD to either DVD-R/RW or DVD+R/RW media.
The mkdvd script relies on the following programs to build a DVD: Libdvdread (www.dtek.chalmers.se/groups/dvd/downloads.shtml), DVDAuthor (http://dvdauthor.sourceforge.net), Toolame (http://mikecheng.d2.net.au), Sox (http://sox.sourceforge.net), MJPEGTools (http://mjpeg.sourceforge.net), and MPlayer (www.mplayerhq.hu/homepage/design6/news.html). Download and install each of these programs in the order they are listed. Except for Toolame and MPlayer, the programs can be installed by untaring the source code and typing the following in a shell as root:
$ make install
To install Toolame, untar the source code and type the following in a shell as root:
$ cp toolame /usr/local/bin
Detailed install instructions for MPlayer are available at www.mplayerhq.hu/DOCS/HTML/en/install.html.
Mkdvd is written in the Pike scripting language (http://pike.ida.liu.se) and requires the Pike interpreter to be installed on your computer. To install Pike, in a shell as root type:
$ sh Pike-v7.4.28-Linux-x86-i686.sh
To install mkdvd, copy the file to your hard disk and in a shell as root type:
$ gunzip mkdvd.pike.gz
$ mv mkdvd.pike /usr/local/bin
$ chmod +x /usr/local/bin/mkdvd.pike
To test that mkdvd is installed and working correctly, type mkdvd.pike in a shell. If the script has been installed correctly you will see a list of all the command line options supported by the script.
Now that mkdvd is installed, you are ready to burn a DVD! In this section we’ll use the example of a 60-minute home movie recorded onto your computer as a single movie file.
Before burning a DVD with a video of this length, it is a good idea to break the video into shorter chapters. This will allow you to select each scene from a menu and to navigate the DVD easily when you watch it later. Video editing applications such as Kino (http://kino.schirmacher.de) are relatively easy to use. Save each chapter as an individual movie file.
Once the movie is divided into chapters, you should have a collection of files on your hard disk, named, for example, mymovie-1.mpg, mymovie-2.mpg and mymovie-3.mpg. To create a DVD from these three movie files and burn it to DVD- media, type the following:
$ mkdvd.pike -b mymovie-1.mpg mymovie-2.mpg mymovie-3.mpg
If you use DVD+ media, use the following command instead:
$ mkdvd.pike -+ mymovie-1.mpg mymovie-2.mpg mymovie-3.mpg
The DVD created with the above command will contain a simple menu allowing you to select mymovie-1.mpg as chapter 1, mymovie-2.mpg as chapter 2 and mymovie-3.mpg as chapter 3.
Mkdvd can also generate an .iso image as an alternative to burning directly to DVD. The file, named dvd.iso, is an image of a DVD and can be burned to DVD later using either cdrecord-ProDVD or DVD+R/RW Tools. To create a .iso image, use the command:
$ mkdvd.pike --iso <movie file>
It may take some time to prepare the movie file for burning as it will probably need to be re-encoded to meet the specifications for DVD (for more information on the DVD specifications see www.dvdrhelp.com/dvd). This re-encoding process will require a large amount of temporary disk space: for example, our 60- minute movie needs approximately 2.5GB. Mkdvd will write a lot of progress information to the screen, so you can follow its status. Once it’s completed, you will be able to play the DVD using MPlayer, or insert the DVD into your set-top DVD player to play it back on your television.
The menu generated by mkdvd is very simple, so you might want to customise it when you create your DVD. To include a background image with the menu, include the switch “--image=<image file>” on the mkdvd command line. The image can be saved in most formats, such as JPG or GIF. You can change the default fonts used in the menu by including the switches “--menufont=&lr;path to font>” and “--menufontsize=<size>” on the command line. To specify a font, the full path to the font must be given. All of the fonts on your computer are most likely located under /usr/X11R6/lib/X11/fonts (as is the case for Red Hat Linux 9).