High Definition Slide Shows with Linux

The programs dvd-slideshow, manslide and smile can be used to make standard definition slide shows on Linux. These programs do not support 1920x1080 high definition output, so I wrote a short script to make high-definition slide shows using mjpegtools.

Needed Software

This method relies on the following open source software.


Assemble your jpeg image files in a directory. It is easiest they will be displayed in alphabetical order. If the images do not alreay have a 16x9 picture aspect ratio, decide whether you want to clip or pad them when they are rescaled fit the 1920x1080 frame.

Creating the Video

Use the script mkslides to process the images in the directory and create 1920x1080 and 720x480 mpeg2 video streams by typing
$ ./mkslides -s2 *.jpg
This command will clip the images. To pad them use the option -s1. The output files will be called paste.m2v and paste-dvd.m2v.

Creating the Audio

Index paste-dvd.m2v using
$ mpeg3toc paste-dvd.m2v paste-dvd.toc
and load the toc file into Cinelerra. Add music and verbal descriptions to the video. Render the sound to paste.wav. Quit Cinelerra. Encode the sound with
$ mp2enc < paste.wav -r48000 -b 224 -o paste.m2a

Multiplex the Video

Multplex the video and audio streams together with
$ mplex -f8 -b488 -r20000 paste.m2v paste.m2a -o paste-hd.mpg
$ mplex -f8 paste-dvd.m2v paste.m2a -o paste-dvd.mpg
You may write these files to a DVD for playback in vlc and Toshiba HD-DVD players as described in HD Video Workflow in Linux or use them for authoring 3xDVD, BD5, DB9 and Blu-ray disks following a workflow similar to the one described in H264 HD Video Workflow.


Cinelerra is used only for editing the audio and doing voice annotations in sync with the video. If music or silence is preferred Cinelerra could be avoided.

If you wish to pad some of the images and clip the rest choose the option that is correct for the majority of images. For the remaining images clip or pad them manually using gimp to an exact 16x9 picture aspect ratio.

Last Updated: Mon Mar 28 00:21:15 PDT 2011