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.
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.
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:
dvd - title1 - title2 - title3 - title4 - title5 - mainmenu - photos - set1 - set2 - set3 - set4 - set5 - image
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- RSS Feeds
- Connecting Android device to desktop Linux via USB
49 sec ago
- Find new cell phone and tablet pc
58 min 54 sec ago
2 hours 27 min ago
- Automatically updating Guest Additions
3 hours 36 min ago
- I like your topic on android
4 hours 22 min ago
- Reply to comment | Linux Journal
4 hours 43 min ago
- This is the easiest tutorial
10 hours 58 min ago
- Ahh, the Koolaid.
16 hours 36 min ago
- git-annex assistant
22 hours 36 min ago
- direct cable connection
22 hours 59 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.