Tovid Wiki



A "text menu" DVD means that there is no animation on the menu video, it is plain and simple, though can be make to look quite attractive by using todisc's (' tovid disc') various options. For these examples I will be using videos by Mike Spiff Booth who uses songs by Jonathan Coulton.

Command-line examples have been formatted for readability, in general with one option per line (and backslash line-continuation). If you're typing in commands manually, you can leave out all the extra space and backslashes. The '$' sign you see at the beginning is just my terminal prompt to show you this is a command run in a terminal, obviously you would leave that out.

For more complicated examples, you may want to copy and paste the tovid menu command into your favorite editor, save as "myscript" (for example), then run:

$ bash myscript

Edit the script to tailor it to your needs; this is easier than trying to make changes directly on the command-line.

The simplest scenario

The only required options for todisc are ' -files ' follow by a list of videos (and or slides for a slideshow) and an ' -out ' directory. To this we add the option ' -textmenu ' which prodces the type of menu we want. So the following will produce a text menu, encode non-compliant files, and make a DVD structure ready for burning. Note that the videos are in the same directory as the terminal so I just using the file name, otherwise I would have to use the full path as in: '/home/robert/vids/movie.webm'.

$ tovid \
  disc \
  -textmenu \
  -files \
  blue_sunny_day.webm \
  Chiron_Beta_Prime.webm \
  flickr.webm \
  podsafe_xmas.webm \
  -out \

Okay, that will produce a working menu, but very plain. First of all since I have not supplied a ' -titles ' option todisc will use the file names without the extension for the menu links, like Chiron_Beta_Prime. There will be no backround image, no background audio, and the menu title will remain the default 'My video collection'. So lets add some more options.

Video titles are made with the option ' -titles' The background is supplied with the option ' -background' Use ' -bgaudio'for the background audio for the menu Finally the menu title at the bottom is made with ' -menu-title' So now our full command is:

$ tovid \
  disc \
  -textmenu \
  -files \
  blue_sunny_day.webm \
  Chiron_Beta_Prime.webm \
  flickr.webm \
  podsafe_xmas.webm \
  -titles \
  "Blue sunny day" \
  "Chiron Beta Prime" \
  "Flickr" \
  "A podsafe Christmas" \
  -background menu.png \
  -bgaudio Chiron_Beta_Prime.webm \
  -menu-title \
  "SpiffWorld videos" \
  -out myvideo

That's it ! Okay, let's run that and see how it looks with a preview. The preview completes in only seconds (9 seconds on my relatively ancient athlon 3600 x2), and is obviously done before tovid converts the files with the 'makempg' script (' tovid mpg '). If you know the aspect ratio of your videos, adding for example: -aspect 4:3 to the command, it will complete much faster, 4 seconds on my core i5 machine.

Spiffworld menu

Simple -textmenu menu

Okay, pretty nice with proper titles and a background !

But perhaps you would like the titles to be a bit bigger, or use a fancy font to spruce things up a bit. Also, you might notice that the preview shows the menu link button, in this case a line under the first video, to be the a light blue that doesn't show well against the background. We will cover how to change these things in the next section.

Basic customizations

Fonts and buttons

In this section we will make the menu a little fancier. The font for the menu title is set using the ' -menu-font ' option (or use the more consistent ' -title-font ' in tovid 0.35), and for the video titles the font is set using ' -titles-font '. Similarly the pointsize for the font is set using ' -menu-fontsize ' and ' -titles-fontsize '. And just for fun let's change the color of the title font and titles font with ' -title-color ' and ' -titles-color '. And finally the color of the navigation button (the thin blue line in this case) is set using ' -highlight-color '. So let's add the following options to the command that gave the previous preview:

-menu-font jd \
-menu-fontsize 60 \
-titles-font jd \
-titles-fontsize 30 \
-titles-color '#EBEB2D' \
-title-color '#EBEB2D' \
-highlight-color Lime \

And here is what it look like now:


Menu example 2

Now that is clearer to read and a little less ordinary. Of course I'm sure you can make a much nicer example !

Positioning elements

There are many other options to explore, but let's look at a few of them.


What if you wanted the titles at the bottom left, and the menu title at the top? This can be done with the ' -align'option. It is actually for positioning the video titles, but by using -align with any south* position like: -align southwest, it will also move the menu title 'north' in order to make room for the titles. Let's add that to our command and see what it looks like.


Menu example 4

As you can see todisc moved both the titles and menu title to a new position. Okay, what about using two columns of titles? That is accomplished by adding an argument to the ' -textmenu ' option we have used already. The argument is the number of rows we desire to have in the first column - the rest of the titles will go in a second column. So since we have 4 titles, to split them we can use ' -textmenu 2'. Checking the preview I saw that using a font size of 30 while made the titles run together using 2 columns, so I reduced it to 24. (' -titles-fontsize 24'. I've removed the previous ' -align'option and went back to the original alignment of our examples for this next preview:


Menu example 5

Positioning the first title in the column

You can tell todisc where you want the first title row to appear on the menu. For this you use ' -text-start N' , where N is the number of pixels from the top of the menu. Note that this option should not have an effect if you are using an -align option, as -align already positions the title.

Here is a slideshow that shows the outcome of the various -align options. I went back to the original single column for this demonstration. With 2 columns the various *east or *west arguments to -align will have no effect, as the columns are already edge aligned. But of course you can use the others as long as space is not already maxed out (ie. a tall column will have no room to move north or south).