Проблемы с записью метаданных EXIF ​​/XMP "дата создания" в jpgs

У меня есть php-скрипт, который использует Flickr API для загрузки моих изображений с Flickr, анализа связанного текста и метаданных и сохранения версий на моем сервере с метаданными, встроенными в файлы изображений. Я работаю с историческими изображениями и хочу отображать их в порядке даты на своем смартфоне (я пробую приложение F-Stop на Android).

У меня есть обновление метаданных, работающее с использованием PHP JPEG Metadata Toolkit - http://www.ozhiker.com/electronics/pjmt/ - путем записи данных XMP в файлы. Но, судя по всему, я не могу заставить работать "свидание"!

Вот несколько примеров изображений:

Это оригинальный файл от Flickr, с датой, установленной в качестве даты, когда я создал файл http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fflickr. JPG (щелкните правой кнопкой мыши на изображение и сохраните его, если вы хотите проверить его локально)

Вот моя первая попытка с инструментарием. Он обновил XMP "DateCreated", но не EXIF ​​CreateDate или XMP CreateDate http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fjpg_

Поэтому я заставил его изменить XMP CreateDate http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fprocessed_new.jpg. Затем это отображается в проводнике Windows как дата создания, но не в приложении F-Stop.

Поэтому мне было интересно, если EXIF ​​CreateDate, который все еще имеет значение из Flickr, имеет приоритет, поэтому я удалил эти метаданные (набор инструментов не позволяет вам изменять EXIF, насколько я вижу) http: // metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fprocessed_new2.jpg

Ни в одном из этих случаев F-Stop правильно интерпретирует дату. Я связался с разработчиками, но на самом деле я не думаю, что это приложение виновато, я думаю, что это формат метаданных в файлах. Это связано с тем, что когда я отображал этот оригинальный файл в проводнике Windows и изменял дату его создания, этот файл отлично работает http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fflickr_win.jpg

Может кто-нибудь сказать, что происходит, или предложить другой способ, которым я мог бы пойти по этому поводу?

1 ответ

Хорошо, теперь я решил это.

Кажется, что приложение FStop не может прочитать даты из файлов xmp, поэтому оно либо считывает их из сегмента JFIF/App12/"Ducky" в начале файла, либо, если оно не существует, оно считывает файл метка времени. Конечно, это означало, что мой план по созданию единого профиля xmp со всеми моими метаданными не сработает.

Я переключился на ImageMagick, но это столкнулось с той же проблемой - я мог удалить профили и загрузить / изменить профиль xmp, но не смог сразу же найти способ создать / обновить значения даты в сегменте JFIF.

В итоге я прибег к вызову exiftool с помощью команды exec exec("exiftool -AllDates='1863-07-23 12:00:00' -overwrite_original testfile.jpg"); (Я изменю это от AllDates и просто установлю CreateDate, но я должен проверить это)

Немного неуклюже, но это работает! В любом случае я использую Imagick для изменения реальных изображений, поэтому, если кто-нибудь знает, как я могу изменить эти заголовки, я буду рад их услышать.

Другие вопросы по тегам