|
|
Subscribe / Log in / New account

The Grumpy Editor's video journey part 3: DVD authoring

This article brought to you by LWN subscribers

Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

By Jonathan Corbet
January 2, 2008
Part of the LWN Grumpy Editor series
As readers of the first part of this series will remember, your editor has set out on a project to digitize a set of old video tapes and turn them into properly-formatted DVD media suitable for handing out to the grandparents. Part 1 was about the task of capturing this data to disk; part 2 covers the video editors available for turning the captured data into something watchable, and part 3 covers the task of creating a DVD from the edited video.

Attentive readers may have noticed that part 2 has not yet been written; there are more editors available than your editor had expected (currently under review are Cinelerra CV, Kino, PiTiVi, LiVES, and Avidemux), so that process is taking longer than expected. For the purposes of this article, let us assume that your editor has a disk full of video clips which have been edited and properly formatted into the MPEG2/AC3 video object files expected by DVD players. There will be a discussion of the best ways to get those files there in the near future, promise.

Many of us have burned CDs and found the process to be relatively straightforward - the biggest obstacle is often just getting past the grumpiness built into cdrecord and its latter-day derivatives. Creating data DVDs is not a whole lot harder. So one might be inclined to approach the task of creating a video DVD with a "this will be easy" attitude. It is, in fact, a task just about anybody can learn to do, but it is on a different order of complexity than creating a CD full of music. A video DVD is, in truth, a program complete with its own hierarchical structure, menus, and code written for the simple virtual machine lurking within every DVD player. Creating a playable DVD requires writing that program.

If DVDs are programs, then the one compiler available for Linux systems is the command-line dvdauthor tool. Regardless of how one builds a DVD, dvdauthor will be involved in the process at some point. This tool requires a collection of video objects representing the actual video titles and also implementing the menus, subtitles, and more. It's all tied together via a complex XML file (example) which is compiled by dvdauthor to create the final product.

It is possible to create all of these pieces by hand, and, doubtless, Real Linux Video Jocks would not do it any other way. One can use dvdauthor to help with the generation of parts of the XML file. There is documentation which seems fairly complete, if a bit terse. But the fact of the matter is that most people attempting to use this tool directly will give up in despair. There is no reason why DVD authors should have to work at this level; dvdauthor is essentially an assembler which, while being absolutely essential to do most of the heavy lifting, should be hidden from most polite company. DVD creation is a visual task; there should be visually-oriented tools for this job. The good news is that these tools do, indeed, exist.

DVDStyler

[DVDStyler] The first of these tools is DVDStyler, a GTK-based application. There are three basic tabs which are used to work through the tasks of piecing together a DVD; they are labeled "Directories," "Backgrounds," and "Buttons." The directories tab pulls up a simple internal directory browser, useful for adding objects to the DVD. So, if the DVD author has a collection of VOB files containing video data, they can be found by way of this tab and added, one by one, to the DVD. Each object shows up in the bottom pane of the window, generally with an unhelpful annotation like "Title 2". There is no easy way to see what each of those titles is; one must query their properties and look at the associated file name.

As a grumpy aside, your editor must note that the directory browser uselessly starts at $HOME. One need not work with much video data before realizing that special provisions must be made for its storage; video objects are unlikely to be kept in the home directory. Your editor has a hard time understanding why tools like this are unable to start file searches in the current working directory, which is a much more likely place to find things of interest. Switching to $HOME is not just a least-surprise violation; it actively makes things harder for the user.

The "Backgrounds" tab helpfully offers a dozen or so canned background images which can be used for the DVD menus. They are nice backgrounds, and they might just be useful for somebody struggling through the process of creating a DVD for the first time. Your editor, though, suspects that most users, by the time they create their second (working) DVD, might just want to supply their own background images. They will look for that option under the "Backgrounds" tab in vain, though. It is possible to supply a custom image: go to the large (video screen) pane, right-click, select "properties," and set an image there. It's easy, once you've figured it out. But one would think that, having gone to the trouble to provide an entire mode dedicated to background images, the developer would have thought to toss in a "none of the above" button.

The hardest part of creating a DVD (once one has suitable video in place, obviously) is getting the menus to work. DVDStyler starts with an empty main menu in place; it is up to the user to add entries which will do interesting things. That is done by way of the "Buttons" tab. There's a selection of arrows available, as well as the ability to add basic text buttons. The button of interest can be simply dragged to the right spot on the menu, sized appropriately, and configured to do the right thing. There are also "empty" buttons for more complicated situations where the real button text (or image) is found on the menu's background image.

[Button dialog] Having added a button, the author must tell the system what happens in response to events on that button. To that end, there is a separate "properties" dialog. Usually one wants a button to cause a certain video title to be played, and that is easily configured. If more than one menu has been created, buttons can also be set to jump from one menu to the next. There is a "custom" blank for the harder cases which require direct entry of code to be executed by the DVD virtual machine. In DVDStyler, the selection of relatively obscure options (subtitles, languages, camera angles) can only be set up in this way.

Also required is a specification of what happens when one of the directional arrows is pressed. The default "auto" setting leaves that up to the player, which will probably do the right thing - the down arrow, for example, will move the focus to the next button below the current one. Anybody who is concerned about the user interface provided by the resulting DVD will probably want to set these actions explicitly, though - a somewhat tedious and time-consuming task.

Eventually, the time comes to actually create the DVD. Most first-time users will probably go to the DVD menu for this task, but the "burn" option is not there - it's under the "file" menu instead. The resulting dialog works nicely, giving the user the option to stop after generating the ISO image or to run a preview application (xine by default) before actually writing to the disk. Underneath this dialog is a whole set of helper commands which are run; those can be configured if need be, but most users will not tread there.

All told, your editor found DVDStyler to be the easier tool to use for quickly putting together a video disk. There is just one little problem: those disks never quite worked right on your editor's ancient DVD player. Somehow, a misunderstanding about how the menus should work crept in. Your editor suspects, perhaps, that overlapping buttons may have something to do with it; the other application reviewed by your editor (QDVDAuthor) detected and corrected that situation, but DVDStyler did not. In any case, newer players had no problem with the generated disks, so this may not be a problem that most people need to be concerned with.

'Q' DVD-Author

[qdvdauthor] The other DVD authoring application considered here is 'Q' DVD-Author (or qdvdauthor from here on out in an effort to save your editor's typing fingers). This is a Qt-based application aimed at providing complete DVD authoring capability. It is arguably more complete and mature than DVDStyler, but more complex as well.

Qdvdauthor provides a three-paned window with areas for the current set of audio/video objects, the DVD hierarchy, and the menu designer. The audio/video pane, on the left end, is clearly a work in progress. There is a thumbnail area which shows the opening frame of the associated video - sometimes. Other times it stays green and qdvdauthor silently leaves an mplayer process desperately cranking away in the background. It was only when the load average on your editor's system got to around 20 that he figured that one out. There is a "play" button which pops up a cheery "not yet implemented" button. The run time of each video title is also displayed. All told, it is a more useful display than what DVDStyler offers, with the potential to be quite a bit better yet.

The middle pane shows the current hierarchy of objects making up the DVD. It is a helpful display, given that DVDs truly are hierarchical objects. It likes to reset itself to the top, though, making it necessary to scroll repeatedly toward the bottom when the DVD gets more complex. The right pane shows one of the DVD menus - or a couple of other things we'll see later on. One very nice feature is the little display at the bottom showing how much data has been committed to the DVD so far and how much room remains.

Video titles are easily added using the prominent "add movie" button. Once attention turns to the menu creation process, one notices that there is no separate "backgrounds" tab - but there is a button for adding a custom background image, which is what is really needed anyway. Your editor found that dragging a thumbnail from the video pane over to the menu area created a picture button which would play the associated title - a nice feature.

[qdvdauthor text properties dialog] [qdvdauthor button properties dialog] The creation of text buttons (or those from a separate image) is a bit more labor-intensive, requiring the user to right-click on the background, select "add text", draw a rectangle to define the text area, fill in a rather gaudy text dialog (shown left) with the actual text (and tweak fonts and such), right-click on the newly-added text and select "define as button", then fill in the button properties dialog (shown right). That last step involves setting the button name (necessary - it would be nice if it defaulted to the button text) and picking the various associated actions. It takes a while.

Eventually, the time comes to commit all of that work to an actual DVD. A click on the associated button gets that process going. If one has been sloppy in drawing out buttons, the first thing to come up will be a warning that some of the buttons overlap, accompanied by an offer to fix the problem automatically. One can also decline the offer (aborting the process) to fix the problem manually.

This is as good a point as any to note that moving and resizing buttons in qdvdauthor is a real exercise in pain. The button areas have the usual grab points for moving, dragging edges and corners, or rotating the button. But none of those are visible until the user has clicked the mouse and committed himself to doing something. The end result is that attempts to drag a button often do something else - like rotating them to some strange angle. The basic interaction modes for operating on graphical objects in a display have been well understood for years; one can only imagine that whoever designed this interface was engaging in some sort of sadistic exercise which was sponsored by purveyors of strong drink.

[burn dialog] Once the buttons have been sorted out, selecting the burn operation brings up a rather intimidating dialog showing all of the commands which will be executed to get the job done. It's at this point that one realizes just how much behind-the-scenes magic is going on to make the DVD creation process actually happen. There are options to disable specific parts of the process (actually burning the disk, for example), and the adventurous can edit the commands before they run. Most people, though, will probably just hit the "OK" button at the bottom and watch the process unfold. Which it does, just as one would expect.

There's a few other nice features hidden in this application. The menu pane can be made to show the XML file which will be generated for dvdauthor; it can also be put into a garish and complex dialog which facilitates the addition of subtitles. There is a template mechanism for menus, and a network-based repository from which qdvdauthor can download new templates. There is an operation which will convert the entire DVD between the NTSC and PAL formats - your editor has not yet exercised this option, but, given that some of the grandparents for whom this work is intended live in Europe, it will eventually come in handy. There is a little-used plugin mechanism and a theme feature as well; long-neglected Motif users will be glad to know there is a style for them. The addition of audio to menus and intro/outro sequences to titles is relatively straightforward. There is also an option to make DVD slideshows out of a series of still images.

Conclusion

Either one of these applications can get the job done. They both show the best of how an application on a Unix-like system can add power by using existing tools. Neither DVDStyler nor qdvdauthor actually does much of the work of creating menus or burning DVDs; they mostly just put together fiendishly-complex command lines and call out to the tools which have been designed to do that work well. Overall, the combination works reasonably well.

A feature which is lacking from both tools is a "hold my hand" mode for people who are not - and do not want to be - experts in DVD creation. A sequence of screens which would set up an initial menu, import titles, and create buttons for each would be most helpful in this regard. As it is, users must have their own internal checklist in mind when creating DVDs, and it is easy to miss things. Your editor, while certainly slower than most, is unlikely to be the only one to have created an impressive pile of coasters before finally producing a DVD which actually worked as intended.

While the tools edited here are, in your editor's opinion, the best available for Linux for this task, there are some others to be aware of:

  • Tovid is a set of command-line tools for the creation of DVD menus and putting the whole structure together. They hide much of the underlying complexity and may prove useful for users not wanting to work with a graphical interface.

  • VideoLink is an interesting tool which enables the creation of DVD menus in HTML. It then renders them with a web browser and prepares the result for burning to a DVD.

  • Kino (which will be covered in depth in part 2) can produce a simple dvdauthor script to make a no-menu DVD with a single title.

  • KDE DVD Authoring Wizard is a kdialog script which steps the user through the creation of a simple DVD. It provides the handholding mentioned above, but, arguably, simplifies out too much of the process.

Of all these tools, it must be said that qdvdauthor is, at this time, the most complete and capable. It provides access to almost any capability supported by current DVD players, is relatively easy to use, and works most of the time. With luck, the developers (who released the 1.0.0 version reviewed here in November, 2007) will devote themselves to smoothing out the remaining rough edges, leaving us with a tool which DVD authors at any level can use.


(Log in to post comments)

Part 2

Posted Jan 2, 2008 23:03 UTC (Wed) by Velmont (guest, #46433) [Link]

Hahahaha. I was furious when I saw this in the newsreader, «Where is part two!?». After
reading part 1, I said I was eagerly waiting for part 2 (or something); but I've already done
it myself now.

My work is in fact video editing, and I've got an Apple Mac (G5) with Final Cut Pro for doing
that - but this yule I wanted to really try Linux for video again; and I was suprised. It just
worked (this is on Arch Linux)!

I used dvgrab and Cinelerra, -- and after a day in Cinelerra CV, I must now say that it's not
as bad as I originally thought. I can actually use it!

So I made a small movie with some random footage I had on a tape. Before I was just pushing
Cin3; but now I see that I can use Cinelerra for my own projects if I want. (Yes, I'll still
use FCP for work).

Oh, sorry, that was long and off-topic; but anyway: I'm really looking forward to seeing part
2!

Part 2

Posted Jan 3, 2008 13:34 UTC (Thu) by hingo (guest, #14792) [Link]

Attentive readers may have noticed that part 2 has not yet been written

Me too, I was puzzled as to how it was possible that I would have missed a Grumpy editor article! I don't think I've missed an LWN front page for 10 years now... :-)

Part 2

Posted Jan 2, 2008 23:52 UTC (Wed) by morhippo (subscriber, #334) [Link]

Dear Jonathan, I hope you do not forget to cover kdenlive in part 2, which is IMHO one of the
better linux video editors I have found during my search. Packages for debian are available.


http://www.kdenlive.org/

kdenlive

Posted Jan 2, 2008 23:59 UTC (Wed) by corbet (editor, #1) [Link]

You, sir, have just delayed the second part further.

I knew that putting up a list would bring others out. I'd encountered kdenlive before, but, somehow, it fell off my list. Thanks, it's back there now.

kdenlive

Posted Jan 3, 2008 23:29 UTC (Thu) by neilbrown (subscriber, #359) [Link]

Can I hope that you will keep an eye out for how well each editor
supports HD Video?  I suppose that isn't required for your "convert
VHS to DVD" project, but for many other projects it will become more
and more important over the coming months and years.
When I bought my HD camcorder the only things I found that came close
were PiTiVi and kdenlive, and the latter was much more mature at the time.
I look forward to reading what you find....

Blender

Posted Jan 10, 2008 12:09 UTC (Thu) by zotz (guest, #26117) [Link]

Well, perhaps this will delay it further, but I believe Blender has abilities in this area as
well.

I think many of these programs could benefit from some simple beginner's howto's though.

all the best,

drew

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 3, 2008 1:10 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

Do any of these tools enable you to do things like embed background animations, or animate menu transitions? How about setting easter eggs, or changing DVD player settings like subtitles, language, and audio settings?

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 3, 2008 1:26 UTC (Thu) by khim (subscriber, #9252) [Link]

embed background animations

You just need movie for that, not static picture.

animate menu transitions

Surprisingly does not exist in DVD format. What the "professional" DVDs are doing instead in series of menus:
1. Original menu
2. Transitional menu with no buttons and autojump to 3rd menu at the end
3. Next menu
As you can guess complex menu systems can produce literally hundred of such menus - and that's exactly why such DVDs are pretty expensive to author

easter eggs, changing DVD player settings like subtitles, language, and audio settings

Most of these things are only available if you play directly with DVD VM.

P.S. I've done some work with DVDs and the only thing I can say about this format: it's a mess. Why the hell they need to have 10 copies of everything in different places ? To confuse players if something is not 100% consistent ?

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 3, 2008 1:52 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

From what you describe, I bet that was the motivation.

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 3, 2008 3:38 UTC (Thu) by josh (subscriber, #17465) [Link]

MythArchive, part of MythTV, works very nicely as well.  It does assume you have a MythTV
setup, but it makes the process of authoring and burning a simple video DVD quite trivial.
You pick the videos (or TV recordings) you want, choose a predefined menu style, and tell it to
burn the disk.

Simple dvd:s

Posted Jan 3, 2008 6:45 UTC (Thu) by eru (subscriber, #2753) [Link]

There is no reason why DVD authors should have to work at this level; dvdauthor is essentially an assembler which, while being absolutely essential to do most of the heavy lifting, should be hidden from most polite company.

There is at least one good use case for running dvdauthor directly: suppose you just want to make a DVD that, when inserted, starts to play the videos directly in sequence without menues, just like a plain old CD. This can be specified with a simple XML file that basically just lists your DVD-compatible MPEG files. The dvdauthor documentation provides an example. With a tiny amount of editing you can also add chapter marks.

Such simple DVD:s may actually be better for granny communications.

Some experiences I made recently

Posted Jan 3, 2008 7:14 UTC (Thu) by rakoenig (subscriber, #29855) [Link]

Since I got a DVB-T box for christmas I'm trying to capture some TV streams and put them on a
DVD. So I tried out a lot of DVD authoring apps too. 

What should be menitoned as a good app is mandvd (which is available for Debian at least from
debian-multimedia.org). Can help you to do a quick simple DVD.

qdvdauthor is currently in transiton to the 1.0.0 version (Release Candidates are available).
The 0.1.5 binaries for Debian come with xine support only which means that the length of your
MPG clip is predicted wrong (usually 1/3 of the real length). Compiling with mplayer support
solves that problem, but gives some more problems on thumbnail generation and as Jonathan
observed a lot of open mplayer instances. If you want to add several clips and a menu button
"play all" you need the 1.0.0 version at least. I managed to get RC2 working, but RC3 and the
latestst CVS won't work actually on my system. But since there is progress in the project I
think soon we will get those bugs fixed. 


The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 3, 2008 12:30 UTC (Thu) by kleptog (subscriber, #1183) [Link]

Thank you for this article. I can tell you, I got frustrated and gave up long before
generating a large pile of coasters. Now I know it *is* possible without so much pain...

Just add a subtitle

Posted Jan 3, 2008 14:10 UTC (Thu) by NAR (subscriber, #1313) [Link]

Hello!

Is there a tool that just grabs a DVD (with menus, subtitles, etc.), lets me add a new
language subtitle, then burns the whole back to a DVD? There are a lots of really cheap DVDs
(less than 4 euros) in the supermarket, but sometimes they don't have Hungarian audio or
subtitle. However, subtitles can be downloaded, so these DVDs could be "upgraded" to be
enjoyable by non-English speakers too.

Re: Just add a subtitle

Posted Jan 3, 2008 19:07 UTC (Thu) by guinan (guest, #4644) [Link]

The dvdauthor package includes "dvdunauthor", which basically takes the structure from an existing DVD, and writes out an XML file that can be edited then fed back to dvdauthor. Can't remember if it extracts the data too, see "vobcopy" and other tools if not.

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 4, 2008 2:00 UTC (Fri) by smh.lwn (guest, #6149) [Link]

Tovid has a functional GUI component aswell, documentation for it is excellent.

DVD-Video structure

Posted Jan 4, 2008 7:33 UTC (Fri) by ldo (guest, #40946) [Link]

It can help to understand the structure of a DVD-Video disc in order to appreciate some of the limitations of the format. There are various documents scattered around the Web, with various bits of description in them. I've put together an introduction here, with links to more details.

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 6, 2008 5:03 UTC (Sun) by set (guest, #4788) [Link]

Another tool I dont see mentioned here is dvdwizard, which is a command
line tool, but once its configured it can easily create a dvd struct with
multiple titlesets with fancy automaticly selected screen shots for
backgrounds and chapter selections. I guess it can do video and sound
for the vmgm menu, but I havent used that feature. In its most simple
invokation, you could author a rather slick looking dvd like:

dvdwizard -T "My DVD Title" -t auto foo.mpg -t auto bar.mpg ....

('auto' just has it make a reasonable guess for the name of the titleset
to use in the menu, you can specify it if you want.)

I use it when I want to get some video on a dvd, and dont care enough
to customize or mess around with it.


dvdauthor XML example

Posted Jan 7, 2008 8:37 UTC (Mon) by ldo (guest, #40946) [Link]

I have added some explanatory commentary to that dvdauthor XML example.

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 10, 2008 9:27 UTC (Thu) by rmano (guest, #49886) [Link]

Maybe the "easy to use" non-wizard application could be DeVeDe: 
http://www.rastersoft.com/programas/devede.html
It has not a lot of documentation, but it seems quite straightforward to use. 

The Grumpy Editor's video journey part 3: DVD authoring

Posted Jan 18, 2008 15:43 UTC (Fri) by jnelson (guest, #6693) [Link]

Consider giving dvbcut a look ( http://dvbcut.sourceforge.net/ ) and comparing it to avidemux.
It doesn't do nearly as much, but I've had much better success with it (specifically, it
doesn't cause A/V desync. like I have experienced with avidemux) and it can be significantly
faster - it only re-transports rather than re-encodes and, for files that come from ivtv,
means I can go right from ivtv to dvbcut to DVD without ever once re-encoding (only changing
the transport!).


My Needs (are not your needs)

Posted Jan 23, 2008 19:10 UTC (Wed) by jimwelch (guest, #178) [Link]

I have a VHS/DVD recorder. It has limitations that I want to overcome:
* Take the DVD it makes and edit the videos, menus, chapters, (everything)
* It won't pause while copying.
* I want to take out commercials on timed recordings.
* Every 8 minutes is the auto chapter.
* Limited top level menu gen.
Panasonic DMR ez-475V


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds