WebDVD ====== WebDVD is intended to provide a simple way of producing DVDs with attractive and usable menus. It converts HTML pages into DVD menus by rendering them in Mozilla and reproducing their link structure. This allows you to design DVDs using familiar HTML editing tools or your favourite text editor. Requirements ------------ WebDVD depends on the following software: - dvdauthor - expat 1.x - Gtkmm 2.0 - mjpegtools - Mozilla 1.7.x (later versions may work but are untested) - netpbm - Xvfb (from XFree86 or X.org) To build a complete DVD image you will also need: - mkisofs You will also need a program such as ffmpeg or mencoder for producing DVD-suitable MPEG-1 or MPEG-2 video files. Usage ----- Design your DVD menus as a series of HTML pages linking to each other and to MPEG-1/2 videos that are suitable for use on a DVD. You must be careful not to link to pages that you do not want to appear on the disc, such as normal web sites. Also note the limitations listed below. Linking to video You can link directly to local MPEG video files whose names end in ".vob". If you wish to combine multiple files into a single video sequence ("title" in DVD terminology) or to add chapter marks to a video sequence, create and link to a VOB-list file (explained below) whose name ends in ".voblist". VOB-lists A VOB-list file is an XML file with the document element and containing elements as described in the dvdauthor manual page. The file names in a VOB-list file are resolved relative to the directory containing the list file. For example: This will result in a title with the following chapters: 1: main.vob 0:00- 4:55 2: main.vob 4:55-12:13 3: main.vob 12:13-17:45 4: main.vob 17:45- end 5: credits.vob Video standards By default, webdvd generates PAL/SECAM video. If you wish to produce NTSC DVDs you can override this by adding the option "--video-std ntsc" to the following commands. Preview To get a rough preview of the menus, run "webdvd --preview menu-url" where menu-url is the URL or filename of the first page to show. Currently videos cannot be displayed in this preview mode. Processing To create a DVD filesystem, run "webdvd menu-url output-dir" where menu-url is the URL or filename of the top menu page and output-dir is the directory in which to create the filesystem (which should be either nonexistent or empty). WebDVD will automatically follow links to the other pages and to the video files. If you use mjpegtools 1.6.2 or earlier you must add the option "--encoder mjpegtools-old". This is due to an incompatible change in the syntax of the ppmtoy4m command between versions 1.6.2 and 1.8. If this is successful you can then use mkisofs to create a DVD image from the output directory. Alternately you can write this directory directly to a writable DVD with growisofs or with mkisofs piped to a suitable version of cdrecord. Example ------- A live example set of menus can currently be found at . Note that this has large background images that will take some time to load. Limitations ----------- Each page must fit within the frame - DVD players do not support scrolling menus and WebDVD currently is not able to split them into multiple menus. The standard frame size for PAL and SECAM is 720x576 pixels; for NTSC it is 720x480 pixels. The exact visible area varies between TVs so the background should cover all or very nearly all the frame whereas the important content such as text must not be placed near the edge. For this reason WebDVD applies a stylesheet to all pages that adds 60 pixels of padding on all sides of the body; this doesn't apply to the background. Prior to Mozilla version 1.8, which I have not yet tested, Mozilla may signal that a page is completely loaded before any background images are loaded and displayed. This results in snapshots that do not include background images. You can work around this by using absolutely-positioned "inline" images, or attempt to build WebDVD against Mozilla 1.8. DVD players do not have "back" buttons, so you should generally provide links to "higher" menu pages. However, they do have a button for returning to the top menu. WebDVD sends a "mouseover" event for each link and sets it into its "hover" state, then records how this changes its appearance. This change is then shown when the corresponding button on the DVD menu is highlighted. WebDVD applies a stylesheet which changes the colour of text links in the "hover" state, but this has no effect on image links. You must ensure that image links are highlighted in an obvious way when the mouse pointer is over them. The DVD specifications limit each menu to having no more than 36 buttons. In any case, it is poor design to have very large numbers of buttons on a single menu. WebDVD will warn you if you use more than this number of a links on a page, and will ignore any additional ones. The DVD specification also limits the overlays that are used for highlighting of buttons to using no more than 4 colours. WebDVD will reduce link highlighting to 1 transparent and 3 opaque colours using Floyd-Steinberg dithering, which is certainly good enough for anti-aliased text but may not be so good for complex highlighting. There is a limit of 99 "titles" on a DVD. If you need to include more than this number of video sequences, you could arrange them as chapters of a title, so long as they use the same codecs, resolution, aspect ratio and sample rate. However, each chapter will run into the next. If this is a real problem, let me know, and I may be able to provide a better solution in a later version of WebDVD. Author and copyright -------------------- WebDVD was written by Ben Hutchings . Copyright 2005-2006 Ben Hutchings. This software is based in part on the work of the Independent JPEG Group. Copyright 1991-1998 Thomas G. Lane. (This applies to the file jquant2.c.)