dvd-slideshow(1) Creates a slideshow movie in DVD video format from a list of pictures and effects.


dvd-slideshow [-n <slideshow name>] [-o <output directory>] [-b <background jpeg>] [-a <audiofile1> -a <audiofile2> -a <audiofileN>] [-p] [-flv] [-mp4] [-s WxH] [-L] [-H] [-mp2] [-r] [-nosmp] [-border <bordersize>] [-theme <themename>] [-f] <input text file>


Creates a video from a bunch of images. The default video format is designed to produce DVDs, but other formats can be created for the web also (.flv). You can add music on the command line or in the text input file. Supports several effects like fadein, fadeout, crossfade, crop, and kenburns. dvd-slideshow is designed to work with dvd-menu to create a dvd navigation menu that you can then burn onto a dvd. There are also some helper scripts to convert a directory of pictures or your favorite online photo album to a dvd.


[-n <Slideshow name>]
The program uses this string as the filename base for the output files so you can distinguish it from other slideshows that you can send to the same output directory. If not specified, the default value is the name of the input file.

[-f] <Input text file>
See the INPUT FILE section.

[-o <Output directory>]
Directory where the final .vob and dvdauthor .xml files will be written. Defaults to the current working directory.

[-b <Background jpeg>]
Image to use for the background of the slideshow. All of the pictures will be overlaid on top of this background image. If no file is specified, black will be used for the slideshow and a blue gradient for the title slide.

[-a <Audio file>]
Audio file to play in background during the slideshow. It will be faded out at the end. Supports mp3, ogg, or wav formats at this point. Multiple files will be joined. See also the more flexible text file input method. To pass multiple files, use the -a switch again.

Use PAL output video format instead of NTSC.

Force use of mpeg2enc with mp2 audio even if ffmpeg is installed. Use this if you have problems with ffmpeg. Usually ffmpeg is much faster at encoding video.

Use mp2 audio by default. AC3 audio seems to be more stable when playing in dvd hardware players, but requires ffmpeg. This will over-ride the AC3 default and use the mp2 audio encoder.

[-s WidthxHeight]
Use output size other than the standard DVD output size (720x480 for NTSC). Used when specifying alternate output formats with -flv or -mp4

Render a flash video instead of a mpeg2 .vob. Default output size is 320x240.

Render a mp4 video instead of a mpeg2 .vob.

Render a .mpg video instead of a mpeg2 .vob. Allows for alternate (non DVD compatible) sizing with -s

(alpha) Renders video in vcd-compatible output.

(alpha) Renders video in svcd-compatible output.

Render a low-quality video suitable for debugging. This sets the resolution to 1/2 of full resolution and decreases the quality of fades/transitions. It should speed up the encoding process by at least a factor of 4.

(Beta) Render a higher-quality video. This uses the default dvd resolution and keeps all other output parameters the same, but enables some pixel-sampling methods that make the scroll effect look better at very slow velocities. This will make dvd-slideshow take up to 4x longer to process the scroll effect. Only applied when needed; the output will explain if it is being used.

[-theme <themefile>]
Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes

[-border N]
Make a border of N pixels around each image. Does not apply to title slides.

Sharpen images.

Autocrop images near the DVD output aspect ratio to fill the whole window.

[alpha] Render widescreen (16:9) output instead of standard (4:3).

Disable multiple threads in some processes when possible. If you have little memory or a slow machine, this may help if you experience problems with disk memory caching.

Leave temporary files in the temporary directory. Useful for debugging.

Quiet output mode. Reduce amount of information on screen, but keep a progressbar indicator.

[-V 1|2]
Increase verbose debug output. 1 adds more than the default, and 2 adds a lot.

Prints help file (basically this manpage).


Note: The -f is optional if the input filename is the last argument on the comand-line.

The input file is a text file that acts like a timeline or storyboard for your slideshow. In the most simple form, it is just a list of images. See EXAMPLES for some simple examples of these text files. The input file also allows for many more special effects that are not available on the command line. Each line contains one image or effect. It uses the : character as a separator for the fields. Here is the syntax:


Duration can be specified in integer seconds like 5 or with up to three decimal points of accuracy, like 5.683.

When passing a picture, you can optionally use the keyword "audio" instead of the duration in seconds. What this does is force the duration of that image to be the length of the previous audio track. This is useful for making a music video dvd.

The subtitle field is optional, but if you are passing effects after the subtitle field, be sure to include all the colons :: in order for the parser to get the correct info. You can escape a colon in subtitles with a backslash.

NOTE: the effect parameters are separated by a semicolon ; instead of a colon :.

title:duration:title text
Makes a title slide with text centered in the screen. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section).

titlebar:duration:Upper title text:Lower title text
Makes a title slide using <Upper title text> as a title at the top of the screen, and <Lower title text> as a lower title, in a band at the bottom of the screen. Each title is optional. If one is missing, it will not be displayed. White ands are underlayed behind the text for better contrast. Further control of the font, size, and position of the title text can be achieved by setting variables (see the VARIABLES section).

Makes a black frame with the song info printed in the bottom left corner. Yes, that is a semicolon between Artist and Album.

Makes a slide with the current background image (or black if no image is passed). If a new image name is passed, the background will be reset to that picture. Examples:
"background:2" will display the current background for 2 seconds.
"background:2::image.jpg" will set the background to image.jpg and also display it for 2 seconds.
"background:0::image.jpg" will set the background image to image.jpg, but will not use it until the next picture.
"black" or "white" can be used instead of an image name to display a black or white background.

Transitions do not add time to the overall slideshow, they just get overlaid on top of the adjacent images. Because of this, the transition duration can not be greater than half of the adjacent image duration.

Fades in to the next slide

Fades out to the background

Fades from one slide to the next.

Wipes from one picture to the next. The direction is optional and will default to left.

Force manual chapter marker timing. Chapter markers will only be created where the "chapter" keyword occurs. The default is to add chapter markers at every slide.

Other input files can be included in the input .txt file. The file includefile.txt will be concatenated in the place where the line occurs..

Stops the slideshow at the current point as if the input.txt file ended at this point. Useful for debugging

Effects are only used with images, not keywords. In the following effects, x0,y0 represents the top left corner of a defined box, and x1,y1 is the bottom right corner.
NOTE: the effect parameters are separated by a semicolon ; instead of a colon :

Crops the image about the coordinates specified (in the original image coordinate system).
Crop keyword description:
Because it is difficult to figure out the exact locations where you want to crop, it is possible to use special keywords for the locations where you want to crop the image. The basic format is:

where frame_size indicates the relative scale(%) in percent of the final dvd window width/height, and frame_location refers to the location of the center point of the picture relative to the dvd window.
Frame_location can be any of the following keywords:
       topleft         top                     topright

       left                    middle          right

       bottomleft      bottom          bottomright


where % is a percentage of the window width,height starting from the top left corner of the dvd window.
       imagewidth | imageheight

where the image width or height will be scaled to fill the full width or height of the dvd screen.
Crop examples:




Where now we have starting (s) and ending (e) boxes, defined in the same way as in the "crop" function, above. The kenburns effect will crop/zoom from the start to the end for the given duration.
Full box description:

Specifies the top-left(0) and bottom-right(1) points.
Keyword description:
Kenburns examples:


This is most useful for displaying panorama-style pictures that are much wider than they are tall. For example, "scroll:right" will automatically resize the picture so that the image height is equal to the video display height (480) before scrolling right.

Note that in high quality mode (-H), some calculations will be made to see how slow the scroll is, and if it is slow enough, sub-pixel sampling will be used to make the scroll effect look much smoother. Sounds good, right? Well, it will take a LOT longer to process the frames also!


Audio tracks can be inter-mixed with the video. If an audio track is placed between two different images/effects, that audio track will begin playing at the start of the second image/effect. When placing audio, use the syntax:


The audiofile can be a .ogg, .mp3, or .wav file.
Track is the resulting dvd audio track.

Audio Effects are audio effects where you can specify things like fadein and fadeout for the audio. Example:


If you want to concatenate two audio files, just place them one right after another in the .txt file.


You can specify lots of variables and options throughout the dvd-slideshow script. Settings can be passed on the command line, in a default ~/.dvd-slideshow/dvd-slideshowrc file, or within the input text file. The order in which the script reads the settings is as follows:
Default script settings --> ~/.dvd-slideshow/dvd-slideshowrc --> command line --> input text file
so each successive setting will over-ride the previous settings if they are already set.


With the syntax shown below, the following variables can be specified in the ~/.dvd-slideshowrc file. All lines are optional, and everything after the # character is not read.

debug=1         # 0 (low) to 3 (lots of info)

pal=0          # 0=ntsc 1=pal

ac3=1          # 0=mp2 1=ac3 audio

copy=0         # add copies of original images to the output directory

high_quality=0 # use high-quality mode (set to 1)

autocrop=1     # autocrop images to fill full screen

border=0       # add border of N pixels between image and dvd edge

sharpen=0      # Enable image sharpening for all images

widescreen=0   # use widescreen mode (16:9) instead of 4:3

## Default font:
font=/usr/share/fonts/default/Type1/n019004l.pfb # Helvetical bold URW font

## Subtitle: subtitle_type="dvd" # use "render" to force rendering of text.
subtitle_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font

## Title:
title_font_color="black" # or use hex "#RRGGBB"
title_font='/usr/share/fonts/default/Type1/n019004l.pfb' # Helvetical bold URW font

## top title:
toptitle_font_color="black" # or use hex "#RRGGBB"
toptitle_bar_height=125 # 0 for no 50% white behind text

# bottom title:
bottomtitle_font_color="black" # or use hex "#RRGGBB"
bottomtitle_bar_location_y=156 # relative to bottom of image
bottomtitle_bar_height=55 # 0 for no 50% white behind text

# kenburns:
kenburns_acceleration=1 # seconds of slow acceleration for kenburns
# use 0 for no acceleration, or, use a percent of the effect time:
# kenburns_acceleration=25% # will accelerate for the first 25% of the effect.

# logo:
logo=path/to/logofile.png # will be overlaid on top of all frames. Must be pre-sized manually.
logo_gravity=SouthEast # Position of logo overlay. North | South | East | West | NorthEast | NorthWest | SouthEast | SouthWest

Input text file:

The same syntax used in ~/.dvd-slideshow/dvd-slideshowrc can be used in the input text file. This way, you could specify settings specifit to the slideshow you are working on without changing your default settings.


A theme is just a file containing a list of configuration variables, and possibly also background images, fonts, or audio in the same directory.

Any of the configuration variables can be placed in a dvd-slideshow theme file to control dvd-slideshow also..br

This will be explained more later...




There are a few heavily-commented examples available in the examples section of the dvd-slideshow webpage, which you can find at http://dvd-slideshow.sourceforge.net


Scott Dylewski <scott at dylewski dot com>