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
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.
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
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.
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.
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)