Beginner’s Guide to dvdauthor: Create DVDs from Your Video Filesdvdauthor is a command-line toolkit for creating DVD-Video compliant structures from raw video files, primarily used on Linux and other Unix-like systems. It doesn’t encode video itself; instead, it takes MPEG-2 streams (or already-encoded video in an acceptable format) and builds the VIDEO_TS and AUDIO_TS directories with the correct files and navigation data so the result can be authored to disc and played in standard DVD players. This guide walks you through the concepts, prerequisites, installation, common workflows, and examples to help you create playable DVDs from your video files.
How dvdauthor fits into a DVD creation workflow
A typical DVD authoring workflow using open-source tools looks like this:
- Convert your source video to a DVD-compatible MPEG-2 stream (and audio to AC-3 or PCM) — use tools like ffmpeg or mencoder.
- Create an XML-based project describing titles, menus, and navigation — dvdauthor uses simple XML for this.
- Run dvdauthor to generate VIDEO_TS and AUDIO_TS directories.
- Optionally create ISO using genisoimage or mkisofs.
- Burn the ISO or VIDEO_TS folder to DVD with growisofs, wodim, or a graphical burner.
dvdauthor’s role is step 3: taking prepared streams and a project file and producing a fully structured DVD-Video filesystem.
Prerequisites and supported formats
- Video: DVD-Video requires MPEG-2 video at standard DVD resolutions (720×480 NTSC or 720×576 PAL) and appropriate frame rates (23.976/24/29.⁄30 for NTSC variants, 25 for PAL).
- Audio: AC-3 (Dolby Digital) is the most widely supported; PCM (uncompressed) is also allowed.
- Tools: You’ll typically use ffmpeg or mencoder to encode/convert into compliant streams. genisoimage/mkisofs to create ISOs; growisofs/wodim for burning.
- Platform: dvdauthor runs on Linux and other Unix-like systems. Windows users can run it via Cygwin/MSYS or use GUI tools that bundle similar functionality.
Installation
On Debian/Ubuntu:
sudo apt update sudo apt install dvdauthor
On Fedora:
sudo dnf install dvdauthor
On Arch:
sudo pacman -S dvdauthor
From source (if needed):
wget http://downloads.sourceforge.net/project/dvdauthor/dvdauthor/0.7.11/dvdauthor-0.7.11.tar.gz tar xzf dvdauthor-0.7.11.tar.gz cd dvdauthor-0.7.11 ./configure make sudo make install
Basic concepts and XML structure
dvdauthor uses an XML project file describing titlesets, titles (VOBs), menus, buttons, and navigation. A minimal dvdauthor XML contains a
Key elements:
: Defines a set of titles (each title typically maps to a VOB file). : Contains elements with the path to MPEG-2 files. and : Used to build DVD menus and navigation commands.
Minimal example — single title, no menus:
<dvdauthor> <vmgm/> <titleset> <title> <vob file="movie.mpg" /> </title> </titleset> </dvdauthor>
Converting source video to DVD-compliant streams
If your video is not already MPEG-2 with proper resolution and audio, use ffmpeg to convert:
Example: Convert an MP4 to DVD-compliant MPEG-2 video and AC-3 audio (NTSC):
ffmpeg -i input.mp4 -target ntsc-dvd -aspect 16:9 -ac 2 -ar 48000 -y output.mpg
Notes:
- The -target ntsc-dvd preset sets many correct parameters (bitrate, GOP, pixel format).
- For PAL, use -target pal-dvd.
- If you need AC-3 specifically, ensure ffmpeg is compiled with libfdk_aac or ac3 encoders; alternatively, output WAV and convert audio separately.
If you need precise control:
ffmpeg -i input.mp4 -vf scale=720:480,fps=29.97 -c:v mpeg2video -b:v 6000k -minrate 6000k -maxrate 6000k -bufsize 1835k -c:a ac3 -b:a 192k -ar 48000 output.mpg
Creating a simple DVD with dvdauthor
- Prepare one or more MPEG-2 files (e.g., movie1.mpg, movie2.mpg).
- Write a project XML (example below).
- Run dvdauthor to produce VIDEO_TS.
Example project (two titles):
<dvdauthor> <vmgm/> <titleset> <title> <vob file="movie1.mpg" /> </title> <title> <vob file="movie2.mpg" /> </title> </titleset> </dvdauthor>
Command:
dvdauthor -x project.xml -o dvd_out
Result: dvd_out/VIDEO_TS contains .ifo, .vob, .bup files ready for burning.
Adding a menu
A simple menu can be built using dvdauthor’s XML or by using pre-rendered background images and button coordinates.
Example menu XML with background image (menu.png), two buttons:
<dvdauthor> <vmgm> <menus> <menu name="main"> <background file="menu.png" /> <button highlight="rect(50,200,300,260)" action="jump title 1" /> <button highlight="rect(50,260,300,320)" action="jump title 2" /> </menu> </menus> </vmgm> <titleset> <title> <vob file="movie1.mpg" /> </title> <title> <vob file="movie2.mpg" /> </title> </titleset> </dvdauthor>
Notes:
- Coordinates are in pixels relative to 720×480 (NTSC) or 720×576 (PAL) menu size. Buttons should map to visible menu areas.
- For more advanced menus, use dvdauthor’s PGC (Program Chain) features or an external GUI tool.
To add audio background for menus, include
- Use spumux (or other muxers) to multiplex subtitles into the VOBs, or let dvdauthor reference external subtitle files via
elements.
Basic spumux usage:
spumux -o movie_with_subs.mpg -s subtitle.idx movie.mpg
Making an ISO and burning
Create an ISO image from the authored DVD structure:
genisoimage -dvd-video -o dvd_image.iso dvd_out
mkisofs -dvd-video -o dvd_image.iso dvd_out
Burn to disc (DVD-R/DVD+R) with growisofs:
growisofs -dvd-compat -Z /dev/dvd=dvd_image.iso
Replace /dev/dvd with your burner device node or use a GUI burner.
Common pitfalls and troubleshooting
- Wrong resolution/frame rate: Player rejects disc or video plays improperly. Ensure conversion uses correct DVD resolutions and NTSC/PAL frame rates.
- Audio format unsupported: Convert audio to AC-3 or PCM.
- Large titles: DVDs have size limits (~4.7GB single-layer); use bitrate control or split titles across discs.
- Menu coordinates wrong: Buttons don’t align on screen — check menu background size (720×480 or 720×576) and coordinates.
- dvdauthor errors like “VOB not compliant”: Re-encode the video with DVD-compliant settings.
Useful commands for debugging:
- Use mediainfo or ffprobe to inspect streams.
- dvdauthor -o out -x project.xml prints verbose errors—add -v for more verbosity.
Examples: full end-to-end commands
Single-file DVD (NTSC) quick flow:
ffmpeg -i input.mp4 -target ntsc-dvd -aspect 16:9 -ac 2 -ar 48000 -y output.mpg cat > project.xml <<EOF <dvdauthor> <vmgm/> <titleset> <title> <vob file="output.mpg" /> </title> </titleset> </dvdauthor> EOF dvdauthor -x project.xml -o dvd_out genisoimage -dvd-video -o dvd_image.iso dvd_out growisofs -dvd-compat -Z /dev/dvd=dvd_image.iso
Multiple titles with menu (assumes menu.png present):
ffmpeg -i part1.mp4 -target ntsc-dvd -y part1.mpg ffmpeg -i part2.mp4 -target ntsc-dvd -y part2.mpg # create project.xml including menu (as shown earlier) dvdauthor -x project.xml -o dvd_out genisoimage -dvd-video -o dvd_image.iso dvd_out
Alternatives and GUI front-ends
If the command-line XML feels complex, consider GUI tools that wrap dvdauthor:
- DeVeDe (simple GUI for creating DVDs, uses dvdauthor)
- QDVDAuthor (older GUI)
- DVDStyler (creates menus and authors DVDs; may use similar backend tools)
Each GUI simplifies menu creation, button placement, and encoding presets.
Summary: key steps
- Convert videos to DVD-compliant MPEG-2 and AC-3/PCM audio.
- Create a dvdauthor XML project describing titles and menus.
- Run dvdauthor to generate VIDEO_TS structure.
- Make an ISO and burn to disc.
If you want, I can:
- Build a ready-to-run project.xml for your files (tell me filenames, NTSC/PAL, aspect).
- Convert a sample command for a particular source file and target region.
Leave a Reply