Pietro Toniolo

2006-08-29

exiftool

Filed under: Photo, Software — ptoniolo @ 18:28:21

Ho trovato un’utility niente male per leggere e manipolare in modo massivo gli attributi Exif delle foto. La trovate qui.

Si tratta di un’utility command-line, in pratica uno script Perl. La sintassi dei comandi è mostruosa, ma comunque funziona.

In particolare a me è servita perché ho fatto un paio di cazzate:

  • quest’anno mi sono dimenticato di fare sulla mia Canon S80 il passaggio all’ora legale
  • sono stato in Turchia, che ha un’ora in più dell’Italia, e mi sono dimenticato di sistemare l’ora o di cambiare il tipo di time registrato

Mi sono quindi trovato con alcune foto con un’ora meno di quanto avrebbero dovuto mostrare, altre con due. Sia come data del file, che per le varie date registrate nei tag Exif. Con questo strumento, ho messo le foto di cui cambiare la data in una cartella a parte (per poterle manipolare con *.JPG) e ho emesso questi comandi:

	exiftool -AllDates+=1 *.JPG
	exiftool '-DateTimeOriginal>FileModifyDate' *.JPG


in cui il primo cambia tutte le date dei tag Exif di un’ora in più (per le foto della Turchia ho ovviamente fatto -AllDates+=2). I due comandi dati insieme non funzionano: il secondo comando evidentemente prende il tag DateTimeOriginal prima della variazione! Questo aggiusta le date delle foto (IMG_*.JPG) e anche degli stitch (ST?_*.JPG) ma non le date dei filmati. Non so come faccia la vostra Canon, ma la mia, oltre al file .AVI, aggiunge un file di tipo .THM, che in pratica contiene i tag Exif del filmato, ed è modificabile da exiftool. Quindi se avete filmati si deve dare in pasto al programma anche i file *.THM oltre ai *.JPG, e a questo punto manca solo di cambiare la data del file AVI, cosa che con cygwin si può fare con un comando tipo:

	for i in *.THM
	do
		touch -r $i $(basename $i .THM).AVI
	done


Purtroppo, all’interno dei file avi esiste anche un tag DateTimeOriginal, che non viene modificato, dato che exiftool non può scrivere nei file in formato RIFF, perlomeno non in questa versione…

Un’ultima cosa: se volete distribuire le foto in cartelle con la data, potete farlo anche con exiftool:

	exiftool -P '-Directory<DateTimeOriginal' -d %Y-%m-%d *.JPG


So che ci sono molti modi per fare la stessa cosa, ma questo si può fare a command line, quindi è scriptabile eccetera…

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: