mercoledì 14 marzo 2012

Ffmpeg - rallentare video

Ieri sera giocando con un video per provare ad estrarre le immagini con ffmpeg ho provato a realizzare, con le immagini ottenute, un video rallentato...

La mia kodak Playsport, come altre telecamere simili, permettono di realizzare video a 60fps, così estraendo 60 immagini al secondo e riunendole in un video a 24fps si ottiene un video rallentato poco più della metà della velocità iniziale.

Video 1: velocità normale

Video 2 : rallentato

Per estrarre le immagini da un video con ffmpeg basta aprire un terminale, creare una nuova cartella per le immagini estratte, e digitare:

--------------------------------------------------------------------------------------------------------------------------
$ ffmpeg -i video_input  -ss 00:00:50 -t 00:00:30 -f image2 -r 60 -sameq Immagini/prova-%04d.jpeg
-------------------------------------------------------------------------------------------------------------------------- 

In questo caso ho estratto immagini per 30 secondi di video (vedere qua per la spiegazione)

Con -sameq estraggo immagini con la stessa qualità del video originale, e con Immagini/prova-%04d.jpeg vado a dirgli di salvare le immagini nella cartella precedentemente creata, con il nome prova-0000.jpeg, prova-0001.jpeg ecc...

Successivamente andrò a riunire le immagini a 24fps con:

----------------------------------------------------------------------------------------------------------------------------
 ffmpeg -f image2 -i Immagini/prova-%04d.jpeg -r 24 -vcodec libx264 -f mp4 -an -sameq video_output.mp4
----------------------------------------------------------------------------------------------------------------------------

dove:

-f image2 indica ad ffmpeg che l'input è un file immagine
- r 24 che avremo un video a 24fps
-vcodec il codec per il nuovo video
-f forza il tipo di video in output
-an per avere un video senza audio
-sameq per mantenere la stessa qualità (con il codec utilizzato in questo caso potrebbe non essere necessario)

Per ulteriori informazioni potete guardare qua.

Leggendo su internet ho trovato anche un altro metodo, probabilmente più semplice e veloce, appena lo provo vi faccio sapere...

Al più presto voglio provare a modificare le immagini con imagemagik per aggiungere del testo...

lunedì 12 marzo 2012

Fotografia HDR - primi passi

Per puro caso ho scoperto questa tecnica fotografica e ne sono rimasto subito affascinato...

La fotografia HDR (High Dynamic Range), ci permette di unire almeno tre foto, scattate generalmente con il cavalletto, dello stesso soggetto ma con esposizioni diverse, generalmente -2, 0, +2 stop.

Per maggiori dettagli vi rimando alla pagina di Wikipedia.

Personalmente (premetto che sono pochissimi giorni che provo), scatto le foto in raw e poi le processo con Luminance HDR, o Qtpfsgui (sono lo stesso programma), che potete trovare a questo indirizzo (si trova anche tra i pacchetti per ArchLinux già compilato sotto il nome di Luminance HDR o in Ubuntu cercando Qtpfsgui).
Qua potete trovare il manuale.

Potete trovare una guida interessante qui.

Ed ecco le prime prove... =)
Sono tutte prove di HDR, appena riesco metto anche gli originali....






Nel frattempo, sperando di migliorare, buon HDR a tutti!!!!

Aggiornamento 2012.19.03

Per chi come me possiede una Nikon D3000 che non ha Auto Bracketing (AE-B) automatico può aggirare il problema con gphoto2, mi sono creato questo piccolo script che, con la macchina collegata al pc, mi crea in automatico 5 foto a -2, -1, 0, +1, +2 stop e le scarica nella cartella dalla quale lo lanciate.
 -----------------------------------------------------------------------------------------------------
#!/bin/bash
#AE-B Nikon D3000
#Nome File: AE-B-D3000.sh
#2012/03/17 - Daniele Astegiano - follettos@gmail.com
#Auto Exposition Bracketing (AE-B) Nikon D3000

#Dipendenze: gphoto2

echo FOTO 1 - Ev0

gphoto2 --set-config exposurecompensation=0

gphoto2 --capture-image-and-download --filename 1_Ev0.NEF

echo FOTO 2 - Ev-1

gphoto2 --set-config exposurecompensation=-1000 

gphoto2 --capture-image-and-download --filename 1_Ev-1.NEF

echo FOTO 3 - Ev-2

gphoto2 --set-config exposurecompensation=-2000 

gphoto2 --capture-image-and-download --filename 1_Ev-2.NEF

echo FOTO 4 - Ev+1

gphoto2 --set-config exposurecompensation=1000 

gphoto2 --capture-image-and-download --filename 1_Ev+1.NEF

echo FOTO 5 - Ev+2

gphoto2 --set-config exposurecompensation=2000 

gphoto2 --capture-image-and-download --filename 1_Ev+2.NEF

echo
echo ACQUISIZIONE COMPLETATA
exit

------------------------------------------------------------------------------------------------------

Basta copiare il tutto in un file che salverete come AE-B-D3000.sh e da shell lanciarlo con: $ sh AE-B-D3000.sh

Per verificare le impostazioni per la compensazione dell'esposizione della vostra macchina potete lanciare:
------------------------------------------------------------------------------------
$ gphoto2 --get-config exposurecompensation
------------------------------------------------------------------------------------
Mentre per visualizzare tutte le opzioni impostabili:
------------------------------------------
$ gphoto2 --list-config
------------------------------------------
Potete ovviamente modificare lo script come meglio credete, utilizzarlo con altre macchine supportate da gphoto2, e soprattutto migliorarlo...


Prima provate i comandi lanciati singolarmente da shell per verificare che funzionino, ovviamente non mi assumo la responsabilità per eventuali danni.

mercoledì 7 marzo 2012

Sentiero Via Ranco - Grana (Savona)

Facendo due prove con la mia kodak playsport ho deciso di caricare i due video "così come sono" (senza montaggio se non l'eliminazione di alcune parti), per vedere la differenza tra le due diverse posizioni della telecamera, e intanto fare una piccola recensione del sentiero.

Video 1: telecamera posizionata sul casco

Video 2:  telecamera posizionata sotto alla sella

Come si può notare le differenze, soprattutto in fatto di vibrazioni sono molte, nella ripresa dalla bici servirebbe un obbiettivo grandangolare per avere una visuale più ampia, comunque ci sto lavorando, spero al più presto di poter postare video migliori...

E ora veniamo al sentiero:

 
Visualizza una mappa più ampia

Il sentiero inizia dove vedete il simbolo rosso in mappa (Via Ranco).

La prima parte, come si vede anche dalla mappa di open street map, è una strada bianca che presto diventa un sentiero nel sottobosco.

In questa parte, che ci accompagnerà fin quasi a Grana, bisogna prestare molta attenzione alla fitta vegetazione e ai rami degli alberi, a volte molto bassi...

L'ultima parte, praticamente dal tornate con il traliccio, bisogna prestare attenzione al fondo, pietroso e cedevole.

Quando siamo in fondo alla strada pietrosa, ci troveremo a passare su una parte su roccia, e circa 50 m dopo dobbiamo salire a sinistra costeggiando la rete degli orti, prestando attenzione a una secca curva, nuovamente a sinistra, attraversata da una piccola canaletta in cemento per l'acqua. In questo punto dobbiamo prestare molta attenzione alla svolta, perchè si rischia di finire negli orti, inoltre dobbiamo moderare la nostra velocità perchè è facile incontrare altre persone, soprattutto i proprietari dei fondi, quindi rallentiamo e massima cortesia e disponibiltà con chi incontriamo sulla nostra strada.

Le difficoltà maggiori in bici si incontrano nella parte di sottobosco, il sentiero non è molto largo e non sempre pulito (facile presenza di pietre sotto alle foglie). Particolare attenzione la dobbiamo prestare nel tratto successivo alla piccola deviazione in salita (piccola rampa a sinistra fatta per oltrepassare un tronco), a circa metà tra questa e il tornante con il traliccio incontriamo un dislivello di circa 1,5 - 2 m, tranquillamente oltrepassabile in bici, ma comunque insidioso...

Buon divertimento e alla prossima!!! 

martedì 6 marzo 2012

Ffmpeg - tagliare video

I comnadi per tagliare un video con ffmpeg sono molto semplici.
Prima di tutto dobbiamo guardare il nostro video e decidere dove edeguire i tagli.
Per fare questo di solito uso vlc e controllo il tempo del video nella barra di avanzamento video, scelgo il punto di partenza del video (se diverso dall'inizio vero e proprio), che chiameremo A e quello finale (sempre se diverso dalla vera fine del video), che chiameremo B.
Se abbiamo un video di 10 min. e lo vogliamo tagliare partendo da 1 min e 5 secondi dall'inizio (A = 00:01:05) fino ad 8 min (B = 00:08:00) con ffmpeg dobbiamo procedere scrivendo quanto segue:
----------------------------------------------------------------------------------------------------------------------------
$ ffmpeg -i video_input -vcodec copy -acodec copy -ss "00:01:05" -t "00:06:55" -video_output
----------------------------------------------------------------------------------------------------------------------------

Analizzando quanto scritto sopra troviamo:

-i = nome del video in input

-vcodec = il tipo di codec video (in questo caso lo stesso del video originale)

-acodec = il tipo di codec audio (in questo caso lo stesso del video originale)

-ss = inizio del punto in cui ffmpeg comincia a decodificare il nostro video

-t = la durata del video da decodificare B - A (in questo caso 00:08:00 - 00:01:05 = 00:06:55)

Il tempo viene indicato nel formato hh:mm:ss, ma si può indicare anche in secondi.


venerdì 2 marzo 2012

Fotografia Time Lapse con Linux

Se siete sempre stati affascinati dalle immagini dei fiori che sboggiano, o di eventi mooooolto lunghi riprodotti in pochi secondi di filmato allora non vi resta che provare la fotografia Time Lapse, e se come me siete appassionati di linux non vi resta che provare gphoto2!

Per iniziare ho preso le info da questo articolo (secondo me molto ben fatto...),
e dopo alcune prove con la mia Nikon D3000 (riconosciuta subito senza problemi da gphoto2) ho realizzato questo piccolo video di prova.

400 foto scattate in mezzora con 5 secondi tra l'una e l'altra - video da 15 secondi

Visto che non resistevo alla voglia di provare ho realizzato il tutto senza fare troppe considerazioni sui tempi. Oltretutto mi si è spostata la macchina fotografica perchè ho dovuto muoverla per due cause non considerate:

1 - non ho disabilitato il risparmio energetico al pc, così si è ibernato e ho perso qualche minuto a circa metà lavoro

2 - ho provato a lasciare la messa a fuoco automatica (per provare), purtroppo quando la legna è scesa sotto il punto di messa a fuoco è impazzita la macchina fotografica (non riusciva a mettere a fuoco il vetro annerito dal fumo) così si è nuovamente interrotto il lavoro e ho dovuto toccare la macchina per togliere la messa a fuoco automatica.

Per il resto l'unico problema riscontrato è stata la creazione del video con ffmpeg (programma che oltretutto uso per i miei video), così ho utilizzato il buon vecchio avidemux aggiungendo il filtro mplayer per il ridimensionamento delle immagini (da 3872x2592 a 720x576) e l'aggiunta delle bande nere sopra e sotto (perchè per mantenere le dimensioni ho dovuto ridimensionare a 720x482 e aggiungere due bande alte 46).

Le impostazioni da me utilizzate per scattare le foto sono:

$ gphoto2 -I 5 -F 400 --capture-image-and-download --filename %04n.jpg 

-I indica l'intervallo in secondi tra uno scatto e l'altro

-F il numero di scatti

--capture-image-and-download scarica le foto direttamente sul pc, nella cartella in cui vi trovate quando lanciate il programma (in questo caso mi sono precedentemente creato una cartella con il nome del progetto in Immagini e da terminale mi sono posizionato al suo interno, con $ cd Immagini/nome progetto

--filename %04n.jpg questo fa sì che il file venga salvato sul pc con un numero progressivo, partendo da zero, di quattro cifre (es. 0001.jpg - 0002.jpg - ... - 0399.jpg - 0400.jpg) 

 400 foto scattate in un'ora con 10 secondi tra l'una e l'altra - video da 15 secondi

260 foto scattate in un'ora con 10 secondi tra l'una e l'altra - video da 11 secondi

Buon divertimento e alla prossima!!!

Non ho testato tutte le funzioni di gphoto2, e ovviamente non mi prendo responsabilità nel caso questo dovesse danneggiare la vostra fotocamera.