Automated DVD Menu Authoring with Pdflatex
Total Page:16
File Type:pdf, Size:1020Kb
Automated DVD menu authoring with pdfLATEX Péter Szabó Budapest University of Technology and Economics, Dept. of Computer Science and Information Theory, H-1117 Hungary, Budapest, Magyar tudósok körútja 2. pts (at) cs dot bme dot hu http://www.inf.bme.hu/~pts/ Abstract dvdauthor is an excellent low-level free tool for video DVD authoring on Unix systems. However, it doesn’t provide a convenient way for drawing the menu background and buttons. We present dvdmenuauthor, a collection of scripts for automated DVD authoring with menus. dvdmenuauthor uses pdfLATEX macros for menu composition, Xpdf for menu rendering, and dvdauthor for DVD filesystem authoring. 1 Background Popular reasons for adding menus to a DVD: DVD-Video [8] is today’s most popular home enter- • DVD menus are a good quality addon for Holly- tainment video format. Video shops and video rental wood-style movies. Both the visual appearance services used to provide films on VHS cassettes in the and the sound of the menu is in theme with the 1990s, but now they offer DVD discs almost exclu- movie, and the first minute spent on navigating sively. DVD not only provides cheaper reproduction the menu (mostly in order to select the audio costs, better video and audio quality than VHS, and stream and subtitles) is now part of the fun the multiple camera angles, audio tracks and subtitles, spectator experiences. but it also has an advanced, programmable (but op- • If the DVD contains a lot of material (up to 8 tional) navigation facility called DVD menus (or DVD hours are feasible using double-layer discs and extras). lossy compression), spectators expect an order The remote control of a DVD player device has in which they can easily find the title they are several menu buttons (such as menu, top menu, au- looking for. Menus with thumbnail images and dio, subtitle and angle), which, when pressed, sus- title captions make navigation easier. It is also pend playback and jump to a menu. A menu is a possible to have multiple menus that point to single-page interactive part of the DVD, designed the same set of titles, but in different logical and programmed by the DVD creator. It can be order. Usually 2 × 2 or 3 × 2 thumbnails are animated (possibly in a loop), and it can have audio displayed in a single menu, and such menus as well. A menu has several on-screen buttons, one are linked together using buttons. Most DVD of them being highlighted. The arrow buttons (up, authoring software provide an automated wizard right, down and left) on the remote control can be for generating thumbnailed menus of this kind. used move the highlight, or, when the DVD is played • DVD menus make it possible to present an in- on a computer, the highlight is moved to the button teractive show to the spectators, in which they under the mouse. The enter button can be used can choose among 2 or 3 endings of the movie, to execute the action associated to the highlighted or they can even choose in the middle how the on-screen button. Possible actions: story should advance. Of course, movie creators • resume or start playback at a specific location; must record all possible storylines, which is a lot of extra work, and the capacity of the DVD disk • jump to another menu (possibly with a specific also limits the available choices. However, it can button pre-highlighted); be feasible to give the spectator 3 choice points • change a playback-related variable (such as au- and thus have 2 · 2 · 2 = 8 storylines altogether dio stream, subtitle language and angle); in a 1-hour long movie. • change an auxiliary variable (to be used later) — • It is also possible to offer a trivia game (playable integer arithmetic operators are available; by the spectator) in DVD format. For example, • execute a conditional block (if–then–else). the famous Who wants to be a millionaire TV 166 TUGboat, Volume 29, No. 1 — XVII European TEX Conference, 2007 Automated DVD menu authoring with pdfLATEX game has a DVD version [16], in which the next so a multi-gigabyte temporary ISO image file question is chosen randomly from about 1000 doesn’t have to be created. pre-recorded questions. Even the three lifelines are present. All these are programmed as a set 2 Motivation of DVD menus. This article focuses on DVD menu authoring, i.e. The process of designing and creating a DVD-Video adding menus and integrating DVD-Video compo- disc is called DVD authoring. It consists of these nents. It presents a solution based on the combina- steps: tion of dvdauthor XML integration and LATEX type- 1. DVD stream authoring: The video, audio and setting. The reasons why such a solution can be subtitle streams are created, imported and mul- useful: tiplexed together to DVD-compatible MPEG-2 • Our solution uses only free software and runs program stream files. The DVD standard im- on Unix systems. We have tried several tools poses quite a lot of restrictions on the file format, [3, 14, 7, 11], but we haven’t found such a tool the video resolution, the frame rate, the video for Unix which is user-friendly, well-integrated codec, the audio codec and the audio sample (doesn’t need a specific version of several dozen rate. However, there are tools (such as the free other software packages to work), reliable (no DeVeDe [2]) which can convert any stream to random crashes) and ready for production use a DVD-compatible stream. Most video edit- (no major bugs and annoyances, no memory ing tools have DVD-compatible export filters. leaks). We decided to develop our own software, For simple MPEG video editing, we recommend which is practical and usable for menu-based MPEG Video Wizard [17], which is not only ef- DVD authoring. ficient to use, but it also runs quickly enough • Most popular video editing programs provide even in virtualised environments. only a wizard, which streamlines creating simple 2. DVD menu authoring: The menu background menus (such as thumbnail buttons for each title), images (or animations), buttons and captions and doesn’t let the user specify the exact menu are designed, menus and titles (i.e. streams au- structure. thored in the previous steps) are combined using programmed actions. This step is the integra- • A template-based, non-WYSIWYG solution is tion part of the DVD authoring process, because useful for repetitive, automated menu genera- the way individual background images, thumb- tion, such as generating a navigable DVD slide- nails, captions and stream files are combined show from a set of images, or generating several together is specified in this step. If dvdauthor DVDs (with different video content) using one [3] is used in the next step, the details of the in- menu theme. tegration are specified in its XML project input • LATEX provides a separation of text and design file. that is versatile enough for several designs to 3. DVD filesystem creation: The various stream be tried (and possibly customised) for the same files and declarations are combined to a DVD- menu structure. Most WYSIWYG DVD menu Video filesystem (with the VIDEO_TS folder). creation tools let the user manipulate the de- This is a completely automatic process (and sign of one object a time. Most of them don’t takes about 5 minutes on modern PCs for a support requests like “let’s see the same design single-layer full DVD). On Linux, dvdauthor with 10% larger buttons”, and even those that [3] is the only well-known free tool that can do support it, won’t be able to adjust the spac- the job; other programs are usually easy-to-use ing properly around the resized buttons. With frontends to dvdauthor. LATEX, however, those kinds of changes can be 4. DVD image creation: An ISO image file is cre- easily done with glue nodes and a little macro ated automatically from the DVD filesystem. On programming. Linux systems, it is usually done with mkisofs • TEX can typeset textual labels of high quality. [13], with the -dvd-video option. Most DVD authoring programs have very lim- 5. DVD disc burning: The ISO image file is au- ited typographic capabilities, for example they tomatically burnt to a DVD disc. On Linux don’t support manual line breaking, line justi- systems, growisofs [10] is a convenient command- fication, automatic line breaking, pair kerning line tool to do the job. It can also combine this and accented characters are not available. Using step with the previous one (DVD image creation), LATEX we get all these features. TUGboat, Volume 29, No. 1 — XVII European TEX Conference, 2007 167 Péter Szabó 3 Design decisions 4 The manual way of authoring DVDs It was our intention to use existing software if possi- This section gives an introduction to DVD-Video ble, and add or change things where existing software concepts, and it also presents the pure, manual way is not powerful enough. We have found that dvd- of DVD menu authoring using dvdauthor. The way author’s XML project file provides an efficient and presented here is similar to typesetting documents precise way for DVD menu authoring — except for with TEX: there are a bunch of input files, most drawing the menus (and converting them to a for- of them being plain text files written by humans, mat that dvdauthor understands). Thus we decided and there are some non-WYSIWYG tools, which can to supplement the XML project file with drawing be applied to the input files in the correct order to operations, and write some scripts that extract the produce the desired output.