Time-lapse na linuxu

13.05.2014.

Slikali ste seriju fotografija za time-lapse i sad vam treba program koji će to spojiti u video? Naravno, koristite linux. Problem smo riješili tako da smo napisali bash skriptu koja automatski odrađuje sve od početka do kraja i sad ju želimo podijeliti s vama. O snimanju time-lapse fotografija nećemo, niti o instalaciji potrebnih alata za ovu skriptu (imagemagick, mplayer/mencoder …). Ukoliko vam je potrebna pomoć oko tih detalja, google is your friend! Skriptu jednostavno kopirajte u /usr/local/bin pod nazivom maketimelapse.sh i napravite ju executabilnom (chmod +x /usr/local/bin/maketimelapse.sh).

Nakon što ste obavili taj dio posla, pod uvjetom da imate sve potrebne alate koje skripta koristi, jednostavno u prazan direktorij kopirajte sve fotografije iz vaše time-lapse serije i pokrenite skriptu iz tog direktorija. Skripta treba jedan argument, a to je željena širina videa u pixelima. Sačekajte dok ne završi i uživajte u videu :)

#!/bin/bash
size=$1
if [ "$#" -ne 1 ]; then
echo “Script needs one parameter (size in pixels, for example, 1200)”
exit
fi

mkdir ${size}
mkdir video
cp *.JPG ${size}
cd ${size}

mogrify -resize ${size}x${size} *.JPG

ls -1tr | grep -v files.txt > files.txt
mencoder -idx -nosound -noskip -ovc lavc -lavcopts vcodec=ljpeg -o output.avi -mf fps=15 ‘mf://@files.txt’
avconv -i output.avi -c:v libx264 -preset slow -crf 15 output-final.mkv

mv output-final.mkv ../video
cd ..
rm -rf ${size}

exit