Authoring a DVD via CLI

Here are the steps I use to take television-ready video file and burn it to DVD, ready to play. These work on Kubuntu 8.04 (hardy heron), and probably any Debian-based Linux distribution.

Instructions distilled from HOW TO: Author a simple DVD form video file - Ubuntu Forums.

Notes

  • These steps use a relative directory (./tvshows) and the system temporary directory /tmp.
  • The files in ./tvshows and /tmp will use a lot of space; be prepared.

Steps

  1. Transcode files to mpeg, using ffmpeg

    ffmpeg -i /full/path/to/input.avi -target dvd -aspect 4:3 /tmp/output.mpeg

    Use -aspect 16:9 to keep it letterboxed.

    This step usually takes the longest.

  2. Build a DVD disc image using dvdauthor

    The following takes two files and builds a DVD image in ./tvshows:

    dvdauthor -t /tmp/video_1.mpeg /tmp/video_2.mpeg -o tvshows

    Add as many videos as desired after -t.

  3. Create titles for the DVD

    dvdauthor -T -o ./tvshows

  4. Make the ISO

    mkisofs -dvd-video -o /tmp/tvshows.iso ./tvshows/

  5. Check the ISO

    isoinfo -i /tmp/tvshows.iso -l

  6. Burn image to physical DVD

    growisofs -dvd-compat -Z /dev/dvd=/tmp/tvshows.iso

Program versions

  • ffmpeg

    $ ffmpeg -version
    
    FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
      libavutil version: 1d.49.3.0
      libavcodec version: 1d.51.38.0
      libavformat version: 1d.51.10.0
      built on Mar 17 2009 21:11:10, gcc: 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
    ffmpeg      SVN-rUNKNOWN
    libavutil   3212032
    libavcodec  3352064
    libavformat 3344896
    
  • dvdauthor

    DVDAuthor::dvdauthor, version 0.6.14

  • mkisofs

    $ mkisofs --version
    mkisofs 2.01 is not what you see here. This line is only a fake for too clever
    GUIs and other frontend applications. In fact, this program is:
    genisoimage 1.1.6 (Linux)
    
  • isoinfo

    $ isoinfo -version
    isoinfo 1.1.6 (Linux)
    
  • growisofs

    $ growisofs -version
    * growisofs by <appro@fy.chalmers.se>, version 7.0.1,
      front-ending to genisoimage: genisoimage 1.1.6 (Linux)
    

author: Andrew Ittner
© 2010
Last modified 2010-01-06