1 votes

Noms de fichier de photo JPG après l'importation depuis un iPhone vers l'application "Photos"

Depuis des années, nous centralisons toutes nos photos de famille sur un disque (local) lisible depuis Windows, Linux et Mac OS X. Les noms de fichier sont généralement quelque chose comme D:\Photos\2020-05\IMG_76843.jpg ou D:\Photos\2020-05\20200502_1256_2.jpg, provenant de différents appareils photo numériques ou smartphones Android.

Maintenant j'ai un iPhone et j'ai importé près de 10 Go de photos avec le Macbook application "Photos" . Je ne veux pas les conserver dans cette application, mon objectif final est de gérer les fichiers JPG moi-même et de les déplacer sur le disque externe mentionné ci-dessus. J'ai donc pris tous les fichiers de ~/Pictures/Photos Library.photoslibrary/Masters/ et les ai déplacés sur le disque externe. (ou ~/Pictures/Photos Library.photoslibrary/originals/ avec Catalina). Cela a fonctionné. Après cela, j'ai supprimé Photos Library.photoslibrary (plus nécessaire, je créerai une nouvelle bibliothèque de photos lors de la prochaine importation ; encore une fois, je ne veux pas utiliser l'application Photos sauf pour importer depuis l'iPhone).

Question : j'ai maintenant des fichiers comme :

DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg
DE017ACB-5ABD-4113-B110-95DABF7F28F7_1_105_c.jpeg
DE017ACB-5ABD-4113-B110-95DABF7F28F7_4_5005_c.jpeg

et il y a deux problèmes :

  • ce sont des doublons de tailles différentes (cela est probablement simple, je peux écrire un script pour supprimer les fichiers plus petits *_1_105_c.jpg et conserver uniquement le gros fichier original)

  • les fichiers sont dans un ordre totalement aléatoire !

Avant de créer mon propre script Python (examinant les métadonnées EXIF et recréant des "nouveaux noms de fichiers" en fonction de la date et de l'heure de la photo), y a-t-il des astuces/choses à savoir/techniques pour récupérer de meilleurs noms de fichiers photo à partir de ces noms de fichiers à l'aspect aléatoire : DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg ?

Plus généralement, est-il possible d'avoir moins de désordre avec les noms de fichiers JPG lors de l'importation de photos depuis un iPhone ?

Notes annexes :

  • Je fais des sauvegardes automatisées, localement et à distance

  • nous ne voulons pas utiliser de solution cloud pour gérer les photos, et pas non plus de logiciel de catalogage (comme Lightroom ou similaire)

  • Raison de ce "Je veux gérer les fichiers photo moi-même" : avec cette méthode "simples fichiers JPG dans des dossiers", les photos peuvent être lues sur n'importe quel appareil (Win, Linux, Mac, etc.) sans avoir besoin d'un logiciel spécifique qui serait probablement non maintenu/indisponible en 2079, lorsque mes enfants voudront les ouvrir ;)
    "Juste des fichiers JPG dans un dossier" est probablement la méthode qui maximise les chances d'être ouverts dans 50 ou 100 ans.

  • pour ma prochaine importation depuis l'iPhone, y a-t-il un autre logiciel que l'application "Photos" qui définira directement de meilleurs noms de fichiers lors de l'importation ? Il semble que "Image Capture" fonctionnerait mieux dans mon cas : Comment importer des photos dans OS X sans utiliser Photos.app ?

2voto

Basj Points 161

Pour les futures importations d'iPhone vers l'ordinateur

Utiliser l'application "Capture d'image" au lieu de l'application "Photos" résout en effet la plupart des problèmes (comme expliqué ici : Comment importer des photos dans OS X sans utiliser l'application Photos.app?). Notes :

  • Désactiver "Conserver les originaux" pour que les fichiers HEIC soient automatiquement convertis en JPG lors de l'importation (je ne suis pas sûr que les ordinateurs de mes enfants pourront facilement comprendre les fichiers HEIC dans 70 ans, mais sûrement que JPG sera supporté!)

  • "Supprimer après importation" est important.

  • À la fin de l'importation, j'ai eu quelques fichiers MOV avec "Erreur 9937". Refaites ensuite l'export pour ces fichiers avec "Conserver les originaux" activé.

Pour une exportation déjà faite avec des noms de fichiers aléatoires

1) Exécutez d'abord un script qui regroupe les variations de la même photo, telles que :

DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg
DE017ACB-5ABD-4113-B110-95DABF7F28F7_1_105_c.jpeg
DE017ACB-5ABD-4113-B110-95DABF7F28F7_4_5005_c.jpeg

Cela peut être fait facilement avec Python avec :

import glob, os
H = dict()
for f in glob.glob('*.jpeg'):
    h = f[:36]  
    H.setdefault(h, []).append(f)

Ensuite, pour chaque groupe, vous pouvez conserver le fichier avec le nom le plus court (par exemple, DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg) et supprimer les autres (avec os.remove(...)).

2) Exécutez un script Python qui transforme un nom de fichier aléatoire DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg en 20200502_120003.jpg basé sur la date et l'heure stockées dans les métadonnées EXIF

import glob, os, PIL.Image, datetime

for f in glob.glob('*.jpeg'):
    with PIL.Image.open(f) as img:
        exif_data = img._getexif()
    if exif_data == None:
        # faire quelque chose ici
        continue
    model, software, dt = exif_data.get(272, ''), exif_data.get(305, ''), exif_data.get(306, '')
    newfname = datetime.datetime.strptime(dt, '%Y:%m:%d %H:%M:%S').strftime('%Y%m%d_%H%M%S') + '.jpg' if dt != '' else f
    # renommer le fichier avec le nouveau nom
    # et le déplacer également dans un dossier spécifique selon le modèle/logiciel
    # cas spécial à gérer : collisions de noms de fichiers

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X