makemenu generates (S)VCD- or DVD-compliant MPEG videos for use as
navigational menus, given a list of text strings to use for title
names. You can customize the menu by providing an optional background
image or audio clip, or by using custom font and font color.
Generate a DVD-format menu, with highlighted text included
as a multiplexed subtitle stream.
Generate a VCD/SVCD menu; each menu option will have a
number associated with it. You can have up to nine menu
options per menu.
Menu background/audio options:
Use IMAGE (in most any graphic format) as a background. If image is not
the correct aspect ratio (4:3), it will be scaled and/or cropped,
depending on the -crop and -scale options. If no background is
supplied, a default background will be created.
If provided background image is not 4:3 aspect ratio, crop edges
to make it so. Image will be scaled up if it is too small. Cropping
keeps the center area of image. If you want to do cropping/scaling
yourself in another program, provide an image of 768x576 pixels.
If provided background image is not 4:3 aspect ratio, scale/stretch
it to make it fit. May cause visible distortion!
Use AUDIOFILE (in most any audio format) for background music. The
menu will play for long enough to hear the whole audio clip. If
one is not provided, 4 seconds of silence will be used.
Make the menu NUM seconds long. Useful for menus with -audio:
if you don't want the entire AUDIOFILE in the menu, then you can trim
the length of the menu with -length.
Menu text options:
-menu-title"MENU TITLE TEXT"
Add MENU TITLE TEXT as a title/header to the menu.
-fontFONTNAME (default Helvetica)
Use FONTNAME for the menu text. Run 'convert -list type' to see a
list of the fonts that you can use; choose a font name from the
leftmost column that is displayed. Or you can specify a ttf font file instead.
E.g., '-font /path/to/myfont.ttf'.
-fontsizeNUM (default 24)
Sets the size for the font to NUM pixels.
-menu-title-fontsizeNUM (default -fontsize + 8)
Sets the size of the menu title.
Sets the font decoration method to FONTDECORATION. It is used by
the 'convert' ImageMagick command to draw the menu text. You can add colored
text outlines, gradient fills, and many others. See Usage notes.
Align the text at the top left, top center, very middle, or top right
side of the screen. You may also substitute any "gravity" keyword
allowed by ImageMagick (north|south|east|west|northeast|southwest|...).
Use specified color for menu text. #RRGGBB and #RGB are
hexadecimal triplets (e.g., #FF8035). COLORNAME may be any of
several hundred named colors; run 'convert -list color' to see them.
White (#FFF) is the default color.
-buttonBUTTON (default '>')
Specify the button used for menu selection. Specify either a _single_
character or one of the shortcuts:
play -- Use a button shaped like 'Play' on many A/V electronics:
a triangle pointing to the right. (uses the font Webdings)
movie -- Use a button shaped like an old movie projector.
(uses the font Webdings)
utf8 -- Use your own non-keyboard character as a button. Provide
only the four hex digits: eg '-button utf8 00b7'. Beware that
ImageMagick's utf8 characters aren't the same as those drawn in
character browsers like gucharmap.
Use the specified color for button highlighting. Yellow (#FF0) is the
Use the specified color for button selections (when a menu item is played
or activated). Red (#F00) is the default color.
Outline buttons with the specified color. 'none' is the default.
Specify a differnt font to use for the buttons. By default, the button
font will be inherited from the title font (see -font). Use this
option to use a different font for the buttons. The button font size is
inherited from -fontsize and cannot be changed.
Print extra debugging information to the log file. Useful in
diagnosing problems if they occur. This option also leaves
the log file (with a .log extension) in the directory after
encoding finishes as well as all the temporary files created.
Do not attempt to put text inside a TV-safe viewing area. Most
television sets cut off about 10% of the image border, so the script
automatically leaves a substantial margin. This option turns that
behavior off, leaving only a tiny margin. Use at your own risk.
Overwrite any existing output menu.
Don't ask interactive questions, and assume answers that will
continue making the menu until completion.
Limit output to essential messages.
If the word "back" is given as an episode title, a "back" button for
returning to a higher-level menu will be added at the end of the list
of titles. "Back" must be the last title listed.
makemenu -ntsc -vcd -align center -textcolor white -font "Helvetica" "Episode 1" "Episode 2" "Episode 3" -out "Season-1"
Make an NTSC VCD menu with white Helvetica text containing three centered selections: Episode 1, Episode 2, and Episode 3. The finished menu will be called Season-1.mpg.
Make an NTSC DVD menu with white Kirsty text containing three lower-left aligned selections: Episode 1, Episode 2, and Episode 3. Items under the cursor will be highlighted a pale blue, and selected items will be a pale orange (before going to the selected title). The finished menu will be called Main-menu.mpg.
The wiki has many more screenshots of menus with the commands that generated them.
The argument given to -font must be one of the fonts listed
by the command 'convert -list type'. Please note that many of
your installed fonts may not be available; if you want to maximize the
number of fonts available to makemenu (#makemenu), download and run
Anthony Thyssen's (http://www.cit.gu.edu.au/~anthony/anthony.html)
script and run it like this:
imagick_type_gen.pl > ~/.magick/type.xml.
If that doesn't work, try
imagick_type_gen.pl > ~/.magick/type.mgk.
Or you can specify a ttf font file directly to the -font options if you don't want to install fonts to ImageMagick.