#!/bin/sh if [ -z "$1" -o ! -d "$1" ]; then echo 'usage: tlapse2mpg ()' exit 0 fi id=$1 of=$(basename $id) if [ -n "$2" ]; then fpi=$2 else fpi=1 fi n=$(ls -1 $id/*.jpg | wc -l) sec=$[(($n * $fpi * 1001) + 29999) / 30000] function tidy_exit () { rm -f stream.yuv rm -f videofifo rm -f audiofifo exit 0 } trap tidy_exit SIGINT trap tidy_exit SIGHUP if [ ! -p stream.yuv ]; then mkfifo stream.yuv fi if [ ! -p videofifo ]; then mkfifo videofifo fi if [ ! -p audiofifo ]; then mkfifo audiofifo fi ( dd if=/dev/zero bs=48000 count=$sec | sox -t raw -r 48000 -u -b -c1 - -t wav -s -w -c2 - | mp2enc -r48000 -o audiofifo ) & mplayer mf://$id/*.jpg -mf fps=30000/1001:type=jpg -vo yuv4mpeg & ( cat stream.yuv | ssyuvscaler -v0 -nn -l $fpi | mpeg2enc -v0 -a2 -f8 -q2 -nn -F4 -b7500 -N1.0 -r32 -41 -21 -P -I0 -s -o videofifo ) & mplex -f8 -o $of.mpg videofifo audiofifo chmod 444 $of.mpg sync echo ls -l $of.mpg tidy_exit