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.
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
mplex comes from the mjpegtools package, available at http://mjpeg.sourceforge.net. It can take independent video and audio streams and create a single mpeg2 stream.
mplex -f 8 -o output.mpg video.m2v audio.m2a
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
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