1 votos

JPG foto de nombres de archivos después de un iPhone a la "aplicación de Fotos" importar

Desde hace años, nos centralizar todas nuestras fotos de la familia en un (local) disco legible desde Windows, Linux y Mac OS X. Los nombres de archivo son normalmente algo como D:\Photos\2020-05\IMG_76843.jpg o D:\Photos\2020-05\20200502_1256_2.jpg, cuando proceden de diversas cámaras digitales o teléfonos inteligentes Android.

Ahora tengo un iPhone, y me importaron casi 10 GB de fotos con el Macbook "Fotos" de la aplicación. No quiero mantenerlos dentro de esta aplicación, mi objetivo final es la gestión de los archivos de JPG a mí mismo, y moverlos en el disco externo (mencionado anteriormente). Así que me tomé todos los archivos de ~/Pictures/Photos Library.photoslibrary/Masters/ y la trasladó a un disco externo. (o ~/Pictures/Photos Library.photoslibrary/originals/ con Catalina). Esto funcionó. Después de que he borrado Photos Library.photoslibrary (ya no es necesario, voy a crear una nueva biblioteca de fotos cuando la importación la próxima vez; de nuevo, no quiero usar las Fotos de la aplicación, excepto para importar desde el iPhone).

Pregunta: ahora tengo archivos como:

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

y hay dos problemas:

  • son duplicados de diferentes tamaños (esto es, probablemente, simple, puedo hacer un script para eliminar los archivos más pequeños, *_1_105_c.jpgy mantener el original en archivo de gran tamaño único)

  • los archivos están en un orden totalmente aleatorio!

Antes de que yo hago mi propia secuencia de comandos de Python (examen de EXIF y volver a crear "nuevos nombres", de acuerdo a la datetime de la foto), existen trucos o cosas para saber/técnicas para recuperar mejor la foto de los nombres de archivo de estos al azar en busca de nombres de archivo: DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg?

De manera más general, es posible que tenga menos un lío con los nombres de archivo JPG al importar fotos desde un iPhone?

Sidenotes:

  • Hago copias de seguridad automatizadas, tanto a nivel local y distante

  • no queremos utilizar una solución en la nube para gestionar fotos, y además no la catalogación de software (como Lightroom o similar)

  • La razón para esto "quiero manejar archivos de fotos a mí mismo": con este "simple JPG archivos en las carpetas de" método, las fotos se pueden leer en todos los dispositivos (Win, Linux, Mac, etc.) sin necesidad de un software específico que podría probablemente ser mantenido/disponible en el año 2079, cuando mis hijos que se desea abrir ellos ;)
    "Sólo los archivos JPG en una carpeta" es probablemente el método que maximiza las posibilidades de que se abre en 50 o 100 años.

  • para mi próxima importar desde el iPhone, hay otro software de "Fotos" de la aplicación que directamente se ajusta mejor a los nombres de archivos al importar? Esto parece demostrar que "Captura de Imagen" que funcionaría mejor en mi caso: ¿Cómo puedo importar fotos en OS X sin necesidad de utilizar Fotos.aplicación?

2voto

Basj Puntos 103

Para el futuro iPhone -> equipo de las importaciones

El uso de "Captura de Imagen" de la aplicación en lugar de "Fotos" aplicación resuelve la mayoría de los problemas de verdad (como se explica aquí: ¿Cómo puedo importar fotos en OS X sin necesidad de utilizar Fotos.aplicación?). Notas:

  • Conjunto de "Mantener los originales" para discapacitados con el fin de tener HEIC archivos automáticamente convertida a JPG durante la importación (no estoy seguro de si mis hijos computadoras serán capaces de entender HEIC archivos fácilmente en 70 años, pero seguramente JPG serán compatibles!)

  • "Eliminar después de la importación" es importante.

  • Al final de la importación, tuve el Error de "9937" para un par de archivos MOV. A continuación, vuelva a realizar la exportación de estos archivos con "Mantener los originales" habilitado.

Para una exportación ya se hace al azar los nombres de archivo

1) en Primer lugar ejecutar una secuencia de comandos que los grupos de variaciones de la misma foto, tales como:

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

Esto se puede hacer fácilmente con Python con:

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

A continuación, para cada grupo, usted puede guardar el archivo con el menor de nombre de archivo (por ejemplo DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg) y eliminar a los otros (con os.remove(...)).

2) Ejecutar una secuencia de comandos de Python que transforma un nombre aleatorio DE017ACB-5ABD-4113-B110-95DABF7F28F7.jpeg a 20200502_120003.jpg basado en la datetime almacenados en el EXIF metadadata

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:
        # do something here
        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
    # rename the file with the new filename
    # and also move it in a specific folder according to model/software
    # special case to handle: filename collisions

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X