DVDAuthorGUI readme/documentation
updated 6/2/2005
DVDAuthorGui is a simple frontend the the dvdauthor project, and uses:
- dvdauthor, spumux (dvdauthor 0.6.12)
- mplex, jpeg2yuv, mpeg2enc (mjpegtools 1.6.2)
- gm (GraphicsMagick 1.0.4)
- mkisofs (mkisofs 2.01a20-cdrtools)
Features of DVDAuthorGUI include:
- multiple titles (pgcs)
- multiple titleset menus (still and motion)
- m2v still creation
- chapters
- subtitles
- multiple audio streams
- basic navigation commands
- iso creation
Table of Contents:
Starting off
DVDAuthorGUI is a tool for creating a working DVD fileset from previously encoded mpeg streams. To start the gui, simply run DVDAuthorGUI.exe. If the gui fails to open, refer to the troubleshooting section. Be sure to set the DVD format (NTSC or PAL). This will set a flag in the registry, and will remember this setting the next time the user opens the program.
As the user add titles and menus to the project, the statistics box will keep track of how large (appx) the dvd will be. It will turn red when the total filesizes exceeds 4.38 gig (the typical size of a dvdr).
Adding Titles
New titles (or pgcs as they are sometimes referred to) can be added by clicking the add title button on the left-hand side of the main screen. DVDAuthorgui can accept new titles 2 different ways: either from elementry streams (video and audio are separate files), or from already authored VOB files (video and audio already multiplexed, with blank NAV packet muxed in). It is recommended that titles are added by the elementry streams, since this can give the user more options (like adding extra audio streams and subtitles).
If the user chooses to load an elementry video stream (m2v, m1v, and mpv are accepted), it will then prompt for an audio stream. Accepted formats are .mp2 (mpeg1 layer2) and .ac3 (dolby digital 2.0, 5.1, etc).
Up to 99 titles total can be added. These titles should be the same resolution and framerate in order to keep the dvd compliant. DVDAuthorgui will not warn the user of this. It's not a good idea to mix different resolutions, but more than likely, the dvd will play fine. On a technical note, all pgcs under a titleset must be the same resolution, but the header for the mpeg stream is still written in the VOB, so the player should change the resolution when it reaches that pgc. It is possible to add new titlesets by editing the XML directly. Learn more about that process here.
A title can be removed by highlighting the title, and clicking remove title. The order of the titles can also be re-organized by moving the up arrow and down arrow to the right of the title list.
Adding Chapters
Chapter points separate the titles further, allowing the user to "skip" or "jump" to specific points on the dvd. Chapters can be added to a title by first selecting the title, and then clicking chapters. This will bring up a window where the user can manually enter the chapter points.
Alternatively, by clicking the visual editor button, the user can now enter the chapter points by clicking add chapter while viewing the preview screen. Note, Audio will not be played during this time... only the video.
Using the visual editor may not be 100% accurate, since it is using Windows Media Player's method of reporting time. If it does not report time correctly, this is more than likely a problem with the mpeg2 directshow filter installed on the pc. Refer to the troubleshooting section for more information.
Navigation Commands
The navigation commands editor is a way of setting the commands that occur after a title has finished playing. For example, suppose title 1 needs to loop infinitely. In that case, the post command for title 1 will be to "jump title 1", meaning once title 1 finishes playing, jump to title 1. As the user adds more titles/menus, these will populate in the dropdown box as possiblilties to jump to.
Changes in the navigation commands will be erased if one of the following situations occur:
- adding addtional titles
- removing titles
- rearranging titles
Also in the navigation commands window is the First Play command, which is the command executed when the dvd is first played. By default, this is set to "<default>", which will play the first menu. If there is no menu, then the first title will be played first. An excellent use of this would be to play an introductory clip, and then jump to the menu. (Set the navigation command to "call menu" after the title finishes playing.)
Menus
Menus allow the user to navigate through a dvd. DVDAuthorGUI offers the user up to 99 titleset menus, as well as allowing the user to use motion menus, or still menus. The creation process is really dependent on the user on how creative the dvd should be. It is important to realize that menus are nothing more than just standard mpeg streams (much like what a title is). The difference is that menus have a subpicture defined over the mpeg, which is how the buttons are defined.
DVDAuthorGUI supports both motion menus and still menus. Ideally, any type of menu should be created outside of the authoring program, and then imported into it. DVDAuthorGUI has made that process a little easier, using its "m2v still creation" function, and the "create motion menu script" function. Both of these functions are used before using the "add titleset menu" option.
Still Menus
Creating a still menu is a very simple task. First, create a jpeg (at 720x480, or 720x576) in any picture editor (Photoshop, Paintshop, MSPaint) with the desired text and graphics in the image. After creating the jpg, open DVDAuthorGUI, and goto "menus" then create m2v still. The gui will then prompt for a jpeg. After the gui verifys that the jpeg is the right resolution, it will create an m2v still of the jpeg. In version 0.986, a new option was added that allows the user to create more than just one frame. Generally speaking, NTSC dvd players will play one frame M2Vs and will freeze-frame on it. There has been reports of PAL players that are not able to do that, so this feature has been included now. Once the m2v has been created, it can then be imported into the menu editor, where the buttons will be defined. Note, some jpegs exported from photoshop could have trouble being used by jpeg2yuv. Refer to the troubleshooting section for more information.
Motion Menus
Motion Menus are a little more difficult to create then still menus. Ideally motion menus should always be created by some type of video editor (such as Premiere, Vegas Video, or a similar NLE), but with a little time and patience, it can be done with other tools, such as AVISynth. AVISynth is a script based frameserving tool, which also has many features that would be seen other video editors. DVDAuthorGUI includes a experimental function that creates an AVISynth script based on the titles loaded into the gui. This script can then be customized to the users liking, and then encoded to a m2v stream using some type of mpeg encoder. The script generator relies on the titles loaded, and the project settings, and creates a script with a motion thumbnail of the titles loaded. The button coordinates needed to use the motion menu are also included so that the user can easily line up the buttons with the thumbnails. It is highly recommended that the user have a working knowledge of AVISynth to use this technique for making motion menus. A sample menu, created with this method, can be found here. This is, of course, only one way of many methods available for creating motion menus.
Adding Menus
After the m2v for the menu has been created (either still or motion), it can then be imported into the menu editor. After clicking "add titleset menu" the gui will prompt for an m2v elementry stream. After selecting the m2v, the gui will prompt for an audio stream. The user can choose to press cancel if they do not want an audio stream, otherwise, just the approprite audio stream for the menu.
Adding Buttons
After selecting the proper elementry streams, the menu editor will then open. Click add button to add the first button. The menu editor works by allowing the user to define the area where the button "hotspot" will be located (which is located where the black bars meet). Three types of buttons are allowed in this menu editor: Underlines, rectangulars, and imported bmp images. By default, with height set to "3", an underline will be generated. By increasing the height, a rectangle will be formed over the desired area. The width of the rectangle/underline can be changed with the width control. The color of the rectangle, can be set using the highlight color and the select color. The highlight color is the color when navigating around in the menu. The select color is the color displayed when the user "selects" an object on the menu.
Move the rectangular position, using the slider bars, or by manually entering the coordinates, using the "advanced" options. (If the user had used an avisynth script from the motion menu generator, the coordinates can be found at the bottom of the script.) The thickness of the rectangle can be set using the box thickness setting.
Alternatively, the user can choose to import a bmp image as a button. This option can be found under the "advanced" options. DVDAuthorgui comes with a few sample bmp images that can be used, but they are only for demonstration purposes. Read the readme file that is in the buttons directory for more information. After importing the bmp image, click on the select image to change it if needed.
After defining what kind (and where) the button is, select the appropriate action for that button. The dropdown list will always include every title added to the project, and every chapter defined as well. It will also include all of the menus as they become available. (So the user may need to go back and edit a button later on to point to the right position.)
The loop menu option will loop a menu infinitely. This is NOT desired with only using a still menu with no audio. The result wil be very unsatisfactory. The spu begin and spu end options allow the user to custimize when the subpictures (buttons) actually begin showing. This is handy if the motion menu has a fadein effect, and it is not desirable that the button be present during this fadein, so the spu begin time would be set to start after the fadein was completed.
Tip: If you are using the bmp button funtion, be sure to enable thumbnail view in the browser window when browsing for the bmp buttons.
If there are problems with seeing the menu overlay preview window, refer to the troubleshooting section.
Extra Audio/Subtitles
DVDAuthorGUI allows the user to be able to add additional audio streams (up to 8) and subtitle streams to the titles. To do this, select a title, then click either add additional audio track or add/edit subtitles. In the case of adding an additional audio stream, the gui will prompt for the new audio stream. The user will then see the new audio stream in the file list for that title on the main screen.
In the case of subtitles, the subtitle dialog box will appear, allowing the user to select a text based subtitle stream. The subtitle options allow the user to custimize the character-set, font size, font face, and anything else that needs to be customized. The width, height, and fps are based on what the project setttings are, so if they are incorrect, adjust them now.
The language tags can be edited by going to edit language tags. Here, the user can add tags which describe the audio/subtitle streams. It is important to remember that this controls the entire titleset. For example, if the user clicks add audio tag, and changes the language to 'french', every title's first audio stream will be marked as 'french'. The add sub tag button acts the same way.
Extra audio and subtitle controls are not fully implemented into the gui just yet (such as menus controlling the audio streams and subtitle streams played), but they can easily be customized by configuring the XML manually. Refer here.
Tools
The first option listed is JumpTable which is similar to 'jumppad', except it uses virtual machine scripting in the XML. This allows the user to jump to any menu from any title. It creates a nest of 'if' statements at the beginning of the titleset to accurately determine which menu to play. This is useful for creating transitions between menus, or to have titles return to a submenu. Once JumpTable is enabled, and menus have been created, it cannot be disabled. Likewise, if JumpTable is disabled, it cannot be enabled if the user has added menus.
Also, located under the tools menu is the 'layout' function which created an HTML page of the basic layout of the dvd.
'register .dva extension' registers the .dva extension (dvdauthorgui project files) to automatically open in dvdauthorgui.
Saving/Loading project files
DVDAuthorGUI has a feature that allows the user to save the settings created, and reopen them at any time. The project files can be opened in DVDAuthorGUI by going to "file"..."load project" or simply double clicking on the project file. (If the "open with" dialog opens, direct it to the DVDAuthorGUI.exe). The gui, when opening a project, will check to make sure that all of the files referred to in the project still exist. If they do not, the gui will cancel the loading process.
As of version 0.988, by going to 'tools' and 'register .dva extension', the project files can simply be doubleclicked on to open the project.
For those who prefer to edit the XML manually (with the XML editor), those XML changes are now saved in the project file as well.
Manually Editing the XML
DVDAuthorGUI is of course, based on DVDAUTHOR, which by default uses a XML document to define how the dvd is arranged. It would be impossible to add all of the features that DVDAUTHOR supports, so I added a simple XML editor which would allow the user to fully customize how the dvd is created. This could be anything from creating multiple titlesets, to defining whether a subtitle is on or off by default, to practically anything defined in the DVDAUTHOR documentation.
A few possible ideas for editing the xml are:
- Writing virtual machine scripts
- Controlling if subtitles are on or off by default
- Adding Titlesets
- Anything described in the dvdauthor docs
To enable this feature, goto "file".."Edit XML prior to Authoring". Now, when the user clicks the Author button, the user can select a folder to save the dvd-fileset. Then the gui will display a simple xml editor. After making the changes, click "close". The gui will ask the user if they want to save. Then, the gui will give the user the option to either continue the authoring process, or to not. Either way, the XML changes are recorded, and will stay that way, unless the user alters the project (adding/removing/editing any titles/menus will discard the changes). As mentioned in the loading/saving project section, these changes will be saved in the project file, when the user saves the project.
Authoring the Project
Clicking the Author button will begin the multiplexing/authoring process. The gui will prompt for a location to save the dvd-fileset, and then bring up a progress window where the user can monitor the process. The titlebar will give the user pertinent information on the progress, (like multiplexing title 1, creating buttons, etc). After the process is finished, the gui will allow the user to review the log file, for any warnings/errors. DVDAuthorGUI should correctly detect when there was an error, but it never hurts to review the log.
The gui also has the ability to create an iso image of the dvd-fileset. Before authoring, select the "create iso after authoring" located under "file". This will create a udf/iso of the dvd fileset.
Troubleshooting
- When I click Author, it freezes up!
It probably hasn't locked up, but just really busy. Look down at the Hard drive light on your pc. If it is lit and flickering, that means it is still working. If the process needs to be canceled, go to the task manager and locate conspawn.exe, right click, and click "end process tree".
- When I click accept in the menu editor, the program disappears.
- When ever I go into the Menu editor, the preview window doesn't ever display).
This an mpeg2 directshow filter problem. The menu editor uses the mpeg2 directshow filters used on your pc, and some filters are not working properly with the gui. As of this moment, i have only tested with the ligos mpeg2 filter, the powerdvd filter, and the gpl mpeg2 filter. Many people have reported that the intervideo filters (supplied by WinDVD) cause the GUI to exit unexpectantly. I would recommend if there is trouble with the editor, to install the demo to powerdvd or install one of the opensource mpeg2 filters here.
- After adding a title, the GUI reports. "Run-time error 430 - class does not
supported automation or does not support expected interface".
- When I start the gui, it never loads and says "Component 'XXXXXXXX' or one of its dependencies not correctly registered: a file is missing or invalid"
You probably need to install the Visual Basic activeX files (usually they are already on your pc.) If not, reinstall the GUI, and select 'full install'
- The buttons/underlines are not positioned like i specified in the editor.
Make sure you are using the correct dvd format (NTSC/PAL). This can be selected on the main window, when you first begin work on a project. If this is correct, you may have a directshow filter issue. Users with WinDVD have reported black borders on the left and right hand side of the preview window, causing the buttons to not appear in the correct locations. If this is the case, install another directshow mpeg2 filter (see above). Goto the download page, and choose one of the mpeg2 filters mentioned there.
- Jpegs exported from Photoshop do not convert to m2v stills correctly (or they are all green).
This is caused by a sampling issue. Reviewing the log, you will probably see
**ERROR: [jpeg2yuv] Unsupported sampling factors!
To resolve this, simply lower the quality of the jpeg exported from photoshop, then make the m2v still.
Comments/Credits
I would like to say special thanks to Scott Smith for creating dvdauthor. This is a wonderful app and I appreciate the time and effort you have spent in creating this invaluable tool.
Sourcecode for dvdauthor can be found at http://dvdauthor.sourceforge.net
Sourcecode for mjpegtools can be found at http://mjpeg.sourceforge.net
Sourcecode for GraphicsMagick can be found at http://www.graphicsmagick.org/
I can be contacted at: liquid_217@hotmail.com
The DVDAuthorGUI homepage http://www.videohelp.com/~liquid217/dvdauthorgui.pl