Chapter 1. Examples

1.1. Running the tools

1.1.1. Creating the DVD filesystem with dvdauthor

In these examples, dvdauthor is run as:

rm -r test && dvdauthor -o test -x dvdauthor.xml

It will create or append to the directory specified, so it is a good idea to remove the directory before running dvdauthor, otherwise the resulting structure will not be playable.

1.1.2. Adding subtitles with spumux

spumux takes an mpeg2 program stream as input and spits one back out, with subtitles multiplexed in. It is run as:

spumux spumux.xml < input.mpg > output.mpg

1.1.3. Creating a movie source from video and audio with mplex

mplex comes from the mjpegtools package, available at It can take independent video and audio streams and create a single mpeg2 stream.

mplex -f 8 -o output.mpg video.m2v audio.m2a

1.1.4. Creating video from bitmap images with mpeg2enc

When creating menus, it is necessary to create an mpeg2 video stream from one or more bitmap images. For NTSC you can do:

ppmtoy4m | mpeg2enc -a 2 -n n -f 8 -o output.m2v

and for PAL you can do:

ppmtoy4m | mpeg2enc -a 2 -n p -f 8 -o output.m2v

1.1.5. Creating a blank audio track with toolame

When creating menus with no sound, it is necessary to multiplex in an empty sound file. At 48kHz, NTSC has 1601.6 audio samples per frame while PAL has 1920 audio samples per frame. Determine how many samples you need, and run:

dd if=/dev/zero bs=4 count=number-of-samples | toolame -b 128 -s 48 /dev/stdin output.m2a