sabato 24 giugno 2023

Gestire le date delle foto con Exiftool

Come complemento del post precedente, volendo anche sistemare le date usando exiftool invece di exiv2 (ricordo che Google Photo lo sa fare, ma non ha la granularità al secondo), il comando necessario da dare su un Terminale aperto nella cartella delle foto è il seguente:

    .\exiftool.exe  "-AllDates+=0:55:49" -verbose *.JPG

Così ho spostato in avanti di 55' e 49" le date Original, Create e Modify di tutti i JPG nella cartella (con un po' di informazioni in più col -verbose). Se volete spostare anche il giorno/mese/anno, usate

    .\exiftool.exe  "-AllDates-=1:2:11 0:0:6" *.JPG

 e avrete, ad esempio, le date indietro di 1 anno, 2 mesi, 11 giorni (e 6 secondi).

Attenzione, in generale, alla sintassi di (quasi tutti i) comandi

    -TAG        mostra il/i TAG
    -TAG=       li/lo cancella
    -TAG=a      imposta il TAG (o i TAG) ad a
    -TAG+=a     imposta (in relativo) il/i TAG sommando a; idem con la sottrazione

Per vedere tutte le date di una foto, il comando invece è

    .\exiftool -time:all -G1 -a -s .\DSC_0066.JPG

Un'altra cosa interessante è sistemare la timezone. Innanzi tutto, perché può essere utile? In caso di ordinamento di foto per data/ora di scatto, in caso di foto scattate da più macchine, Windows non si crea problemi, una foto scattata alle 10:58 GMT+2 (ad esempio, con l'ora solare impostata nella macchina) verrà sempre prima di una scattata alle 10:59 GMT+1 (per esempio, con l'ora solare impostata non impostata nella fotocamera, ma con l'orologio portato direttamente avanti); Google Photo, invece, rispetterà il tempo effettivo, e quindi la foto delle 10.59 sarà posizionata quasi un'ora prima dell'altra. (ok, lo so, Google Photo sa sistemare la timezone senza problemi 😊, ma dato che ci siamo, sistemiamo anche gli originali!). 

Anche in questo caso il comando è in relativo, cioè aggiungiamo o togliamo 60' (se dobbiamo passare da GMT+1 a +2 o viceversa) al TAG corrispondente

    .\exiftool.exe -daylightsavings="Yes" -timezone+=+60 *.JPG

    .\exiftool.exe -daylightsavings="Yes" -timezone+=-60 *.JPG

Da notare che per -timezone ci vuole il +=- per scendere di TZ.
Inoltre, per Google Photo, -daylightsavings non è necessario, ma anche qua, visto che ci siamo...

Come al solito, anche se exiftool genera copie delle immagini modificate, lavorate sempre tenendo gli originali da parte: ho provato personalmente gli esempi di sopra, basandomi su info prese online e nei forum, ma non mi assumo responsabilità in caso di problemi.

domenica 18 giugno 2023

Google Photo: foto in Original invece che in High Quality

Vi è mai capitato di voler caricare da Web su Google Photo le foto in High Quality e invece le trovate non compresse in Original? (con lo spazio a disposizione che va via velocemente...). A me capita con immagini in JPG scatatte da Nikon D3400 e D750, ma non da NEF scattate con le stesse macchine, oppure JPG scattate da Nikon D3100.

È un bug noto di Google Photo, come da questo post del supporto di Google; sostanzialmente, non piacciono i dati Exif MPF.

Come risolvere? Basta cancellarli 😊. 

Come scritto qui (viene anche spiegato cosa sono questi TAG), si può fare con exiftool con questa riga di comando da un Terminale aperto nella cartella delle foto

    .\exiftool.exe  -MPF:All= -Trailer:All=  *.JPG

dopo averlo scaricato dal sito e copiato nella cartella stessa. Adesso, caricate su Google Photo verranno regolarmente compresse se avete attivato l'opzione nelle impostazioni.

Anche exiftool è un comando molto potente, alternativo e complementare del già citato exiv2, che però non riconosce i tag MPF. Digitando 

    .\exiftool.exe --help 

è disponibile un elenco di opzioni, sul sito si trovano esempi e il forum.

p.s: come già suggerito per exiv2, se non volete perder l'ordine temporale delle foto, in caso di comandi o prove errate, tenete SEMPRE le foto originali da parte (sia pur con la data/ora sbagliata)  e lavorate su copie: ho provato personalmente gli esempi di sopra, basandomi su info prese online e nei forum, ma non mi assumo responsabilità in caso di problemi.