Skip to main content
Ingredients: avconv, ImageMagick, some images, a LibreOffice Writer doc, tiMIDIty, some shell scripting, DeVeDe.

Result: A video slideshow with neat fades from image to image & background music... zero ©opyright material involved anywhere.

ImageMagick scales images to 720x480 (saved as PNG for losslessness).

convert -gravity center -font "Sansation-Bold" -pointsize $PS \
        -draw "fill white text 0,0 \"$(cat 1.txt)\"" \
        transparent.png temporary-image-name.png


Make lettering,

convert -gravity center -font "Sansation-Bold" -pointsize $PS \
        -strokewidth 5 -draw "fill black text 0,0 \"$(cat 1.txt)\"" \

        -channel RGBA -blur 9x9 \
        transparent.png temporary-image-name.png

Make shadows behind lettering (for contrast). Blend all onto background image using composite ImageMagick command.

avconv -loop 1 -i image.png -target ntsc-dvd \
        -r 30 -b 2048k -crf 30 -t 10 video-chunk.mpeg


Show fixed image for ten seconds.

k=1
for i in $(seq 0 4 200); do
        j=$(printf %03d $i)

        convert -compose dissolve -define compose:args=${j} \
          background-image.png lettered-image.png \

          -composite temp-image${k}.png
        k=$(($k + 1))
done

Make a set of images fading from background to lettering.

avconv -i temp-image%d.png -target ntsc-dvd \
        -r 30 -b 2048k -crf 30 video-chunk.mpeg

Build a video clip fading from background image to lettering.

Use timidity to turn MIDI into WAVe files. Use sox to fade WAVe files in/out, concatenate to make a sound-track.

Now concatenate all video clips in order, feed the concatenated (MPEG2) clip to avconv with an audio track, feed the result to DeVeDe, burn video DVD.

Tomorrow’s micro-project will be to bolt the whole lot together into a single script. Save Writer doc as HTML, run script, do other stuff while the whole lot is auto-assembled. Being a Lego® kid seems to have no end.

Comments

Popular posts from this blog

new life for an old (FTX) PSU, improved life for one human

the LEDs on this 5m strip happen to emit light centred on a red that does unexpectedly helpful things to (and surprisingly deeply within) a human routinely exposed to it. it has been soldered to a Molex connector, plugged into a TFX power supply from a (retired: the MoBo is cactus) Small Form Factor PC, the assorted PSU connectors (and loose end from the strip) have been taped over. the LED strip cost $10.24 including postage, the rest cost $0, the PSU is running at 12½% of capacity, consumes less power than a laptop plug-pack despite running a fan. trial runs begin today.

every-application-is-part-of-a-toolkit at work

I have a LibreOffice Impress slideshow that I wish to turn into a narrated video. 1. export the slideshow as PNG images (if that is partially broken — as at now — at higher resolutions, Export Directly as PDF then use ‘pdftoppm’ (from the poppler-utils package) to do the same). 2. write a small C program (63 lines including comments) to display those images one at a time, writing a config file entry for Imagination (default transition: ‘cross fade’) based on when the image-viewer application (‘display,’ from the GraphicsMagick suite) is closed on each one; run that, read each image aloud, then close each image in turn. 3. run ‘Imagination’ over the config file to produce a silent MP4 video with the correct timings. 4. run ‘Audacity’ to record speech while using ‘SMPlayer’ to display the silent video, then export that recording as a WAV file. 4a. optionally, use ‘TiMIDIty’ to convert a non-copyright-encumbered MIDI tune to WAV, then import that and blend it with the speech (as a quiet b...

boundaries

pushing the actual boundaries of the physical (not extremes, the boundaries themselves) can often remove barriers not otherwise perceived. one can then often resolve an issue itself, rather than merely stonewalling at the physical consequences of the issue.