Technology
 

Using the tovid command-line

From Tovid Wiki

This article needs to be cleaned up. Please help out by editing this page! Use the article's talk page to discuss major changes.

This article gives an overview of how to use the command-line tools of tovid; see the manpages for more detailed usage notes.

If using the command line does not sound like your cup of tea, you may choose the tovid GUI instead. See Using the tovid GUI.

Contents

[edit] Quick start

To encode VIDEO to PAL DVD format, saving the output as NAME.mpg:

$ tovid -pal -dvd -in VIDEO -out NAME

To create an NTSC VCD menu with three titles, saving as MENU.mpg:

 $ makemenu -ntsc -vcd "First title" "Second title" "Third title" -out MENU

For more detailed instructions, see How to make a basic DVD.

[edit] How it all fits together

tovid's foundation rests on a collection of shell scripts designed for specific tasks relevant to authoring a video disc. One script converts video, another makes menus, another generates the disc navigation structure, etc.

Each script has certain inputs and outputs; for example, the tovid script takes any multimedia video file as input, and produces (S)VCD or DVD-compliant MPEG video files as output. The output of tovid then becomes an input to makevcd or makedvd, and so on.

tovid follows the UNIX tradition of modularization. Rather than having a single large program that does everything, tovid has several smaller programs that do specific things:

  • tovid converts arbitrary multimedia video files to (S)VCD, DVD, or KVCD-compliant format.
  • makemenu create an MPEG menu, for navigating a video disc.
  • makexml generates an XML description of video disc content, compatible with vcdxbuild or dvdauthor.
  • makedvd authors and optionally burns a DVD.
  • makevcd authors and optionally burns a VCD or SVCD (not yet complete)


[edit] Five steps

Creating a video disc using the command-line tools boils down to five steps:

  • Plan ahead. Decide what videos you would like to include on the disc, and whether you want to make an (S)VCD or a DVD. If you have lots of videos, you may want to have navigational menus to select them for playback. Sketch out an outline of what menus you want to have, and what videos they will link to.
  • Encode the content. Almost all video sources need to be converted to an (S)VCD or DVD-compliant format. The tovid script does this for you; use it to convert all the videos you want to include. You can use tovid-batch to convert several videos at once.
  • Create menus (optional). If you want your disc to have interactive menus for navigation, use makemenu to create them. This is where you will specify video titles, as they will appear on the menu.
  • Layout the disc. This is where you specify exactly how your disc will be organized. Provide the names of all your video and menu files, and makexml does the rest.
  • Author and burn. When you reach this step, you should have several .mpg files (menus and videos), along with an .xml file containing the disc layout. Give the .xml file to makevcd or makedvd to author and burn your disc.


[edit] Other scripts

There are several additional scripts customized for other tasks:

  • idvid identifies video files, telling you the duration, resolution, codec, and other useful information. Perhaps most important, it can tell you whether a given video file is compliant with (S)VCD or DVD.
  • makeslides creates a still-image slideshow, in (S)VCD format, from arbitrary images. Slideshows may be included on a disc using the -slides option to makexml.
  • postproc does post-processing on an encoded/compliant MPEG video. It can shrink the video stream by reducing quality, and it can adjust the audio/video synchronization.
  • tovid-batch processes multiple video files using the same output options. Use this if you want to encode several videos to the same format.
  • tovid-interactive is an interactive command-line tool that prompts you for all the necessary tovid encoding options. Use this if you are unfamiliar with the command line, but do not want to run the GUI for whatever reason.

[edit] Configuration files

The tovid script implements the use of configuration files, allowing you to customize tovid's behavior and specify default encoding options. As of this writing, configuration files are not implemented for any other scripts in the suite.

Configuration files are plain ASCII text. The first line of the file begins with a script name (tovid); the remainder of the file consists of command-line options appropriate to that script. Whitespace is ignored, and comments may be included on lines beginning with #.

tovid
# sample tovid configuration file
# This is a comment; it will be ignored by tovid.
# Always use NTSC format by default
-ntsc
# Run in "parallel" mode for faster execution and
# reduced disk usage
-parallel
# Run in "debug" mode, so when something goes wrong
# it's easier to diagnose
-debug
# Always overwrite existing output files.
-overwrite


This format makes editing a snap, especially if you are already familiar with tovid's various command-line options. You may find configuration files useful, if you get tired of entering the same options by hand for a bunch of videos, or if you want to customize your bitrates, menus, or formats for a certain project.