ExifTool no extrae los metadatos EXIF ​​corruptos del archivo jpeg. ¿Cómo repararlo?

El visor de imágenes nomacs ofrece una forma rápida de agregar notas de imágenes a través de Exif.Image.ImageDescriptionmetadatos.

Después de haber editado el formulario para my-image.jpg, puedo ver esta propiedad en nomacs y Thunar (explorador de archivos Linux Xfce).

Pero exiftool no lo mostrará:

exiftool my-image.jpg

También se ha intentado lo siguiente después de haber leído esta publicación :

exiftool -EXIF:ImageDescription my-image.jpg
exiftool -Exif:ImageDescription my-image.jpg

Necesito una forma de procesar las notas de la imagen a través de CLI y me gustaría usar exiftool para este propósito. Por lo tanto: ¿qué me he perdido?

¿ Has probado exiftool -a my-image.jpgy filtrado la salida?
@RomeoNinov acaba de probar el -acambio, desafortunadamente sin efecto adicional (lo mismo con -e, -ee, -u).
Esto significa para mí que el software no almacena la nota en la imagen, tal vez sea un error.
Hm, esto es extraño. El explorador de archivos Thunar es completamente independiente de nomacs y también me muestra para my-image.jpg-> Propiedades -> Imagen -> Descripción -> test123, donde test123ha sido el texto de mi nota dada.
¿Ha probado el comando en exiftool FAQ #3 y buscado a través de todos los datos en el archivo para ver la ubicación real de sus datos?
Acabo de instalar nomacs y probé la función Paneles-> Notas de imagen según su enlace y se escribió correctamente en EXIF:ImageDescription.
Muchas gracias por probar eso. Déjame probar eso en una máquina diferente para descartar incertidumbres.
@StarGeek ah, ya veo: mi problema parece estar relacionado con el sistema de archivos de red/ruta/permisos y ni con nomacs ni exiftool. Si repito la misma secuencia con un archivo de imagen, que está almacenado en algún lugar de la ruta del disco local , los metadatos se escriben correctamente. De todos modos, ¡muchas gracias por señalarme en la dirección correcta! Supongo que necesito investigar un poco más por qué sucede eso con los archivos de red.
Actualización: No, la red tampoco ha sido el problema. Parece que algunos archivos de imagen están lo suficientemente dañados, por lo que exiftool ya no puede/se niega a leer metadatos. Algunas imágenes en mi almacenamiento de red se pueden cambiar, otras no.
¿Son todos jpg o hay algún otro formato? Por ejemplo, los archivos BMP no pueden contener metadatos.
Sí, todos son .jpg. Desafortunadamente no puedo compartirlos aquí, como archivos de la empresa. Veo, si esto se puede reproducir con archivos públicos.
Me di cuenta de que nomacs en realidad no guarda los datos en el archivo hasta que cierra el programa. Entonces, aunque presione el ícono de guardar varias veces, no aparecerá nada en exiftool hasta que salga del programa.
Buena pista de @StarGeek, puede confirmar problemas de latencia. Pero el archivo .jpg específico en realidad parece tener metadatos corruptos, no puedo escribir el archivo ImageDescription. ¿Hay alguna forma (preferiblemente por exiftool) de limpiar/desinfectar el área de almacenamiento de metadatos de la imagen para intentarlo de nuevo?
@ramo, para limpiar puedes usar el comandoexiftool -all= path_to_file
@RomeoNinov funciona, ¡gracias! Por supuesto, esto elimina todos los demás metadatos, pero está bien con respecto a que los metadatos de la imagen aparentemente tienen errores en su conjunto. Puede publicar eso como respuesta, si lo desea, y lo aceptaré con gusto.
Sugeriría la Pregunta frecuente n.º 20 de exiftool , que reescribirá los metadatos y ahorrará tanto como sea posible. Nota adicional, NUNCA use -all=o la Pregunta frecuente 20 en una imagen RAW (NEF, ARW, CR2, etc.), ya que dichas imágenes pueden corromperla permanentemente. ETA: ah, veo que @ramo se me ha adelantado.

Respuestas (2)

Según la discusión en los comentarios, parece que los metadatos de este archivo de imagen están dañados. Lo que puede hacer es limpiar los metadatos y volver a intentarlo:

exiftool -all= path_to_file

Tenga en cuenta que esto eliminará todos los metadatos del archivo. Si desea eliminar solo metadatos particulares, puede usar un comando como:

exiftool -EXIF:ImageDescription= path_to_file

Para obtener el nombre exacto, puede usar el comando:

exiftool -a path_to_file
Esto es genial. Cuando tenga más representantes, también votaré tu respuesta.
Por cierto: también encontré un método que intenta preservar las etiquetas existentes y publicar esto como respuesta alternativa
@ramo updoot para ti. =)

(Además de la gran respuesta de Romeo Ninov )

Existe una alternativa a las preguntas frecuentes de Exiftool , que intenta reparar los metadatos de archivos JPEG y conservar las etiquetas existentes:

exiftool -all= -tagsfromfile @ -all:all -unsafe -icc_profile my-image.jpg

ExifTool se puede utilizar para solucionar problemas de metadatos en imágenes JPEG eliminando todos los metadatos y reconstruyéndolos desde cero. [...]

Este comando elimina todos los metadatos y luego copia todas las etiquetas de escritura que se pueden extraer de la imagen original en las mismas ubicaciones en la imagen actualizada. La "Unsafe"etiqueta es un atajo para etiquetas EXIF ​​no seguras en imágenes JPEG que normalmente no se copian. Las imágenes JPEG también pueden contener un perfil de color ICC que debe conservarse. La "ICC_Profile"etiqueta también está marcada como no segura, pero no forma parte del EXIF, por lo que no está cubierta por el "Unsafe"acceso directo y debe especificarse por separado.

Después de reparar una imagen como esta, debería poder escribir en ella sin errores, pero tenga en cuenta que es posible que se hayan perdido algunos metadatos de la imagen original en el proceso .

Nota: ExifTool no modificará los datos de la imagen JPEG, por lo que si la imagen en sí está dañada (por ejemplo, si recibe un mensaje que dice "No es un JPEG válido"), ExifTool no se puede usar para reparar la imagen. Además, ExifTool no se puede usar de esta manera para reparar archivos basados ​​en TIFF o archivos RAW: el riesgo de corrupción de la imagen es demasiado grande porque la imagen se almacena en el mismo IFD que los metadatos en estos archivos.