Outils pour utilisateurs

Outils du site


modifier_les_dates_des_photos_metadata_et_des_fichiers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
modifier_les_dates_des_photos_metadata_et_des_fichiers [2022/05/16 23:25]
flaz [Modifier les dates des photos (metadata) et des fichiers]
modifier_les_dates_des_photos_metadata_et_des_fichiers [2022/06/09 09:46] (Version actuelle)
flaz [Appliquer les dates d'une photo à une autre photo]
Ligne 3: Ligne 3:
   * l'appareil photo n'était pas à la bonne date ou à la bonne heure lors de la prise de vue   * l'appareil photo n'était pas à la bonne date ou à la bonne heure lors de la prise de vue
   * la date des fichiers a été modifiées lorsqu'on les a importées depuis l'appareil photo pour les enregistrer sur l'ordi.   * la date des fichiers a été modifiées lorsqu'on les a importées depuis l'appareil photo pour les enregistrer sur l'ordi.
-On peut aussi souhaiter dater les photos suivant la date du fichier qui les contient. Ce sera notamment le cas pour reconstruire un ordre ("chronologique") à partir du résultat d'un traitement : par exemple, aligner la chronologie sur l'ordre alphabétique des noms de fichiers((Cela peut permettre de s'assurer que les photos seront toujours affichées par ordre alphabétique.)). 
  
 Dans le premier cas, les //métadonnées// horaires enregistrées à l'intérieur des fichiers des photos sont erronées. Il en résulte un décalage horaire dans les //métadonnées// qu'il va suffire de corriger. Mais la date des //fichiers// sera également erronée puisque l'//horloge// de l'appareil photo n'était pas à l'heure. Dans le premier cas, les //métadonnées// horaires enregistrées à l'intérieur des fichiers des photos sont erronées. Il en résulte un décalage horaire dans les //métadonnées// qu'il va suffire de corriger. Mais la date des //fichiers// sera également erronée puisque l'//horloge// de l'appareil photo n'était pas à l'heure.
  
 Dans le second cas, les fichiers se retrouveront avec la date de l'importation des photos. Autrement dit, une date sans lien avec la prise de vue. Dans ce cas, il suffit de récupérer les métadonnées horaires contenue dans chaque photo pour les appliquer aux //fichiers// correspondants. Dans le second cas, les fichiers se retrouveront avec la date de l'importation des photos. Autrement dit, une date sans lien avec la prise de vue. Dans ce cas, il suffit de récupérer les métadonnées horaires contenue dans chaque photo pour les appliquer aux //fichiers// correspondants.
 +
 +On peut aussi souhaiter dater les photos suivant la date du fichier qui les contient. Ce sera notamment le cas pour reconstruire un ordre ("chronologique") à partir du résultat d'un traitement : par exemple, aligner la chronologie sur l'ordre alphabétique des noms de fichiers((Cela peut permettre de s'assurer que les photos seront toujours affichées par ordre alphabétique.)).
  
 ===== Corriger la date des photos et synchroniser les dates de fichiers d'un répertoire ===== ===== Corriger la date des photos et synchroniser les dates de fichiers d'un répertoire =====
Ligne 41: Ligne 42:
 </code> </code>
 Malgré les apparences, la commande ne modifie pas les noms des fichiers. Malgré les apparences, la commande ne modifie pas les noms des fichiers.
 +===== Appliquer les dates d'une photo à une autre photo =====
 +Si on veut uniquement appliquer la date de prise de vue :
 +<code>
 +exiftool -tagsFromFile fichier-source-meta -DateTimeOriginal fichier_cible
 +</code>
 +On peut appliquer toutes les dates disponibles. C'est vite fait mais peut-être pas assez sélectif pour ce qu'on voudrait :
 +<code>
 +exiftool -tagsFromFile fichier-source-meta -AllDates fichier_cible
 +</code>
  
 +On peut aussi appliquer toutes les méta-données. Encore plus vite fait, encore moins sélectif :
 +<code>
 +exiftool -tagsFromFile fichier-source-meta fichier_cible
 +</code>
 ===== Décrémenter la date des fichiers d'un répertoire ===== ===== Décrémenter la date des fichiers d'un répertoire =====
 On décide d'appliquer la commande //touch// ((Parce que //touch// est la commande de base pour modifier une date de fichier et qu'elle dispose de la puissance et de la lisibilité de //DATE STRING//.)) à un ensemble de fichiers existants. Les solutions présentées peuvent être déclinées pour de multiples usages. On décide d'appliquer la commande //touch// ((Parce que //touch// est la commande de base pour modifier une date de fichier et qu'elle dispose de la puissance et de la lisibilité de //DATE STRING//.)) à un ensemble de fichiers existants. Les solutions présentées peuvent être déclinées pour de multiples usages.
Ligne 78: Ligne 92:
 exiftool -overwrite_original "-exif:datetimeoriginal<filemodifydate" <motif de fichier(s)> exiftool -overwrite_original "-exif:datetimeoriginal<filemodifydate" <motif de fichier(s)>
 </code> </code>
 +
 +===== Préfixer un nom de fichier par un numéro d'ordre =====
 +==== Suivant l'ordre chronologique des fichiers ====
 +<code>
 +jhead -n"%02i_%f" `ls -t *.jpeg`
 +</code>
 +<note>La date du fichier peut être héritée des méta-données de la photo (cf [[#appliquer_la_date_exif_d_une_photo_a_son_fichier|supra]]) ou résulter d'un autre traitement, manuel (//touch//-like) ou automatique.</note>
 +==== Suivant l'ordre alphabétique des noms de fichiers ====
 +<code>
 +jhead -n"%02i_%f" *.jpeg
 +</code>
 +variante utilisant "//find -exec//"((Permet d'utiliser toute la puissance de collecte de //find//.))
 +<code>
 +find *.jpeg -exec jhead -n"%02i_%f" {} \;
 +</code>
 +===== Aligner la chronologie des fichiers sur l'ordre alphabétique des noms de fichiers =====
 +On est un peu hors sujet et ça peut paraître bizarre mais cette opération peut être fort utile dans certains cas.
 +
 +Le plus simplement :
 +<code>
 +touch *.jpeg
 +</code>
 +<note important>Cette méthode rapide donnera le résultat voulu dans de nombreux cas((Avec de forts présupposés.)) mais elle n'est pas rigoureuse. Elle ne garantit pas une date différente pour chaque fichier.</note>
 +Avec xargs((Si on a besoin d'un traitement plus complexe.)) (ici, pour dater en fonction de l'ordre alphabétique inverse) :
 +<code>
 +ls -1r * | xargs -n 1 bash -c 'sleep 1 ;touch "$0"'
 +</code>
 +<note tip>Afin de garantir des dates de fichiers différentes, cette commande rudimentaire consomme 1 seconde par fichier.</note>
 +<note>Pour garantir des dates de fichiers différentes sans imposer une attente, il est nécessaire de spécifier le résultat attendu avant de pouvoir définir l'algorithme à utiliser.</note>
modifier_les_dates_des_photos_metadata_et_des_fichiers.1652736341.txt.gz · Dernière modification: 2022/05/16 23:25 de flaz