DVD Mastering Using QDVDAuthor
If you're working from footage taken on a miniDV camera, outputting a DVD-ready video from Kino is relatively simple. If you haven't used it before, Kino's interface is comfortable and easy to navigate. Good user guides are available at several places on the Web, most obviously at Kino's home page (kinodv.org/article/archive/13). It's not a multitrack editor, more's the pity, but for quick-and-dirty edit work with basic transitions and soundtrack mixing, it works encouragingly well. When outputting video from Kino, I've found that I get the best results (for both video quality and a minimum of sound sync slippage) with the dual-pass encoding in the DV Pipe screen.
On the off chance that you're wanting to burn DVDs from your PVR, you still need to get the files into the right format. Mencoder is great for this, though it has a confusing array of options. Here's a sample command argument for moving from xvid to DVD-compatible MPEG-2:
mencoder -ovc lavc -lavcopts vcodec=mpeg2video -oac lavc -lavcopts \ acodec=mp2:abitrate=512 foo.avi -o foo.mpg
An important caveat about encoding to DVD-format MPEGs: every Linux video encoder I have ever run into uses FFmpeg or MJPEGTools as a back end, and they both have the same problem—a big one. They both seem to have a bug that causes a slip of sound sync progressively throughout the file, becoming noticeable after about the first two minutes of footage. It's a problem in the library that I've not found a way around, though it is markedly less pronounced using FFmpeg than MJPEGTools. This is the biggest and most troublesome hurdle still facing Linux DVD authors. The only solution I've found to this deeply irritating problem is to slice your video into two- to five-minute tracks and use each of these tracks as separate titles on your DVD. It's an ugly solution, and not the kind of thing you want to talk about at parties, but for the moment it's the best we can do. In an ideal world, the good folks who maintain these projects would fix the issue, but as this is a common problem for many commercial MPEG encoders, I'm not holding my breath. (I should add, dear reader, on the off chance that this is a user-brain-dead error and I'm missing something obvious, I look forward to your hate mail with cheerful enthusiasm.)
In case you want to strike out on your own with the available command-line tools (mencoder, FFmpeg and mjpegtools), here are the vital stats you'll need to encode a serviceable DVD video file (all numbers are for NTSC):
720x480 with 4:3 (standard) or 16:9 (anamorphic) aspect ratio.
MPEG-2 @ up to 98,00kbps
48khz @ 32–1,536kbps
PCM, AC3, MPEG-1 Layer2
Up to eight audio tracks encoded
DVD File Structure
The difference between a data DVD and a video DVD is essentially the file structure and video format. The proper encoding of the file structure is handled by DVDAuthor, the back end on which all Linux DVD programs depend. It takes an XML file and builds the DVD image from it. Here is the DVDAuthor output from the project I built for this article:
<dvdauthor dest="/home/user/dvddirectory/" jumppad="yes" > <vmgm> <menus> <video format="ntsc" resolution="720x480" /> <pgc entry="title" > <vob file="/tmp/HK Promo disc/Main Menu VMGM_menu.mpg" pause="inf" /> <button name="1" >jump title2; </button> <post> jump vmgm menu 1; </post> </pgc> </menus> </vmgm> <titleset> <menus> <pgc> <post> jump vmgm menu 1; </post> </pgc> </menus> <titles> <pgc> <vob file="/home/user/dvdmenu1.mpeg.vob" /> <vob file="/home/user/trailerdvd.mpeg.vob" /> <vob file="/home/user/video/cinereel1.mpg" /> <vob file="/home/user/video/cinereel2.mpg" /> <post> call vmgm menu 1; </post> </pgc> </titles> </titleset> </dvdauthor>
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Non-Linux FOSS: MenuMeters
- Solving ODEs on Linux
- diff -u: What's New in Kernel Development