DVD Authoring

Trick out home videos with a fun, featureful menu system that viewers can navigate from a regular DVD player.

Traditionally, DVD authoring has been an expensive affair.
Full-featured professional applications can cost thousands of dollars,
while cheaper products, such as Apple's iDVD, have arbitrary restrictions
that significantly reduce their usefulness. A new open-source effort,
dvdauthor, is bringing the possibility of low-cost, professional-grade DVD
authoring to Linux. Although it doesn't yet support all the features of
the DVD specification, development is proceeding at a fast pace, and
new features are being added with each release. Together with a more
established open-source toolkit, mjpegtools, this article explains how
to construct a relatively complex DVD application, a photo album, with
dvdauthor.
We also illustrate the various features that dvdauthor currently supports
and how to use open-source tools to construct a DVD-R that can play on
almost every DVD player.

How a DVD Works (Quick Version)

A DVD is comprised of one or more video title sets (VTSes), which contain
video information in the form of MPEG-2 video streams. Each disc can
have up to 99 VTSes, and each title set can be subdivided further into as
many as 99 chapters, allowing DVD players to jump to a certain point
within the video stream. Within each VTS, a DVD can have up to eight
different audio tracks and 32 subtitle tracks that the viewer can
switch between at will. A menu system can be included within a title
set, allowing the viewer to select between the different subtitle and
audio tracks. An optional top-level menu, known as the video
manager menu (VMGM), is used to navigate between the different
title sets. One VTS may contain a feature film and another
may contain a documentary on the film, and the VMGM allows viewers to
select which one they want to watch.

The DVD format doesn't eliminate the differences between the two
competing broadcasting formats, NTSC (primarily used in America) and
PAL (the standard in Europe and Japan). I live in Britain, so the frame
information and resolution details used in this article are for a
PAL system, but I point out the differences you need to be
aware of when they appear and offer appropriate settings for an NTSC
disc.

The DVD specification includes advanced features, such as the concept of
region coding, the possibility of viewing different angles of a
video stream and simple computations using built-in registers provided
by a DVD player. I don't know much about these features, and they aren't
discussed in this article. The
dvdauthor mailing list is a good source for further information.

Planning

Before we rush headlong into creating menus, subtitling
and multiplexing, it's a good idea to sketch out the structure of
the DVD with paper and pencil. Proprietary DVD tools offer GUI systems
for creating this type of structure, but no such
tools are available yet for DVD production on Linux. As you'll soon see, the command-line
tools have a lot of different options, so having your ideas on paper is
preferable to trying to keep everything in your head.

The DVD application I'm creating is a photo album, using pictures that
I took while studying abroad at UNC-Chapel Hill this past year. For
simplicity's sake, I have only six photos in each category. On
paper, I decide that the main menu (the VMGM unit) should have five
buttons, four of which are simple text buttons (one for each different
photo category), plus a secret link unlocking extra pictures (secret
extra features are a common occurrence in commercial DVDs) and a music
track playing in the background. The four regular buttons link to one
of four menus, one for each different section. The menu system for each
section consists of two menus and an audio track, with selectable
preview images of the slideshow, a button to move onto the next set of
preview images and two buttons that allow the viewer to watch
the complete slideshow or go back to the main menu. To keep things
simple, the photo slideshow should have the same song as the section menu
playing in the background. After the slideshow is finished, the
viewer is sent back to the section menu. The secret link is a
short slideshow with no menu, but it has two different music
tracks that the viewer can switch between while the video sequence is
playing.

To prevent things from getting mixed up, I created the directory
structure below to organize the files. The image directory
eventually will hold the completed DVD, while the raw photos go in the
photos/setN
directories and the video files go in the titleN or main directories:

Comment viewing options

The tutorial was great, but I am still confused about something. I wanted to know more about the process of authoring a DVD to work on as many players as possible. This was still about creating cool menus and stuff like that. Where do I read more about the authoring process? Thanks.

Still one of the best tutorials out there, all these years later. I wonder if there is a similar tutorial written recently with the latest linux command line and gui front-ends for authoring and editing. I've found the devil is in the details with linux authoring. It takes several tools to get the background music and menus to be just right. Or wipes and graphics. These tools seem to be around in windows so I know there must be much better linux analogues?

Although dvdauthor doesn't have the easy-to-use interface of professional applications,

This is insulting. Although many new-media monkeys today use point and drool applications in a professional setting, a professional applications is quite likely to have a scriptable "small and sharp tool" interface that will allow it to be automated, pipelined or in some other way made to fit the working environment and methods.

The programmer(s) can't know how (another) user will use the tools and should make no assumptions! And it is particularly the professionals that need to be able to throw away repetitive wizards and other joe random user interfaces and make work after work happen the right way. Every time. And when a change is needed, you make the change and only the change and re-run the process etc.

I got mixed up between Japan's placement in Region 2 and what TV format it uses. Although the country is in Region 2 like Europe, it uses NTSC instead of PAL/SECAM. Apologies for that error.

Secondly, in the time since I wrote this article, the dvdauthor team have been busy improving the application. One of the main changes has been to switch to using XML to lay out the title information, thus eliminating some of the huge command-lines in my tutorial. They have a brief guide to the new format here.

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.