Time-lapse z Androidom

22.februar.2012 | Igor

Sedaj pa je minilo že kar nekaj časa od kar sem nazadnje pisal. Dan pred novim letom.  Malo sem zanemaril, saj vem … Se bom popravil, obljubim. Delam tudi novo podobo svojega bloga … Kmalu …

Torej! Spomnim se, ko sem prvič videl kratek filmček, ki je prikazoval kako dan prehaja v noč. Oblaki so se premikali z nenavadno hitrostjo, nebo je kar bežalo tja v en dan. Nekaj ur ujetih v minuto. Ni mi bilo jasno kako naredijo takšne posnetke. Time-lapse seveda. Torej zaporedno prikazovanje poljubnega števila fotografij. Nekako tako, kot klasičen primer, ko na šop papirjev narišeš figure v različnih položajih. Ko papirje spustiš skozi prste dobiš občutek, da se ta premika. 25 slik na sekundo, 30 slik na sekundo … Odvisno. Večina filmov je menda snemanih z 24 sličicami na sekundo. Torej 1/24 sekunde predstavlja eno samo sliko. TV program se menda snema oziroma predvaja z 25 fps.

Tako lahko dosežemo, da nek poljubno dolg dogodek, recimo rast rože, spremenimo v posnetek, ki traja na primer pol minute. Zares impresivno, saj vidimo nekaj kar se zdi nepredstavljivo počasno v nadnaravni hitrosti. Kako torej narediti time-lapse posnetek nekega dogodka, ki bo recimo 2 uri dogajanja spremenil v kratek video, ki je dolg minuto ali manj? Z zlaganjem slik. Naredimo poljubno število fotografij istega kadra in te slike potem zaporedno predvajamo z veliko hitrostjo, recimo 25 slik na sekundo. Zelo bi si želel, da bi lahko te posnetke delal s svojo DSLR kamero a mi tega žal ne omogoča. Dobijo se avtomatski časovni prožilci, ki prožijo aparat na poljuben časovni interval a moja kamera nima zahtevanega vhoda :(. Ko prispe D7000 bo svet drugačen in tudi moji time-lapse posnetki v zares visoki resoluciji bodo postali mogoči. O temu aparatu že resnično govorim celo večnost in je skrajni čas, da si ga končno dobim.

Zelo pomembno je, da se izognemo nekaterim avtomatskim nastavitvam fotoaparata. Če na primer želimo posneti kako se dan spreminja v noč, je logično, da bomo morali ISO nastaviti na fiksno vrednost, torej recimo 100. Podobno je z ravnovesjem beline, ekspozicijo in ostalimi nastavitvami. Pomembno je, da se te skozi postopek ne spreminjajo, razen, če seveda želimo neke posebne efekte.

Morda, če bo dovolj vztrajnosti in discipline se nekoč spravim narediti time-lapse posnetek samega sebe, kako se staram. Predstavljajte si, vsak dan po eno fotografijo, na primer za obdobje 2 let. Seveda bi moral posnetke delati na vedno istem mestu in pod vedno istimi pogoji. Torej nekje doma z obvezno umetno osvetlitvijo. Vedno isti parametri, položaj, nastavitve … Bi bil prav zanimiv posnetek. V to ne dvomim. Tudi to morda, ko pride D7000 :).

Kako torej narediti, če nimate DSLR aparata ali pa kompakta, ki bi omogočal time-lapse? Imate telefon z androidom in solidnim fotoaparatom? Potem je aplikacija  Time Lapse Creator kot nalašč za vas. Je brezplačen in dobavljiv na Marketu. Kar poiščite, ni težko. Omogoča vam, da nastavite časovni interval pri katerem naj fotoaparat dela posnetke. Zadeva zna tudi sama potem izdelati video kar na vašem mobilcu. Tega sicer nisem testiral, ker sem želel video visoke resolucije in ne znam povedati kako bi se pri tem odrezal telefon. Nastavil sem, da naj aparat fotografira na 10 sekund dokler ne naredi 500 fotografij. Mislim, da je vse skupaj zneslo okoli 2 uri. Ne vem več natančno. Seveda je malo pred koncem zmanjkalo baterije. Potem sem vse fotografije prenesel na svoj računalnik in jih še uravnal s pomočjo Photoshopa. Ne, nisem odpiral vsake posebej in nastavljal. Naredil sem si makro, ki je znal iz določene datoteke samodejno odpreti sliko, jo urediti, jo shranil in zaprl. Potem za vsako ponovil postopek. O tem morda kdaj drugič. Potem sem uporabil preprost programčič Time Lapse Assembler, ki je primeren za OSX (Mac uporabniki). Majhen program kjer lahko nastavimo željen kodek, FPS in še nekaj nastavitev. Nič kaj fancy ampak dobro opravi svoje delo. Video lahko vidite na spodnjem posnetku.

Potem sem se spomnil na domači server, ki je kar zmogljiva mašina. Tam dol v globinah kleti. Ta bi bil kot nalašč za izdelavo takšnih posnetkov. In tudi je. Z programjem FFMPEG deluje na sistemu FreeBSD 8.2 več kot odlično. Ne bom razlagal podrobnosti kako in kaj. Ena od možnosti je tukaj. Pogoj je, da si slike sledijo zaporedno, torej morajo biti ustrezno poimenovane.

Sam sem si spisal preprosto bash skripto, ki naredi vse kar potrebujem. Prilagam jo spodaj :). Pogoj je, da imate instaliran ffmpeg in, da ta deluje. V skripti nastavite še parametre po svojih željah. Seveda jo bom še dopolnil, ko se spomnim kaj koristnega in zabavnega. Ne pozabite na +x :). Naj bi delovalo …

#!/usr/local/bin/bash

# Globalne spremenljivke
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin

# Datoteka kamor se bodo pisali izhodi dialog boxov
TMPFILE=/tmp/dialog.tmp

# Sprejmemo vir fotografij za nas video
dialog \
–title “TIMELAPSE” \
–inputbox “Images directory:” 8 40 15 2> $TMPFILE
IMGDIR=`cat /tmp/dialog.tmp`

# Definiramo izhodno destinacijo za nas video
dialog \
–title “TIMELAPSE” \
–inputbox “Output directory:” 8 40 15 2> $TMPFILE
VIDEODIR=`cat /tmp/dialog.tmp`

# Izberemo zeljene dimenzije videa
dialog \
–title “TIMELAPSE” \
–menu “Please select output format:” 10 51 4 \
“hd480” “HD – 720×480” \
“hd720” “HD – 1280×720” \
“hd1080” “HD – 1920×1080” 2> $TMPFILE
FORMAT=`cat /tmp/dialog.tmp`

# Vnesemo zeljen FPS
dialog \
–title “TIMELAPSE” \
–inputbox “Select video frame rate (FPS):” 8 40 15 2> $TMPFILE
FPS=`cat /tmp/dialog.tmp`

# Vse fotografije v viru preimenujemo, da si sledijo zaporedno
EII=0;
for i in $IMGDIR*.jpg; do ls $i;
NEWNAME=`printf “IMG-%04d” $EII`.jpg;
mv $i $IMGDIR$NEWNAME; EII=`expr $EII + 1`;
done

# Zazene se komanda za izdelavo videa
ffmpeg -r $FPS -i $IMGDIR”IMG-%04d.jpg” -vcodec libx264 -preset slow -s $FORMAT -crf 22 $VIDEODIR”video.mp4″

Objavljeno v sreda, februar 22nd, 2012 ob 18:33

Trenutno ni komentarjev

Dodaj komentar




  • Kategorije

  • Zadnji komentarji

  • Arhiv

  • Naroči se na e-obveščanje

    Bodi obveščen o mojem novem zapisu takoj, ko je ta objavljen. Potreben je le vpis veljavnega e-naslova.