#!/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