Convert Video Files to DVD
If you have a video vile that you wish to convert and burn to DVD, you can do so from a Linux command line very easily. We will use FFmpeg for the video conversion, DVDAuthor to create the DVD file system structure, and Growisofs to burn the DVD.
Using FFmpeg, simply specify your input file, the target format, resolution and an output file name. While the following is an over simplified example, it will more than likely work very nicely in most scenarios. The source video file is movie.avi, the target will be formatted for NTSC, and a standard DVD resolution of 720×480 will be used to create a new video file called movie.mpg. There are many additional options that FFMpeg can use to increase quality, so be sure to check out the documentation.
ffmpeg -i movie.avi -target ntsc-video -s 720x480 movie.mpg
Next, you will need to take your new movie.mpg file, and create a DVD file structure that you will burn to disc. Just create a folder that will serve as the parent directory of your DVD. I Like to name it after the title of the movie. Then you will use dvdauthor to create a title set and table of contents and no DVD menus. The movie will just play.
mkdir MOVIE_TITLE
dvdauthor -o MOVIE_TITLE/ -t movie.mpg
dvdauthor -o MOVIE_TITLE/ -T
The dvdauthor -t
option creates a title track in the VIDEO_TS directory. If you list the contents after running the first command, you’ll see the corresponding VTS_01_0.BUP
, VTS_01_0.IFO
, and VTS_01_X.VOB
files. The -T
option creates a table of contents for all title sets in the file system, which are listed as VIDEO_TS.BUP
and VIDEO_TS.IFO
.
You are now ready to burn the DVD. In the following command, we will use the -Z
option to burn an initial session to the disc, the -dvd-video
option to generate a DVD-Video compliant UDF file system, and the -V
option to give the disc a Volume ID. This Volume ID is read by your computer to and displays as a nice human readable title typically underneath the icon representing the disc. The -dvd-video
and -V
options are actually part of the mkisofs (genisoimage) command sets, so they do not show up in the growisofs man pages.
growisofs -Z /dev/dvdrw -dvd-video -V MOVIE_TITLE MOVIE_TITLE/
Notice, you do not need to generate an ISO file to burn the DVD. This would only waste space if your intention is not to distribute or store the video as a disc image. To create the image however, that’s as easy as the following.
genisoimage -o MOVIE_TITLE.iso -dvd-video MOVIE_TITLE/