Cambiar la fecha de las fotos en darktable

Tengo un problema que me imagino que será bastante común.

Todas las fotos tienen una fecha de captura que se almacenan en los metadatos del fichero. Sobretodo con las fotos tomadas con cámaras viejas, escaneadas o que se mandan por email, a veces estas fechas están mal o ni si quiera están. Es un problema para cuando quieres filtrar imágenes por fechas en darktable.

¿Sabéis si en darktable se puede cambiar esta fecha?
El editor de metadatos solo contiene unos campos limitados pero no la fecha.

Menos mal que en mi caso tengo las fechas en los nombres de las carpetas, pero lo suyo es tenerlo bien también en los metadatos.

image

En el módulo de Geoetiquetado puedes modificar la hora, pero solo con saltos de hasta 99 horas.

image

En la próxima versión será más flexible (hasta con la opción de ver rutas generadas con GPS), pero no sé si eso se ajuste a tus necesidades.

Muy interesante el link que has mandado @pitbuster . Me alegro que esten mejorando esas funcionalidad, aunque degraciadmente creo que aún así a mí no me valdría.

Quizás la única solución sea hacerlo con otra aplicación que sí escriba los datos EXIF del fichero y luego volver importar otra vez a darktable. Pero claro, ahí ya tendría que eliminar el xmp de darktable para que darktable vuelva a leer los datos EXIF direcamente del fichero otra vez.
Otra opción podría ser que la otra aplicación escriba la nueva fecha en en xmp en un formato que darktable sí pueda enteder…

¿Alguien ha probado cambiar fechas en digiKam? Sino, ¿hay una alternativa más fácil? Esto le tiene que estar pasando a más gente seguro…

Y has probado a cambiar la fecha con un editor de codigo en el xmp?

Todavía no. Quería primero asegurame que no se puede hacer dentro de darktable antes de empezar a probar con otras aplicaciones.

Parece que desde darktable no es posible hacer lo que dices

1 me gusta

Gracias por confirmarlo. Ya sabiendo eso, entonces me pongo a buscar alternativas.

Espera, me comenta que darktable permite compensar la hora I que en su vídeo de shoot wedding lo explica. Eso sí , no se puede cambiar la fecha exif

Lo que expone en ese vídeo es la modificación horaria con el módulo de geolocalizacion. Cómo te comentaba anteriormente @pitbuster

He hecho la prueba modificando el archivo xmp con un editor de código, y no funciona. darktable sigue sin leer esa modificación. Deberás utilizar otro programa que si lo permita, (ya me pensaba que no iba a funcionar pero habia que probarlo, jaja)

Tengo entendido que darktable por defecto sólo “lee” el xmp una vez para copiar los datos a la base de datos. Es más eficiente así.
Luego darktable “escribe” los cambios en el xmp y en la base de datos a la vez para tener los dos siempre actualizados.
Si realizas cambios en el xmp, ya sea porque usas otra aplicación o porque usas darktable en varios ordenadores con las mismas fotos entonces tendrías que activar la opción de “Buscar archivos XMP actualizados al iniciar”. Eso fuerza darktable a leer el xmp cada vez que abres la aplicación e importar los cambios si es que los hay.

@jordicarsan ¿tenías la opción activada antes de cambiar el xmp fuera de darktable?

No, no la tenia activada. Pero lo voy a probar una vez la active. Tengo a darktable actualizando como un loco, jeje

Bien, lo he probado y todo y haber cambiado el xmp. Haber sobreescrito el archivo al iniciar darktable, sigue sin variar la fecha/hora exif de la imagen

Quizás no sea la solución más userfriendly, pero quizás EXIFTool te sirva. Yo la he usado mucho para leer metadatos, pero estoy seguro de que también permite editarlos.

1 me gusta

Entiendo que sucede eso porque los datos Exif están incrustados en la imagen en bruto. Los cambios que se hacen mediante dt, se incrustarán en los formatos de revelado (TIFF, JPG, etc).

Me autorrespondo. Acabo de hacer una prueba rápida con una foto en raw (CR2, de una Canon EOS 1200D) con exiftool desde Linux.

La original (IMG_1962.CR2 sin modificar)
Captura de pantalla de 2021-03-04 20-30-56

La captura con los metadatos modificados.

Y la línea utilizada

exiftool <imagen> -overwrite_original -CreateDate="YYYY:MM:DD HH:mm:SS"

El -overwrite_original sobrescribe el original sin posibilidad de backup, hay que tener cuidado.

Lo bueno es que si son muchas imágenes y la hora te viene dando igual, puede montarse un script para trabajar con carpetas de imágenes enteras.

1 me gusta

Entonces debes volver a importar la imagen para que aparezca con la nueva fecha. Lo has hecho?

Gracias @jsalvador por tu solución detallada! Con ello efectivamente se puede cambiar la fecha correctamente del fichero original (que es lo suyo).
Ahora @jordicarsan tiene razón, que ahora falta que darktable pueda ver ese cambio. Tengo entendido que darktable sólo lee la información EXIF del fichero la primera vez que importa la imagen y la copia al xmp. Viendo un fichero xmp cualquiera veo que figura la fecha exif:

exif:DateTimeOriginal=“2021:01:23 19:07:34”

Si no has editado la imagen supongo que lo más fácil es sacarla de darktable y volver a importarla. En mis caso, me vale porque suelen ser jpegs viejos y no pierdo mucho re-importándola.

Pero si alguien tuviera etiquetas o ediciones en darktable que no quisiera perder, entiendo que el problema es más complejo. Supongo que tendrías que editar también el xmp y forzar a darktable que relea el fichero xmp en el siguiente arranque.

1 me gusta

¿tendría entonces más sentido hacer este cambio en digikam en vez de darktable?

@matecrudo ya comprobó en esté artículo que los datos se sincronizar correctamente entre ambas aplicaciones.

Y las “marcas de tiempo” están entre la lista de metadatos que se escriben en el fichero.

¿Alguien sabe si funcionaría y como se puede cambiar la fecha en digikam? Veo la fecha pero no como cambiarla