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.

sabato 1 aprile 2023

Cambiare l'ora nelle foto in Windows ma in Unix style

Mai capitato di caricare su Google/Amazon Foto, o qualsiasi altro servizio cloud, o anche semplicemente mettere nella stessa cartella foto scattate da macchine fotografiche con data/ora diversa e vedere, una accanto all'altra, rigorosamente alternate, taglio della torta, ingresso in sala e ballo? 

Google Foto da PC, ad oggi, permette di spostare l'orario, ma non con i secondi (arrotonda a 00"); non so gli altri, quindi qualsiasi manipolazione dei dati EXIF va fatta prima di caricare le foto. Basta avere come riferimento ora, minuto e secondo di una foto di riferimento, annotare la distanza temporale e
  • scaricare il tool exiv2 da https://exiv2.org/download.html
  • scompattare lo zip e metterlo in una cartella 
  • aggiungere la directory dell'eseguibile dell'installazione completa <install>/bin al PATH di sistema utente (potete recuperare la finestra per inserirla  digitando variabili nella casella di ricerca delle Impostazioni di Windows)
  • aprire un terminale nella directory delle foto
  • Per cambiare orario, ad esempio 20' e 14" indietro, digitate
    (nota per chi conosce il comando originale: non c'è più bisogno di ad | adjust)

    exiv2.exe -a -00:20:14 *.JPG

  • Per cambiare il file timestamp (nota: non c'è più bisogno del mv | rename)

    exiv2.exe -T *.JPG

exiv2 è un comando molto potente, che permette di fare tantissime altre cose con i dati EXIF e non solo; digitando 

    exiv2.exe -h 

è disponibile un breve elenco di opzioni, in rete si trovano esempi e l'intero manuale.

p.s: 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.