dvdauthor is a suite of programs for authoring DVD-Video discs and performing related tasks.

  • dvdauthor itself takes a bunch of MPEG files representing the titles and menus, and puts them together according to the instructions in an XML file.

  • dvdunauthor performs the opposite task to dvdauthor: given the files making up a DVD-Video title, it separates out the individual menus and titles into separate MPEG files, and constructs an XML file that dvdauthor can use to put them together again.

  • spumux constructs the subpictures used for subtitles and menu buttons, and multiplexes them onto MPEG-2 files, according to instructions in an XML file.

  • spuunmux performs the opposite task to spumux: given an MPEG-2 file containing a subpicture or menu definition, it extracts the subpicture layer into separate PNG files, and creates an XML file that spumux can use to put them together again.

  • mpeg2desc can produce a dump of the types of packet headers present in an MPEG file, and also extract audio and video streams into separate files.

  • dvddirdel is a simple script to perform safe deletion of an output directory and its contents as created by a previous run of dvdauthor. It is safer than “rm -rf” in that it only deletes the directories and files that would form part of a DVD-Video directory structure, and nothing else. This way, if you accidentally specify the wrong directory to delete, it will more likely fail with an error, than cause you to lose important data.

spumux embeds information in the MPEG files it generates in a private format that is decoded by dvdauthor for use in controlling generation of the final output files:

  • The locations and dimensions of buttons are given to spumux. dvdauthor gets this information from the MPEG files generated by spumux. Also, buttons are referred to by user-specified names in both spumux and dvdauthor, even though DVD-Video doesn't support button names.
  • spumux allows the specification of multiple graphic files, each potentially containing a different set of colours, even though DVD-Video subpictures only allow a maximum of 4 colours to be displayed at once from a maximum palette of 16 colours. spumux embeds information about the colours actually used, and dvdauthor collects this to correctly encode the generated subpicture pixels and build the complete palette.

Note a subtle point: menus can have 4 different colours, and the colours can be different between the different states of normal, highlighted and selected. But there is only one subpicture image shared between these three states, and having 2 bits per pixel, it is restricted to 4 different pixel values. Thus, even though you specify the appearance of the states with separate image files, spumux combines them into one and will flag an error if the result cannot be represented within 2 bits per pixel.

dvdunauthor and spuunmux are very useful for trying to understand the structure of existing DVD-Video titles. Note, however, that dvdunauthor puts some additional tags into the XML files it creates that the current version (0.6.14) of dvdauthor doesn't understand.

Additional useful information about DVDAuthor has been collected at the DVDAuthor Wiki.

'Q' DVD-Author is a GUI-based tool to ease the job of DVD authoring. It can generate the XML files and command sequences necessary to drive the various CommandLine utilities in the dvdauthor suite.

qdvdauthor and the dvdauthor documentation examples make heavy use of the MJPEG Tools package for generation of MPEG files and the like. However, all these operations can be performed just as readily with FFmpeg.