uno script per sovrapporre dati gps su un video
Se avete un video di una uscita in bici o qualsiasi altra attività che avete anche tracciato con un computer da bicicletta o un gps o un’applicazione di fitness che produce un file tcx usando questo script avrete il video originale con in sovraimpressione la telemetria ( velocità, cadenza, altezza, battiti cardiaci, etc ) contenuta nel file tcx.
La versione attuale a riga di comando è molto spartana, produce un file video senza audio ( il concetto è che poi comunque verrà usato come input in un programma di video-editing ), comunque il risultato non è male.
Il funzionamento è abbastanza semplice:in ingresso abbiamo il file video, il file tcx con la sessione e una stringa di sincronizzazione dati tcx->video.
La stringa è nel formato: <data iso>@<tempo> che in pratica significa che nel video al tempo specificato in <tempo> sono le ore specificate in <data iso>.
Il file di ingresso viene dunque scomposto nei singoli fotogrammi che lo compongono, per ogni fotogramma viene chiamata una funzione php con il corrispondente record del file tcx ( trackpoint ). Dato che ci sono più fotogrammi che trackpoint – solitamente i trackpoint sono ogni secondo e di fotogrammi ce ne sono 25/30 al secondo – alla funzione verranno passati eventualmente dei valori interpolati relativi a velocità, cadenza, battiti cardiaci e altezza, per avere maggiore fluidità nella strumentazione virtuale.
La funzione che può essere personalizzata semplicemente combina il fotogramma con il trackpoint e restituisce in uscita un file svg.
Il file svg verrà renderizzato per produrre il rispettivo fotogramma di uscita.
Terminata l’operazione, tutti i fotogrammi renderizzati con la telemetria verranno usati da ffmpeg per produrre la traccia video.
Consiglio di installare l’ultima versione di ffmpeg, possibilmente compilandola da sorgenti seguendo esempio questa guida.
Per quanto riguarda lo script, non c’è bisogno di nessuna compilazione dato che è in php, trovate i sorgenti su github
Esempi di utilizzo:
./annotator.php --template=elevation -i P1030915-stabilized.mp4 -g "2014-07-07T05:01:21Z@00:00:03" -t sessione.tcx --ffmpeg-outfile-options="-vcodec libx264 -b:v 8000k -profile:v baseline -level 3.1" -o P1030915-annotated.mp4
./annotator.php --help per avere la lista delle opzioni
Qualche video fatto con l’annotator:
ciclabile Saxa Rubra, via Flaminia
Stai leggendo “ uno script per sovrapporre dati gps su un video ”, un post di Fabrizio Zellini
- Pubblicato il
- 7 Luglio 2014 //php the_time('G:i') ?>
- Categorie:
- ciclismo, free software, php, video
Nessun commento
commenta | feed commenti [?] | trackback uri [?]