Ripping and Burning a DVD

Here's the method I use for ripping and burning DVDs. I use command-line utilities for the simple reason that they are simpler and, for me, faster than equivalent GUI tools.

  1. Use dvdbackup to rip the DVD
    $ dvdbackup -M -i /dev/dvd -o /ouput/dir/
    
    The command options mean:
    -M
    Rip the entire DVD.
    -i /dev/dvd
    Read the input "file" /dev/dvd. Replace /dev/dvd with the device-special file where your DVD lives. On my system, it is /dev/hdc. Modern Linux distributions often create the symbolic link /dev/dvd for you.
    -o /output/dir
    Write the output into the directory /output/dir. Replace /output/dir with the directory into which you want dvdbackup to copy the ripped audio and video. The output directory will be DVD_DIR, and will contain at least two directories, AUDIO_TS and VIDEO_TS. Note the upper-case names — this will be important when you create the ISO image.
  2. Use mkisofs to create an ISO image.
    $ mkisofs -v -V "Disc Name" -dvd-video -o iso_name.iso /output/dir/dvd_name
    
    The command options mean:
    -v
    Execute verbosely
    -V "Disc Name"
    Assign Disc Name as the volume name of the resulting ISO
    -dvd-video
    Generate a DVD-Video-compliant UDF file system. For this option to work, the file names in the directory must contain only upper-case characters.
    -o iso_name.iso
    Name the output file (the resulting ISO) iso_name.iso
    /output/dir/DVD_DIR
    Read the contents of /output/dir/DVD_DIR for the source of the ISO image.
  3. Burn the ISO to a DVD. Most DVD movies require dual-layer DVDs:
    # growisofs -speed=1 -dvd-compat -Z /dev/dvd=iso_name.iso
    
    The command options mean:
    -speed=1
    Select the speed (recording velocity) closest to 1385 KB/s to minimize chances for ruining the DVD media
    -dvd-compat
    Enable maximum media compatibility with DVD-Video
    -Z /dev/dvd=iso_name.iso
    Enables support for burning pre-mastered images. Replace /dev/dvd with the name of your DVD device and iso_name.iso with the name of the ISO image you created in the previous step.