timelapse
14.09.2005., srijeda
Snimanje Time Lapse videa (2/6)
Oprema & Software Od opreme ne treba previše: web kamera (Trust SpaceCam 320), produžni usb kabel i PC (Acer Aspire 1200, Intel Celeron 1.300, 512 MB RAM, 20GB HDD) Od software-a sam koristio: - VirtualDub - Intel Indeo codec - XviD codec Ukratko Postupak snimanja videa je slijedeći: 1. postaviti opremu (PC + kabel + web kamera) 2. podesiti framerate, lokaciju izlazne datoteke, postavke kamere 3. odabrati i podesiti kodek (Indeo) 4. pokrenuti snimanje (Capture->Capture Video) Sve jasno? Nije? Čitajte dalje... Postavljanje opreme Kameru treba postaviti na mjesto na kojem je nitko neće dirati, niti će neki predmet blokirati snimani kadar. S obzirom da se često snimaju scene iz prirode, dobro dođe i produžni USB kabel. Kod snimanja prvog time-lapse videa, želio sam snimiti kako jedan cijeli dan prolazi pored moje kuće. Dan prije snimanja web kameru sam montirao na stativ foto-aparata i postavio je na balkon, te spojio sam je na PC produžnim USB kabelom. Podešavanje VirtualDub-a Za hvatanje videa sam koristio VirtualDub. Sa verzijom programa v1.6 sam imao problema, pa sam se prebacio sam se na verziju v1.4. Nju sam koristio za capture, a v1.6 za kasniju obradu. Da bi hvatali video (capture) VirtualDub treba prebaciti u capture način rada (File->Capture). Prije početka capture-a, potrebno je napraviti određena podešavanja: - postaviti direktorij u koji će AVI datoteka biti spremana - podesiti postavke web-kamere - podesiti framerate (brzinu) kojim se video hvata - podesiti kodek koji će biti korišten Postavljanje direktorija za AVI datoteku Ovisno o korištenom kodeku, kod snimanja cijelog dana AVI datoteka može biti velika i preko 2GB. Stoga je potrebno tu datoteku smjestiti na disk na kojem ima dovoljno praznog mjesta. Dodatno ograničenje kod snimanja datoteka većih od 2GB može predstavljati i FAT32 particija. Naime, za razliku od NTFSa, FAT32 ne dopušta datoteke veće od 2GB. No da bi VirtualDub radio datoteke veće od 2GB, potrebno je izvršiti dodatna podešavanja. Direktorij u koji će biti smještena datoteka se postavlja putem opcije Capture->Preferences Postavke web-kamere Postavke web kamere se odnose na rezolucija, ekspozicija, hue i sl. Podešavanju rezolucije i broj boja se pristupa putem opcije Video->Format. Ja sam za capture koristio najveću rezoluciju koju kamera može dati, a to je 640x480. Ekspozicija, svjetlina i hue i ostale postavke se nalaze pod opcijom Video->Source. Ekspoziciju i svjetlinu je dobro ručno podesiti kod snimanja događaja kod kojih su svjetlosni uvijeti konstantni. S obzirom da sam planirao snimiti cijeli dan, ove dvije postavke sam ostavio na automatici. Jedino sam malo korigirao hue. Postavljanje framerate-a Framerate iliti broj sličica u sekundi koji postavite se izravno odražava na veličinu AVI datoteke koja će biti kreirana. Njime se u stvari određuje rezolucija kojom želite neki događaj uhvatiti. On se tipično kreće od jedne sličice u sekundi (1 fps), pa do jedne sličice svakih nekoliko minuta (1/60 = 0.017 fps). Framerate se postavlja kroz opciju Capture->Settings Za hvatanje dana sam koristio 0.5 fps. Pri tom mi je na rezoluciji od 640x480 program za 15 sati snimanja kreirao datoteku veću od 2 GB. Naravno, veličina datoteke ovisi i odabranom kodeku i njegovim postavkama, te složenosti i promjenjivosti objekta koji se snima. O tome će biti više riječi kasnije... Postavljanje kodeka Ovo je najsloženiji i najvažniji dio podešavanja. Prilikom odabira treba obratiti pažnju na slijedeće: - snagu procesora - slobodan diskovni prostor - način na koji će video kasnije biti prekodiran Nakon svake uhvaćene sličice, VirtualDub je proslijeđuje codecu na kodiranje. Ako je procesor preslab, kodiranje sličice može trajati duže od intervala hvatanja. To će uzrokovati da će neke frema-ovi (sličice) biti preskočene. Diskovni prostor, ah nikad ga dosta! Stupanj odabrane kompresije se odražava na veličinu AVI datoteke, ali i na kvalitetu snimljenog videa. Zato osigurajte barem 3GB slobodnog diskovnog prostora (dovoljno za 15 sati videa kodiranog Inde-om na rezoluciju 640x480). Nakon što je video snimljen, trebat će ga ubrzati. Ubrzanje se temelji na slijedeća dva principa: - povećanju framerate-a - izbacivanju frame-ova (sličica) Kao prvi kodek koji sa upotrijebio za hvatanja videa je bio XviD. On ne opterečuje procesor previše, a datoteke koje stvara su prilično male. No, nije sve išlo baš glatko! Problemi su nastali kod ubrzavanja snimljenog videa. Prvo sam podigao framerate na 150 fps. Zatim sam iz videa uzeo tek svaku 6. sličicu, kako bih dobio standardnu brzinu od 25 fps. Na moje razočaranje rezultirajući video je bio trzav. Gledajući statistiku videa u CrystalPlayeru, primjetio sam da veliki broj frame-ova biva preskočen. Problem je bio u tome što XviD ne stvara keyframe u redovnim intervalima, već samo onda kad zaključi da to potrebno. Prilikom ubrzavanja videa, program je uzimao frame-ove u redovnim intervalima od 6. Pri tome je preskočio poneki keyframe koji je uspio proći kroz to sito. Kod prikaziva s obzirom da nije bilo keyframe-a na kojem bi mogao temeljiti sve deltaframe-ove koji nakon tog preskočenog slijede, svi deltaframe-ovi do idućeg keyframe-a su bili preskočeni! Kako bih ovaj problem riješio, pokušao sam isto sa Indeo kodekom. Njega se može prisiliti da svakih n-ti frame bude keyframe, za razliku od XviD-a. Odabiru kodeka se pristupa putem opcije Video->Compression Postavke Indea sam ostavio na pretpostavljenim vrijednostima: Capture Sad je sve spremno za početak snimanja. Snimanje se pokreće kroz opciju Capture->Capture Video Snimanje se, ovisno o postavkama, prekida tipkom Escape. Saznajte više... - Što je to keyframe/deltaframe i kako radi - Što je VirtualDub - Što je to Indeo - Što je to XviD - Kraće upute za XviD - Opširnije upute za XviD U slijedećim nastavcima... - kako ubrzati time lapse video - kako korigirati boju, svjetlinu, kako dodati logo - kako objaviti video na webu - budući time lapse projekti |