1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
VideoLink
=========
VideoLink 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.
Prior to version 0.8, VideoLink was called WebDVD, but that name is
also used for an extended DVD format.
Requirements
------------
VideoLink depends on the following software:
- dvdauthor
- expat 1.x
- Gtkmm 2.4 or later
- either of:
- ffmpeg including mpeg2video encoding
("ffmpeg -formats" should show "DEVSDT mpeg2video" in the codecs section)
- both of:
- mjpegtools 1.8 or later
- netpbm
- Mozilla 1.8 or later, or XULRunner
- Xvfb (from XFree86 or X.org)
To build a complete DVD image you will also need:
- mkisofs
You will also need a program 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
".mpeg", ".mpeg2", ".mpg" or ".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 <vob-list>
and containing <vob> 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:
<vob-list>
<vob file="main.vob" chapters="0:00,4:55,12:13,17:45"/>
<vob file="credits.vob"/>
</vob-list>
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
You can link to the start of a chapter by adding "#" and the chapter
number after the VOB-list's file name. For example:
<a href="movie.voblist#1">Chapter 1</a><br>
<a href="movie.voblist#2">Chapter 2</a><br>
<a href="movie.voblist#3">Chapter 3</a><br>
<a href="movie.voblist#4">Chapter 4</a>
Video standards
The encoding of analogue TV and video signals varies in many different
ways between countries. Happily there are only two parameters that
matter for standard-definition digital video, and two different pairs
of values. You can choose between these with the --video-std option:
Analogue parameters | Region of world | --video-std | Frame
| | argument | size
----------------------+------------------------------+-------------+--------
59.94 fields/second, | Americas except Argentina, | 525 | 720x576
interlaced; | Paraguay, Uruguay; | or 525/60 |
525 lines/frame | Japan; Laos; Myanmar; | or NTSC |
(commonly called | Philippines; South Korea; | or ntsc |
NTSC) | Taiwan; some Pacific islands | |
----------------------+------------------------------+-------------+--------
50 fields/second, | Rest of world | 625 | 720x480
interlaced; | | or 625/50 |
625 lines/frame | | or PAL |
(commonly called PAL) | | or pal |
The default is to use "PAL" parameters.
Preview
To get a rough preview of the menus, run "videolink --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.
Press T to go to the "top" (main) menu or Q to quit.
Processing
To create a DVD filesystem, run "videolink 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). VideoLink will automatically follow links
to the other pages and to the video files.
By default, VideoLink now calls ffmpeg to generate MPEG-2 streams for
menus. If you want it to use mjpegtools as it previously did, you
must add the option "--encoder mjpegtools".
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
<http://womble.decadent.org.uk/software/debconf5-dvd/menus/main.html>.
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 VideoLink currently is not able to split them into
multiple menus. The frame size is dictated by the video standard; see
above. 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 VideoLink applies a stylesheet to all pages that adds padding
equal to 10% of the frame dimension on each side of the body; this
doesn't apply to the background.
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.
VideoLink 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. VideoLink 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. VideoLink 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. VideoLink 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 VideoLink.
Currently VideoLink code can generate up to 999 menus but it may be
possible for me to raise this internal limit if you want more. There
appears to be an absolute limit of 12800 menus on a DVD.
Bugs
----
VideoLink should set the assumed screen resolution to 40 dpi, which I
reckon to be the average resolution of a standard definition TV
display. This would mean that text with a font size expressed in
millimetres or points will appear around the specified size.
Earlier versions of VideoLink did this when built to use Mozilla 1.7.
Unfortunately the resolution setting in Mozilla 1.8 actually affects
measurements in pixels and not measurements in millimetres or points!
The assumed screen resolution is always 96 dpi.
Please specify measurements such as font sizes in pixels because
measurements in millimetres or points are liable to change if and when
I can override the assumed screen resolution again.
Author and copyright
--------------------
VideoLink was written by Ben Hutchings <ben@decadent.org.uk>.
Copyright 2005-2008 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.)
|