\input texinfo @c -*-texinfo-*-
@c
@c  DVDwizard.texi
@c   - Info/User Manual for DVDwizard and all the Tools
@c
@c  Copyright (c) 2010-2011 Markus Kohm <kohm at users.sf.net>
@c  Copyright (c) 2010-2012 Joo Martin <joomart2009 at users.sf.net>
@c
@c  This program is free software: you can redistribute it and/or modify
@c  it under the terms of the GNU General Public License as published by
@c  the Free Software Foundation, either version 3 of the License, or
@c  (at your option) any later version.
@c
@c  This package is distributed in the hope that it will be useful,
@c  but WITHOUT ANY WARRANTY; without even the implied warranty of
@c  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@c  GNU General Public License for more details.
@c
@c  You should have received a copy of the GNU General Public License
@c  along with this program. If not, see <http://www.gnu.org/licenses/>.
@c 

@c %**start of header
@setfilename DVDwizard.info
@settitle DVDwizard User Manual
@documentencoding UTF-8
@defindex au
@dircategory Video

@direntry
* DVDwizard: (DVDwizard).              DVDwizard Creating a DVD with Chapters and Menu
@end direntry

@c %**end of header

@c %**start of description and copyright
@copying
DVDwizard -- Creating a DVD with Chapters and Menu without User Interaction

Copyright @copyright{} 2004--2008 W. Wershofen <itconsult at wershofen.de>

Copyright @copyright{} 2010--2011 Markus Kohm <kohm at users.sf.net>

Copyright @copyright{} 2009--2012 Joo Martin <joomart2009 at users.sf.net>

@quotation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see 
@indicateurl{http://www.gnu.org/licenses/}.
@end quotation

@end copying
@c %**end of description and copyright

@c %**start of title section
@titlepage
@title DVDwizard 
@subtitle Creating a DVD with Chapters and Menu without User Interaction
@author Wolfgang Wershofen : Joo Martin : Markus Kohm

@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@shortcontents
@contents
@c %**end of title section

@c %**start of Top Node and Master Menu
@ifnottex

@node Top, Introduction, (dir), (dir)
@top DVDwizard
Creating a DVD with Chapters and Menu without User Interaction.
@end ifnottex

@menu
* Introduction::                The Idea of Using DVDwizard
* Installation::                
* Handling::                    
* How it works::                
* Index::                       
* Author Index::                
@end menu
@c %**end of Top Node and Master Menu

@c %**start of Introduction
@node Introduction, Installation, Top, Top
@comment  node-name,  next,  previous,  up
@unnumbered Introduction

DVDwizard is a wrapper-script which incorporates a fully automated creation 
of a DVD-structure with Chapters and menus from one or more mpeg-streams. 
This is done by several "sub-scripts" and various freely available tools. 
Needless to say, that DVDwizard is distributed under the GPL as well.

@menu
* The Idea::                    
* Changes::                     
* Authors::                     
* Feedback::                    
@end menu

@node The Idea, Changes, Introduction, Introduction
@comment  node-name,  next,  previous,  up
@section The Idea

Just issue: 
@example
#> dvdwizard my_movie.mpg
@end example
and go grab yourself a beer, have lunch oder whatever you like to do for
about half an hour (depending on your machine's speed - for me it's 30
minutes on an Athlon 1.4 GHz, 512 MB).

Come back, issue: 
@example
#> xine dvd://$PWD/dvd/
@end example
and watch your DVD or burn it and take it to your stand-anlone DVD
player.

You'll need the programs and tools listed in @file{TOOLS} to make this
work. Just install the neccessary RPMs or DEBs or compile them from
source. DVDwizard checks each tool at runtime and won't get far if some
are missing.

The mentioned version numbers are the ones running on my box, so these 
should be working. I don't know about any other versions, so you'll have 
to try.

@node Changes, Authors, The Idea, Introduction
@comment  node-name,  next,  previous,  up
@section Changes since the Initial Version

@itemize
@item 
  With version 0.4 it is possible to author multiple titlesets at once,
  PAL or NTSC is supported. If the movie has more than one audio stream,
  an audio selection menu will be shown, languages of audio tracks are
  now freely customizable.

  Also, a configuration file has been introduced.
@item
  The version 0.5 almost completely reworked menu layouts, offered better 
  support for ImageMagick > 6.0 (indeed >6.0 is neccessary now) and intro-
  duced Subtitle menus and the possibility to display Info-Panels with 
  short descriptions of the movies. 

  The use of a config file is now mandatory.
@item
  With version 0.5.3 seperate font config come for buttons. 
  And the menu titles of the main menu comes now without numbering. Please
  do it by youself.
@item
  With major version 0.6 DVDwizard can be installed by @command{make}.
  And now there are some manpages for better and easier information.
@item
  With major version 0.7 DVDwizard support i18n for output messages,
  every DVDwizard tool supports option @option{--help} and
  @option{--version}, the common functions are not longer read from
  dvdwizardrc at dvdwizard's data dir but simply from dvdwizard_common,
  that is located via  @env{PATH}.  DVDwizard has support for audio for
  vizually impaired now.  There's a new tool dvdwizard_test to
  test the DVDwizard installation.

  Last but not least this docu has been started.
@end itemize

See the complete list of changes in @file{CHANGELOG} file.

Things to come may be found in the @file{TODO} file.

@node Authors, Feedback, Changes, Introduction
@comment  node-name,  next,  previous,  up
@section Authors and Contributions

There where several people who helped in making dvdwizard better:
@table @abbr
@item Stefan Becker 
@auindex Becker, Stefan
@itemx maintainer of lxdvdrip
@itemize
@item
  Parms for subtitle language und Widescreen option.
@item
  Support for dts and pcm audio tracks.
@item
  Hint for specifiyng video characteristics.
@end itemize
@item Jean-Luc Damnet
@auindex Damnet, Jean-Luc
  french translation of the menu text items. Merci!
@item Ralph Glasstaetter
@auindex Glasstaetter, Ralph
  Huge efforts around fonts&colors, intro movie, custom audio track and 
  lots of other ideas.
@item Rick Harris
@auindex Harris, Rick
  Reducing flickering of menus on TV screen by adding a little motion 
  blur to the background images.
@item Markus Kohm
@auindex Kohm, Markus
  Major changes for version 0.7.
@item Danilo Marques
@auindex Marques, Danilo
  The portuguese (south-american) translation of the menu text items. 
  Obrigado!
@item Joo Martin
@auindex Martin, Joo
  Maintainance and development of dvdwizard since version 0.54.
@item Roberto Neri
  The italian translation of the menu text items. Grazie!
@item Jan Panteltje
@auindex Panteltje, Jan
@itemize
@item
  Discovered some system-dependent bugs.
@item
  Hints and Tips for new or better features.
@item
  Installation script.
@end itemize
@item Claus Regelmann
@auindex Regelmann, Claus
@itemize
@item
  Patch for correct audio language assignment for multi-title,
  multi-audio DVDs.
@item
  A series of patches to the 0.5 version for better handling of
  unavailable stream informations, better thumbnail placement
  and restart improvements
@end itemize
@item Detlef Reichelt
@auindex Reichelt, Detlef
  Supplying a patch to replace toolame with twolame.
@item Rodrigo Rios
@auindex Rios, Rodrigo
  The Spanish translation of the menu text items. ¡Gracias!
@item Rui Santos
@auindex Santos, Rui
  The portuguese (european) translation of the menu text items. Obrigado!
@item Henry W. Schmitt
@auindex Schmitt, Henry W.
  Released @indicateurl{http://commons.wikimedia.org/wiki/File:Clapperboard.svg}
  into the public domain.
@item Mikhail Sokolov
@auindex Sokolov, Mikhail
  The russian translation of the menu text items. Thanks!
@item Manfred Tremmel
@auindex Tremmel, Manfred
  Intense testing of the new version and
  useful hints on better support for ImageMagick 6.2.x.
@item Wolfgang Wershofen 
@auindex Werhofen, Wolfgang
  All the development work of dvdwizard since the beginning (2004)
  and the support to many users and developers using dvdwizard.
@end table
You may find an up to date list of people at @file{CONTRIB}.

@node Feedback,  , Authors, Introduction
@comment  node-name,  next,  previous,  up
@section Feedback

Wolfgang tried to test the whole package as good as possible. On his box 
(SuSE 9.3 through openSuSE 10.2, nothing special), it runs smoothly but 
he cannot give a guarantee, that it runs the same on your machine. 
Joo tested the whole package since version 0.5.2 on his Debian box.
Markus uses the whole package almost every week on his openSuSE box.

We are sure, there are some bugs in the coding. We consider this software
as @emph{beta}, so use it at your own risk.

We designed the process according to our needs when recording DVB-streams
from digital TV broadcasts or bond some videostreams to a DVD. Those 
streams are written into a large mpeg file, which we then use as input to 
DVDwizard. 

If you have other @emph{default procedures} when creating a DVD with
dvdauthor, this tools may or may not help you.

Every kind of constructive feedback is highly appretiated. Please use the
mailing list on @url{http://sourceforge.net/projects/dvdwizard/}.


@c %**end of Introduction

@c %**start of Installation
@node Installation, Handling, Introduction, Top
@comment  node-name,  next,  previous,  up
@chapter Installation

In this chapter you are told, what to do before installation of
DVDwizard, how to install it, and what to do after installation.

@menu
* Pre-Installation::            
* Installation (Makefile)::     
* Installation (install.sh)::   
* Post-Installation::           
@end menu

@node Pre-Installation, Installation (Makefile), Installation, Installation
@comment  node-name,  next,  previous,  up
@section Pre-Installation Thoughts
If you have an older version of DVDwizard running (prior to 0.6), you 
should backup and delete the existing scripts before installing the new 
ones. Be sure to avoid any kind of mixture between old and new versions 
since they are by no means compatible. Too much has changed, sorry.

You may also remove the a installed older version of DVDwizard prior to
0.7. If you still have that old distribition you may use
@example
#> make uninstall
@end example
@noindent within the root directory of a unpacked version of that old
distribution to uninstall it. Remember, that you need to be root for
installation and uninstallation, so maybe you have to use
@example
#> sudo make uninstall
@end example
@noindent instead.

@node Installation (Makefile), Installation (install.sh), Pre-Installation, Installation
@comment  node-name,  next,  previous,  up
@section Installation with Makefile
Since version 0.6 the new and best way is the installatin using the
Makefile. You need the make programm to do so. It knows the following
commands:
@table @code
@item make
@itemx make build
Create usable files in @file{./build}. This is neccessary to expand
some variables only known at installation time.
@item make check
Test if all directories and tools needed by DVDwizard are available.
@item make clean
Delete all files created at build, that are not needed to create a
distribution archive.
@item make dist
Build a tar archive with all files needed for a valid DVDwizard
distribution. You may copy that tar file to another computer, unpack it
and use @code{make install} to install it.
@item make distbz2
Like @code{make dist} but also a bzip2 compressed tar.bz2 will be made.
@item make distgz
Like @code{make dist} but also a gzip compressed tar.gz will be made.
@item make distlzma
Like @code{make dist} but also a lzma compressed tar.lzma will be made.
@item make distzip
Like @code{make dist} but also a zip archive will be made.
@item make distclean
Delete all files created at build.
@item make install
Install all DVDwizard files into the system.
@quotation Note
If environment variable @env{DESTDIR} was set, the installation
will be done relativ to this directory. Providers may use this to build
packages for the system but install them outside.
@end quotation
@item make languages
Create all i18n files.
@item make uninstall
Removes all DVDwizard files from the system.
@quotation Note
You should use the same @env{DESTDIR} setting you've used at
installation.
@end quotation
@end table

So to build and install DVDwizard into you system you'll only need:
@example
make
sudo make install
@end example

@node Installation (install.sh), Post-Installation, Installation (Makefile), Installation
@comment  node-name,  next,  previous,  up
@section Installation with @code{install.sh}
You may simply use
@example
./install.sh
@end example
@noindent to do the installation steps shown at @ref{Installation
(Makefile)}. You will be asked for root password for the installation.

@node Post-Installation,  , Installation (install.sh), Installation
@comment  node-name,  next,  previous,  up
@section Post-Installation
To check the correct installation of DVDwizard you should run
@command{dvdwizard_test} (see @ref{dvdwizard_test}). To do so, first
create a new directory, go to this directory and then call
@command{dvdwizard_text} at this new directory. This will generate a DVD
with two test movies. You may play it using xine. Just call 
@example
xine dvd://$PWD/dvd/
@end example
to do so.

After successfully installing DVDwizard, feel free to load the
config-file @file{/etc/dvdwizard.conf} or the sample config-file
@file{/usr/local/share/doc/dvdwizard/dvdwizard.conf.sample} (or similar path)
into your favourite editor and change it as needed. The sample file is well
documented. You may save the changed config-file into
@file{~/.config/dvdwizard/dvdwizard.conf} to create a private config-file.

After every change of @file{dvdwizard.conf} you may use
@command{dvdwizard_test} to test the new configuration.
@c %**end of Installation

@c %**start of Handling
@node Handling, How it works, Installation, Top
@comment  node-name,  next,  previous,  up
@chapter Handling

Using DVDwizard to create a DVD with title and chapter menu from one or
more MPEG-streams is very easy.  The most simple example for a ohne
title DVD would be
@example
dvdwizard -t foo.mpg
@end example
@noindent where @file{foo.mpg} is the MPEG file of the movie. The movie will be
titled ``Foo''. See the documentation of @command{dvdtguess} at
@ref{dvdtguess} for more information about generation of title from file
name.

But DVDwizard has a large number of options to change its behaviour. See
@ref{dvdwizard} for more information about those. If you want to know
how dvdwizard works, you should read @ref{How it works}.

The following sections will tell you more about the single scripts, used
by DVDwizard. The most important one is @command{dvdwizard}.

@menu
* dvdwizard::                   
* chaptercheck::                
* dvdcpics::                    
* dvdtguess::                   
* dvdwizard_test::              
* mk_vmgm::                     
* mk_vtsm::                     
* mk_vtsm_info::                
* mk_vtsm_lang::                
* mpgprobe::                    
* txt2png::                     
* dvdwizard_common::            
* General Options::             
@end menu

@node dvdwizard, chaptercheck, Handling, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{dvdwizard}
@pindex dvdwizard

@emph{Until we'll find the time to put some text here, just try
@command{dvdwizard --help} or @command{man dvdwizard}.}

@node chaptercheck, dvdcpics, dvdwizard, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{chaptercheck}
@pindex chaptercheck
@command{chaptercheck} tests if a given chapter specification is valid
and generates a dvdauthor compatible one. It is invoked as:
@example
chaptercheck @var{option}... @var{chapterspec}
@end example
@var{chapterspec} is a chapter specification. This may be either 0 or an
@var{interval} or a comma separated list of @var{timecode}s or a
@var{filename}. 

The @var{interval} is just a numeric value in
seconds. @command{chaptercheck} will then create a comma separated list
of @var{timecode}s starting from 0 until the end of duration
@pxref{Option -L}, each @var{timecode} @var{interval} seconds later than
the previous one.

A @var{timecode} is given in
[[@var{hours}:]@var{minutes}:]@var{seconds}[.@var{fraction}]. You may
omit @var{hours} and @var{minutes} or @var{hours} only and you may
omit @var{fraction}. Note, that each @var{timecode} has to be a multiple
of the frame duration, e.g. 40@,ms generating a PAL-DVD.

If a @var{filename} was given, the file should store the
@var{timecode}s.

@command{chaptercheck} understands the general option @ref{Option
-h,,@option{-h} or @option{--help}}, @ref{Option -v,,@option{-v} or
@option{--version}} and @ref{Option -C,,@option{-C} or
@option{--config-file}} and some individual options.

@menu
* General Options::
* Individual Options of chaptercheck::  
@end menu

@node Individual Options of chaptercheck,  , chaptercheck, chaptercheck
@unnumberedsubsec Individual Options of @command{chaptercheck}

@table @option
@item @anchor{Option -L}-L @var{seconds}
@itemx --maxlen @var{seconds}
Specifies the maximum length of the movie in seconds. No chapter time
code may be behind this value. Defaults to 14400 seconds = 240 minutes =
4 hours. 
@quotation Note
DVDwizard calculates the duration of a movie usind @command{ffmpeg -i}
and specifies the calculated duration using this option while calling
@command{chaptercheck}.
@end quotation
@end table

@node dvdcpics, dvdtguess, chaptercheck, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{dvdcpics}
@pindex dvdcpics
@command{dvdcpics} extracts screenshots from DVD chapters as input
for mk_vtsm (menu creation).

@node dvdtguess, dvdwizard_test, dvdcpics, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{dvdtguess}
@pindex dvdtguess
@command{dvdtguess} is a simple script to determine the video title
from the MPEG filename. It add blanks before upper-case characters,
convert underlines to blanks and remove the suffix.

@node dvdwizard_test, mk_vmgm, dvdtguess, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{dvdwizard_test}
@pindex dvdwizard_test
@command{dvdwizard_test} is a script to test the installation of
dvdwizard and the required tools.  You should call it in a new, empty
directory.  It will generate two movies and two background pictures at
the current working directory and call dvdwizard to generate the dvd
structure at sub-directory @file{dvd}.

To do so, it needs the file @file{Clapperboard.svg}.  This file will be
searched at the dvdwizard directory.  You may also set environment
variable @env{CLAPPERBOARD} to the path and name of that file at
DVDwizard's configuration file.  

All options but @ref{Option
-h,,@option{-h} or @option{--help}} and @ref{Option -v,,@option{-v} or
@option{--version}} will be passed to
dvdwizard before the first title option. Option @ref{Option -C,,@option{-C} or
@option{--config-file}} will be recognized but also passed to dvdwizard.

@node mk_vmgm, mk_vtsm, dvdwizard_test, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{mk_vmgm}
@pindex mk_vmgm
@emph{Until we'll find the time to put some text here, just try
@command{mk_vmgm --help} or @command{man mk_vmgm}.}

@node mk_vtsm, mk_vtsm_info, mk_vmgm, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{mk_vtsm}
@pindex mk_vtsm
@emph{Until we'll find the time to put some text here, just try
@command{mk_vtsm --help} or @command{mk_vtsm}.}

@node mk_vtsm_info, mk_vtsm_lang, mk_vtsm, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{mk_vtsm_info}
@pindex mk_vtsm_info
@emph{Until we'll find the time to put some text here, just try
@command{mk_vtsm_info --help}.}

@node mk_vtsm_lang, mpgprobe, mk_vtsm_info, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{mk_vtsm_lang}
@pindex mk_vtsm_lang
@emph{Until we'll find the time to put some text here, just try
@command{mk_vtsm_lang --help}.}

@node mpgprobe, txt2png, mk_vtsm_lang, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{mpgprobe}
@pindex mpgprobe
@emph{Until we'll find the time to put some text here, just try
@command{mpgprobe --help}.}

@node txt2png, dvdwizard_common, mpgprobe, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{txt2png}
@pindex txt2png
@emph{Until we'll find the time to put some text here, just try
@command{txt2png --help}.}

@node dvdwizard_common, General Options, txt2png, Handling
@comment  node-name,  next,  previous,  up
@section The script @command{dvdwizard_common}
This is a sub-script with common functions for DVDwizard.  It will be
loaded by every DVDwizard script.

@node General Options,  , dvdwizard_common, Handling
@section General Options

All the programs of DVDwizard understand options. Some options will be
understood by every program, some are individual. The general options are:

@table @option
@item @anchor{Option -C}-C @var{filename}
@itemx --config-file @var{filename}
Use @var{filename} instead of the default DVDwizard configuration
file. The first default is @file{~/.config/dvdwizard/dvdwizard.conf}.
The second default is the file @file{dvdwizard.conf} at the configuration
directory, usually @file{/etc/dvdwizard.conf}.
@item @anchor{Option -N}-N PAL|NTSC
@itemx --tvnorm PAL|NTSC
Choose either TV norm PAL or NTSC. Default is @code{PAL}.
@item @anchor{Option -h}-h
@itemx --help
If any argument of the program is either @option{-h} or @option{--help}
the program will show only some help information and terminate.
@item @anchor{Option -v}-v
@itemx --version
If any argument of the program is either @option{-v} or
@option{--version} the program will show only some version information
and terminate.
@end table

@c %**end of Handling

@c %**start of How it works
@node How it works, Index, Handling, Top
@comment  node-name,  next,  previous,  up
@chapter How it works

DVDwizard takes the MPEG-streams specified on the command line and create
a DVD structure in a directory. This directory can be burned on a DVD and 
should run on a stand-alone DVD-player. 

@menu
* Generating::                  
* Created objects::             
* Restrictions::                
@end menu

@node Generating, Created objects, How it works, How it works
@comment  node-name,  next,  previous,  up
@section Generating a DVD Structure
The following steps will be done to accomplish the task of generating a
DVD structure:

@enumerate
@item @anchor{it:Chaptershots}
Create Chapter-Screenshots for the Chapter-Selection Menu

To create a nice and graphical Chapter-Selection menu (@pxref{it:VTSM, ,
step 3}), a frame from the beginning of every chapter is captured, which
will be converted to a thumbnail and shown as a button for the menu. To
produce this screenshots, DVDwizard creates a temporary DVD-structure,
which will not yet have any menus but will have chapters. The definition
of the chapter-timecodes may either generated by DVDwizard (Default: a
chapter every 5 minutes) or specified manually on the commandline
(@samp{dvdwizard -c @var{interval}|@var{string}|@var{file}}).

Here are the three possibilities:
   @enumerate a
   @item
   Specify a fix @var{interval} in seconds, e.g. a chapter every 10 minutes: 
   @example
 #> dvdwizard -c 600
   @end example
   @item
   Specify a @var{string} with the desired timecodes in the same format,
   dvdauthor expects them: [@var{h}:][@var{mm}:]@var{ss}[.@var{frac}],
   where @var{frac} are ms, to make frame accurate specifications. This
   frac must be a multiple of 40 (1 Frame = 40 ms for PAL), e.g. 
   @example
 #> dvdwizard -c 39.400,5:12.640,1:10:42.080 
   @end example
   starts a chapter at 39 seconds and 10 frames, 5 minutes, 12 seconds 
   and 16 frames and the last at 1 hour, 10 minutes, 42 seconds and 2 
   frames. dvdauthor may not be frame accurate, if the specified frame
   is not an I-Frame. In this case, dvdauthor puts the chapter boundary
   on the most recent I-frame before the specified timecode.
   @item
   Specify a text @var{file} containing the timecodes as described unter b. 
   this way, you may note down your chapter breakpoints in a file and 
   pass it to DVDwizard.
   @end enumerate

Chapter specification will be syntax-checked, because dvdauthor simply
ignores misfigured timecodes and you end up with less chapters than
specified. Will be noticed too late in most cases. @verb{!:-|!}

The temporary DVD-structure, which will be build with these chapters, 
is used for speeding up the process. With this DVD, transcode can 
extract the frames in DVD-chapter-mode, which is much faster than 
seeking through the whole mpeg-stream for the desired frames. 

On my box (Athlon 1.4 GHz), transcode seeks with about 35 to 40 fps. 
With this rate, it would take approx. 90 minutes to get through a 2 
hour movie. In chapter-mode, transcode doesn't need more than 5 minutes
for the same task, so the 10 minutes to create the DVD structure are a 
good investment.

To extract the best possible screenshot from the beginning of each 
chapter, 10 frames out of the first 200 frames of the chapter as 
transcoded to jpegs. The frame with the largest filesize is selected as 
the chapter-screenshot. This is done to avoid having black screenshots
if a chapter starts with a fade-in. the larger the jpeg is, the more 
different colors and forms must be in the frame. Works perfect in my 
opinion.

@item @anchor{it:VMGM}
Create the DVD-Main-Menu (VMGM, Title-Menu)

This menu normally shows the Titel of the DVD and lets you choose some 
options like running the movie from start or go to the movies selection 
menus.

The vmgm created by DVDwizard will be just like this, but since version
0.5 of DVDwizard it holds one menu page for every titleset on the DVD. 
On each page, there will be at least to options: start the movie from 
the beginning or go to the chapter selections menu. More options may be 
available, if the movie has more menus to choose from (e.g. Audio, 
Subtitle, Info).

DVDwizard creates a background-Picture for the menu internally, however 
there is a possibility customize the looks via config file and command 
line options.

Additionally, you may specify the title of the movie with 
@example
#> dvdwizard -t @var{string}
@end example
@noindent or let DVDwizard guess the title from the filename of the first
mpeg-file. However, the result of this title-guessing may be poor
depending on the name of your files. DVDwizard replaces all underscores
to white-space and removes every uppercase words at the beginning and
all fully numeric words at the end of the filename. This is due to the
way, Wolfgang uses DVDwizard to operate the DVB-streams of his digital
Satellite Set-Top-Box.  The streamed files have names like
@file{TV_STATION_This_is_the_movie_title_20030321_201502.mpg} so he gets
rid of the TV-station name at the beginning and the timestamps at the
end. Last thing will be to add a white-sprace after every lowercase
letter immediatly followed by a uppercase letter.

@item @anchor{it:VTSM}
Create Titleset-menus (VTSM, root, ptt, audio, subtitle)

Just as the vmgm menu, also vtsm menus will be created. on the bottom of
the menu, you'll find text buttons for navigating within the menus. If
multiple pages are used for one menu, you may navigate through the pages
by pressing the left and right keys on your remote control.

The rest of the menu is used for the chapter thumbnails, with which one
can directly jump to a desired chapter. In the same manner, audio and
subtitle selection menus will be produced, if the input mpeg stream has
more than one audio and/or subtitle tracks.

@item @anchor{it:xml}
Create xml-file for dvdauthor

During the described steps before, the commands for dvdauthor are
written into an xml-file @emph{on-the-fly}, which will be used for
authoring the final DVD structure. As default, this file is named
dvdwizard.xml but you may specify a different name on the command-line:
@example
#> dvdwizard -x @var{file}
@end example

@item @anchor{it:dvd}
Create final DVD-structure

As the last step, the final DVD structure is authored with all menus, 
chapters and things into a subdirectory called @file{./dvd}, if not specified 
otherwise on the command-line:
@example
#> dvdwizard -o @var{dir}
@end example
@end enumerate

After finishing these steps, the DVD can be played directly from that 
directory, for instance with xine. 

Just issue:
@example
#> xine dvd://"`pwd`"/dvd/
@end example
@noindent in the directory you executed DVDwizard and check, whether
everything went well. If you're satisfied with the result, you can burn
this directory onto DVD.

@node Created objects, Restrictions, Generating, How it works
@comment  node-name,  next,  previous,  up
@section Created Objects
After successfully running DVDwizard, you'll find the following objects in 
your working directory (as long as no other target directories or filenames
have been specified in the config file or command line):

@noindent Directories:
@table @file
@item ./dvd
created DVD-strukture
@item ./vmgm
holds the main menu pages
@item ./vtsm
holds the titleset menus
@item ./cpics
created Chapter-Screenshots 
(each titleset has it's own subdirectory \@file{VTS@var{x}})
@end table

@noindent Files:
@table @file
@item dvdwizard.cmd   
all called scripts of DVDwizard including all parameters
@item dvdwizard.log
logfile with all programm output
@item dvdwizard.xml
XML-definition for dvdauthor
@end table

@node Restrictions,  , Created objects, How it works
@comment  node-name,  next,  previous,  up
@section Restrictions
DVDwizard tries in general not to add further restrictions beyond the  
DVD specifications, but there are a few limitations, which are caused by 
DVDwizard and have nothing to do with the functionallity of e.g. dvdauthor 
or the DVD specs. These are the points:
@itemize
@item
max. 9 titlesets per DVD (according to DVD-specs 
up to 99 titlesets possible)
@item
only 1 title within a titleset (according to  
DVD-specs up to 99 titles per titleset)
@item
no multi-angle DVDs
@end itemize

All these restrictions are in place due to the graphical presentation 
and/or the missing Know-How or interests of the author. There are no 
plans to get rid of these limitations in future releases.

@c %**end of How it works

@c %**start of Document End Section
@node Index,  , How it works, Top
@comment  node-name,  next,  previous,  up
@unnumbered Index

@menu
* Author Index::                
* Programm Index::              
@end menu
@c @printindex cp

@node Author Index, Programm Index, Index, Index
@comment  node-name,  next,  previous,  up
@unnumberedsec Author Index

@printindex au

@node Programm Index,  , Author Index, Index
@comment  node-name,  next,  previous,  up
@unnumberedsec Programm Index

@printindex pg

@c %**end of Document End Section

@bye
