Copyright (C) 2000-2012 |
Manpages DVDAUTHORSection: DVDAuthor Man Pages (1)Updated: 01 February 2005 Index Return to Main Contents NAMEdvdauthor - assembles multiple mpeg program streams into a suitable DVD filesystemSYNOPSISdvdauthor [ -o output-dir] -x xml-config-file
dvdauthor [ -o output-dir] [ [ -j] [ --jumppad] ] [ [ -T] [ --toc] ] [ menu or title options] DVD BACKGROUNDAt a high level, a DVD is a collection of menus and titles. Conceptually, a menu contains buttons which can be assigned actions and provides a list of choices to the end user, while a title contains the main content of the DVD. However, in reality many of the features available in menus (including buttons, pausing, and looping) are also available in titles. The menus and titles are divided into titlesets and the VMGM menu set. A titleset can contain a number of menus and titles which are meant to act together. The "menu", "audio", "subtitle", and "angle" buttons on the DVD player's remote control will all access menus in the same titleset as the title which is being played. All the titles and menus of a given titleset have the same video, audio, and subtitle settings (the definitions for the menus are independent from the definitions for the titles), so if you want to have different settings (for example widescreen vs standard aspect ratios), then you need separate titlesets. Titlesets are not meant to jump to one another, so the VMGM menu domain is used. It is a collection of menus (no titles) that can access the menus and titles of all the titlesets. One of the most frusterating things when deciding how to author a DVD is that there are often many ways to accomplish the same task. For example, you must decide whether to locate menus at the VMGM level or the titleset level. A typical setup is to locate the high level menus at the VMGM level, and the low level configuration menus (scene / audio / subtitle selection) at the titleset. If there are DVD extras, perhaps with a lower quality audio track and a 4:3 aspect ratio, then they would be in a separate titleset with a menu to select among the extras located at the titleset level. DVDAUTHOR DESCRIPTIONdvdauthor works in discrete operations. It authors each titleset one at a time, and then finally authors the VMGM to complete the disc. At that point the contents can be written out to a DVD. If you are controlling dvdauthor with command line arguments, then each step will occur independently; however if you are using the XML configuration file, then you have the option of combing some or all the steps into one. The VOBs passed to dvdauthor must have DVD NAV (VOBU) packets multiplexed in at the correct locations. Many tools can do this, including mplex from mjpegtools 1.6.0 or later. dvdauthor will then fill these packets in with the correct data. Special care has been taken to ensure dvdauthor is fifo compliant; that is every source VOB can be the output of another program (such as mplex). This can make execution faster on many systems by avoiding extra filesystem accesses. COMMAND LINE DESCRIPTION
XML DESCRIPTIONHere is the basic structure of the configuration file:
<dvdauthor [dest="output-dir"] [jumppad="1|on|yes"] > <vmgm> <menus [lang="language-code"] > <video [format="ntsc|pal"] [aspect="4:3|16:9"] [resolution="XxY"] [caption="field1|field2"] [widescreen="nopanscan|noletterbox"] /> <audio [format="mp2|ac3|dts|pcm"] [channels="numchannels"] [quant="16bps|20bps|24bps|drc"] [dolby="surround"] [samplerate="48khz|96khz"] [lang="language"] /> [<audio ... />] <subpicture lang="language" /> <pgc [entry="title"] [palette="yuvfile|rgbfile"] [pause="seconds|inf"]> <pre> commands; </pre> <vob file="file.mpg" [chapters="chapter-list"] [pause="seconds|inf"] /> [<vob ... />] <button [name="buttonname"]> commands; </button> [<button ... />] <post> commands; </post> </pgc> [<pgc ... />] </menus> </vmgm> <titleset> <menus> [<video ... />] [<audio ... />] <pgc [entry="root|subtitle|audio|angle|ptt"] [palette="yuvfile|rgbfile"] [pause="seconds|inf"]> [...] </pgc> [<pgc ... />] </menus> <titles> [<video ... />] [<audio ... />] <pgc [palette="yuvfile|rgbfile"] [pause="seconds|inf"]> [...] </pgc> [<pgc ... />] </titles> </titleset> [<titleset ... />] </dvdauthor> A breakdown of the config file:
LANGUAGE DESCRIPTIONThe language is quite simple and roughly looks like C.
VARIABLESThe DVD virtual machine processes 16 bit values. It supports up to 16 general purpose registers; however dvdauthor reserves 3 for internal use. Thus register 0-12 are avaialable for use and are referred to as g0 through g12. There are also 24 system registers, which can be referred to as s0 through s23. Not all of these can be set. Many of these have pseodonyms. audio (s1, rw) Denotes the audio channel, ranging from 0-7. subtitle (s2, rw) The subtitle track, ranging from 0-31. If you want the subtitle to always be displayed, then you should add 64 (i.e. choose 64-95). Simply selecting the track (0-31) means that only the forced subtitles will be displayed, whereas enabling the track (64-95) means that all the subtitles will be displayed. This allows you to have forced subtitles only for the parts of the movie where the actors are speaking a foreign (to the viewer) language, but still have normal subtitles for the hearing impaired. The hearing impaired viewers would enable the track (64-95) while the other viewers would just select the track (0-31) they would be able to share the track. angle (s3, rw) Selects the angle (currently untested). button (s8, rw) Denotes the currently highlighted button. Note that the value is multiplied by 1024, so the first button is 1024, the second is 2048, etc. EXPRESSIONSExpressions follow typical C syntax except that booleans are not convertible to integers and vice versa. Operators and comparisons are: ==, !=, >=, >, <=, <, &&, ||, !, eq, ne, ge, gt, le, lt, and, or, xor, not, +, -, *, /, %, &, |, ^ Since the code is encapsulated in XML, the parser will catch any unescaped < characters, thus alphabetic mnemonics have been provided for all comparison operators for consistency. BLOCKSBlocks are either a single statement (terminated by a semicolon), or a group of statements wrapped in curly braces. For example:
STATEMENTSThe statements supported are fairly simple at the moment.
Index
This document was created by man2html, using the manual pages. Time: 15:26:24 GMT, April 25, 2024 |