#!/bin/bash # dvd-slideshow # Copyright 2003 Scott Dylewski # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # name='dvd-slideshow' version='0.7.1' echo "[dvd-slideshow] dvd-slideshow $version" echo "[dvd-slideshow] Licensed under the GNU GPL" echo "[dvd-slideshow] Copyright 2003-2005 by Scott Dylewski" echo "[dvd-slideshow] " changes () { echo 'Changes: 0.7.1 Added log file output to dvd-slideshow.log Updated documentation and examples. Background color can now take a #RRGGBB value. Nicer progress indicator. AC3 audio is now the default. Pass -mp2 to force MP2 audio. Autocrop works on background images now also. Added code to check for all temporary fade_xxxx.ppm images before proceeding to encode mpeg video. Fadein or crossfade to a scroll effect works correctly now. 0.7.0 Default variables can be set in a ${HOME}/.dvd-slideshowrc file Default variables can be set in the input .txt file Crossfade and fadein to kenburns effect correctly fades to the first frame geometry instead of the whole image. New keywords for the start and end points in kenburns effect: topleft/middle/middleright etc. See docs for details. New keywords for the crop function also. 9999 audio files possible now. Used to be a limit of 9 Fixed bug when fading in to a cropped image. Removed -R 2 and -c options in mpeg2enc because some people had problems. Fixed subtitle timing bug, so now the subtitles appear and disappear closer to the correct time. Changed encoded audio bitrate from 224kb/s to 128kb/s Works with toolame 0.2m beta and 0.2L now Got rid of calls to NetPBM functions, so it is no longer required... Changed "wc -m" call to "wc --chars" for better compatibility. Fixed syntax so spaces should be allowed in input files now. Changed "seq 2 1" to "seq 2 -1 1" for better compatibility Added option to "autocrop" images (-c) that are close to the output aspect ratio, but not quite. Title syntax changed... (see documentation) Fadein/crossfade to a title or background slide works now. Fadein/fadeout/crossfade works when previous/next slide is not actually an image/title/background. The next real slide will be used instead. Fixed bug in Low quality mode (-L) (extracopies bug) Fixed bug with subtitles with new versions of imagemagick. White can be used a a background keyword for white backgrounds. 0.6.0 Fixed major bug/error when generating long slideshows. Now all video gets piped in YUV fomat through mpeg2enc in one single block. (fix by Mike Beller) Added option to generate AC3 audio files (requires ffmpeg) Fixed title slide when using -L (low quality mode) Allow for slide durations to be specified in hundreths of a second: 5.23 Reports total audio and video lengths at the beginning of the code. Fixed bug when using subtitles. (no subtitles were generated) Changed output files to be .vob extension instead of .mpg Better font searching (thanks Jim Crumley) Use backslash to escape a colon in subtitles (thanks Jim Crumley) Allow avi input files. pre-alpha support. (thanks Jim Crumley) 0.5.4 Added option to re-define background image from text file input. Code cleanup (slightly) Added support for two audio tracks. Added audio effects: fadein/fadeout Default command-line audio fadein/fadeout time is 3 seconds. 0.5.2 Fixed bug in musictitle Title info parsing. Checks to make sure a slidshow name is passed. Added low-quality mode (-L) for testing. Speeds things up about 4x. Reduced verbosity. Checks for required fonts. Subtitles look much better now. Word-wraps long subtitle lines into two lines. 0.5.0 Added KenBurns effect! See docs for usage. Added scroll effect! See docs for usage. Added crop effect. See docs for usage. Audio can be started and stoped for multiple files within the text file. See docs for usage. Added "musictitle" option for displaying audio info. You can now comment out lines in the textfile by using the # character. Also ignores blank lines in textfile. Fades can now have up to 9999 frames. Total slides can now be 9999. You guys are crazy. fixed small bug when no chapters are specified. Chapter markers are now rounded up to the next full second due to a bug in some versions of dvdauthor. Only checks for oggdec or lame if you pass an ogg or mp3 file. Changed syntax of command line input for files and audio. Passing images on the command line is no longer "public". Use the text file in put instead. Fixed audio problem with some mp3 files getting pops in them. 0.4.8 Changed audio to process raw (headerless) audio files before joining them. Fixed bug when passing multiple audio files (again). Fixed audio fadein/fadeout time to 1 second Fixed bug in audio where it plays to fast when burned on dvd. Checks to make sure audio files exist before processing. 0.4.6 Fixed bug when passing multiple audio files. (thanks Scott Merrill) Removed -t option from toolame command for better support for old versions. 0.4.4 Only writes chapter markers when there is a picture or title First chapter marker is now fixed at time 0 Max number of chapter markers is now 99 (thanks Jens Gecius) Fixed bug when checking for toolame (thanks Jens Gecius) Added "crossfade" option! Will use mpeg3cat from libmpeg3 to join mpegs if available. Small fix to allow semicolons in subtitles (thanks Jim Crumley) Added -s option to mpeg2enc calls for (maybe?) better compatibility. 0.4.2 Current working directory will be used if -o not specified. Allow "background" keyword in text file to insert background. Make sure all ImageMagick calls have -depth 8 to make ppmtoy4m happy. No font is specified in ImageMagick calls, so it should use the default. Changed default menu to a steelblue gradient when no image is passed. 0.4 Fixed bug when no background specified (again). Added error checking to make sure image files exist. Ogg audio format supported (you must have oggdec). Uses toolame for mp2 audio encoding when available. Audio timing improved. Fixed bug when double-quotes were in subtitle. Added black, fadein, and fadeout options in txtfile! -p (PAL format option) added. Not tested, but should work. 0.3 Fixed error when no background specified. Now default is black Added checking for required programs before running. 0.2 Initial release' } help () { echo "`basename $0` Version $version " echo 'http://freshmeat.net/dvdslideshow' echo 'Copyright 2003-2004 Scott Dylewski ' echo echo 'Description: Creates a dvd-compatible mpeg2 file from a bunch of jpegs. You can add music if you want also. Supports several effects like fadein/fadeout/crossfade/crop/kenburns. Usage: dvd-slideshow -o [-b ] [-n ] [-a ... ] -f input_file.txt [-p] [-L] [-mp2] Options: -o Directory where the final mpeg and dvdauthor files will be written -b 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. -n slideshow_name This will be printed at the top of the slideshow title slide, if it exists. The program also 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. -a