Сохранение метаданных в изображениях и во внешней базе данных

В поисках идеального приложения для управления фотографиями (я знаю :) я немного сравнил несколько приложений, которые кажутся мне привлекательными с точки зрения функциональности и стоимости. Одним из наиболее важных отличий является то, что некоторые приложения сохраняют метаданные в изображениях (как бы перезаписывая оригиналы), а некоторые сохраняют их в своих базах данных.

Хотя я предпочитаю всегда сохранять оригиналы нетронутыми, я вижу, как подход, заключающийся в наличии всех метаданных с самим изображением, может оказаться полезным.

Существуют ли какие-либо неочевидные преимущества/недостатки того или иного подхода, и что обычно считается лучшей практикой (учитывая, что это несколько субъективно, так что не могли бы вы указать одну или две причины)?

Подобный вопрос уже задавался, если не изменяет память (что тоже сомнительно :), но найти не смог. Если кто-то наткнется на него, ссылка на него была бы потрясающей :)

Ответы (4)

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

Это избавит вас от:

  • Вы переместили или переименовали файл изображения.

Если вы можете написать в файл больше информации — ключевые слова, подписи — тогда вы спасены от:

  • Ваша база данных повреждена.
  • Вы обновили свой компьютер, и ваша программа базы данных там не работает.

Третий вариант — записать метаданные в файлы sidecar. Обычно эти файлы имеют то же имя, что и основной файл, но другой суффикс.

  • Это позволяет восстановить все ваши данные в случае сбоя базы данных.

Недостатки хранения данных в образе:

Запись в исходные файлы может привести к повреждению файла. Большинство форматов RAW теперь достаточно хорошо изучены, чтобы, по крайней мере, идентифицировать и заменять строки метаданных строкой той же длины. Если вы скажете своей камере поместить строку авторского права

Copyright 2018 J. Random Shutterbug Image XXXX-XXXX-XXXX-XXXX-XXXX-XXXX  

Затем, пока DAM сохраняет эту строку той же длины, вы являетесь золотым.

Сохранение всех метаданных (или всего, что вы можете) в исходных изображениях делает доступ к ним очень медленным. Ваша программа должна прочитать хотя бы несколько первых блоков каждого изображения.

  • Запись данных назад занимает много времени.

  • Некоторые форматы файлов не поддерживают метаданные.

  • Некоторые форматы файлов (Photoshop PSD) отличаются искажением метаданных.

  • Сбой в процессе записи может привести к повреждению файла образа. В качестве альтернативы, запись нового файла, а затем замена старого файла, требует, чтобы весь файл был прочитан и записан, а не только его часть. Это имеет серьезные проблемы с производительностью.

Недостатки баз данных

Базы данных работают быстро, но они объемные, а вы записываете в середину блоков данных. Если реализация базы данных надежна, беспокоиться не о чем. Но на жестких дисках есть ошибки, и одна ошибка может сделать базу данных частично или полностью непригодной для использования. Хороший дизайн базы данных имеет встроенную избыточность, так что вы можете восстановить/перестроить.

Базы данных часто являются собственностью. Данные могут быть сжаты для увеличения скорости. Получение ваших данных может быть сложным. (проблема для людей, использующих диафрагму)

Базы данных часто оптимизируются по-разному. Как правило, надежность достигается за счет производительности и сложности. Одним из компромиссов является запись всех изменений сначала в файл транзакции (быстро...), а затем фоновый процесс выполняет обновление базы данных в фоновом режиме.

Недостатки колясок

Вы должны прочитать миллионы файлов при запуске.

Если вы сделаете пакетное изменение (добавите ключевое слово «Италия» ко всем 3000 снимков ваших летних каникул), программа каталога откроет, модифицирует и запишет 3000 файлов.

Если вы переименуете файл и не переименуете файл сопроводительного файла, ваши метаданные больше не будут связаны с вашим изображением.

Лучшая практика

Мнение только здесь: Извините.

  • Вам нужен уникальный тег актива, который находится на изображении. Это может быть фактический тег, такой как авторское право, упомянутый выше, или тег, производный от информации в изображении. Это может быть отметка времени EXIF ​​(не уникальная — несколько снимков в секунду, несколько камер). Если ваша программа читает заметки производителя, лучше всего выбрать модель камеры + серийный номер камеры + отметку времени + сотые доли секунды.
  • Вам нужна база данных для скорости. Он, конечно, имеет уникальный идентификатор
  • Вам нужны дополнительные компоненты для восстановления базы данных и переносимости данных. У них уникальный идентификатор.

В случае сбоя базы данных ее можно восстановить из сайдкаров.

Если sidecar поврежден, его можно восстановить из базы данных.

Если изображение переименовано, идентификатор можно использовать для повторного подключения его к боковой машине и для исправления базы данных.

Чтобы это работало, вы должны использовать много временных меток. Если сопутствующая запись более поздняя, ​​чем последняя метка времени в записи базы данных, то вспомогательная запись является авторитетной записью.

Учитывая относительно хрупкую природу необработанных файлов, наилучшей практикой является система, которая записывает только ноль или один раз в необработанный файл. Exif

Коляски не нужно обновлять в режиме реального времени. Удобным способом сделать это было бы то, что всякий раз, когда база данных вносит изменения в запись:

  • Создайте новую запись, дублирующую старую запись в базе данных.
  • Внесите изменения в новую запись.
  • Новая запись помечена как "не записана в коляску"
  • Старая запись помечена как "устаревшая"
  • Другой поток записывает файлы sidecar, записывает новый, затем удаляет старый (или переименовывает новый в имя старого).
  • Периодически вы запускаете очистку базы данных, удаляя устаревшие записи старше X дней. Это дает вам возможность откатить изменения.

Это неполное: это не решает проблему неразрушающего редактирования. Многие программы теперь позволяют создавать несколько изображений из одного и того же мастер-файла и создают не новое растровое изображение, а файл с рядом инструкций о том, как сделать изображение из мастер-файла. Насколько я знаю, все такие методы являются проприетарными. Это приводит к затруднениям, поскольку приложения, которые хорошо отслеживают метаданные, могут быть не в состоянии справиться с неразрушающими правками. Это может быть критично, если вы вырезаете человека из изображения.

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

Кажется, это очень поляризующая вещь. Хотя я бы никогда не выбрал программное обеспечение, которое каким-либо образом изменяет мои изображения, я знаю людей, которые не выбрали бы программное обеспечение, которое не хранило бы метаданные в файлах!

Проблема в том, что если метаданные являются внешними, то файлы не затрагиваются. В моей системе образы монтируются в раздел только для чтения, поэтому я гарантирую, что никакое программное обеспечение не сможет их изменить, что имеет несколько важных для меня преимуществ :

  • Файлы никогда не меняются: это означает, что дата файла всегда одинакова и отражает время захвата. Операционная система может использоваться для поиска и сортировки файлов так же, как и любые другие файлы.
  • Файлы никогда не меняются: резервное копирование продолжается инкрементно и не дублирует и не делает недействительным ни один файл. Каждый файл встречается только один раз в резервной копии 3-го уровня, которая находится на оптических дисках.
  • Файлы никогда не меняются: отсутствует риск непреднамеренного повреждения, повреждения или перезаписи из-за ошибок в приложении обработки изображений. Повреждение и потеря, очевидно, все еще возможны, поэтому у меня есть 3 уровня резервных копий.

Упомянутое преимущество наличия метаданных в файле заключается в том, что эти два параметра нельзя разделить, и они всегда перемещаются вместе при копировании или перемещении файлов.

Истинный. Каков ваш опыт; были ли у вас проблемы при переносе изображений с одного компьютера на другой с внешними метаданными? Я предпочитаю такой подход, но так как я работаю с тремя машинами...
Нет, но обычно я не перемещаю свои изображения между компьютерами, за исключением полного обновления. При показе, отправке или печати изображений я использую функцию публикации Lightroom, которая при необходимости встраивает метаданные в выходной файл, который в конечном итоге отбрасывается. Я предполагаю, что было бы более громоздко, если бы файл должен был вернуться для совместного редактирования примера fox.
Еще один конкретный вопрос/пример; мои файлы обычно хранятся на внешнем жестком диске. Поддерживает ли Lightroom хранение метаданных в базе данных в папке, где находятся файлы изображений (каждая папка имеет свою собственную базу данных)? Или какая-то аналогичная схема, которая была бы удобна для удобного перемещения между компьютерами (все необходимые данные вместе с изображениями на внешнем диске)?
Единицей данных Lightroom является Каталог . Одновременно можно открыть только один каталог, но вы можете использовать столько каталогов, сколько захотите. Например, вы можете использовать один каталог для каждого жесткого диска, но нет автоматической опции для каждого каталога. Есть еще один вариант, где Lightroom хранит метаданные в XMP-боксе, по одному на файл. Даже если у вас есть Lightroom для обратной записи в файлы, для открытия каталога все равно нужен каталог. Вот как работает это программное обеспечение, и, возможно, стоит посмотреть, как работают другие, такие как AfterShot Pro. Этот, по-видимому, допускает каталогизированный и некаталогизированный рабочий процесс, но я не пробовал.
№ 1 легко решается, поскольку существует множество способов сбросить дату файла, чтобы она соответствовала дате захвата EXIF.
Легко в каждом конкретном случае, да, но все же добавляет сложности. Вам придется повторно синхронизировать дату после каждого редактирования или иметь повторяющееся задание для синхронизации двух. В любом случае это сложнее, чем не делать этого :)
@ Itai Мне любопытно, какие у вас три уровня резервного копирования. Я понимаю, что это лишь косвенно относится к вопросу, но не могли бы вы расширить свой ответ, просто перечислив уровни, которые вы используете?
@MichaelKjörling - Первый уровень - это ночная синхронизация из источника, который находится на паре твердотельных накопителей, на стандартный жесткий диск. Второй уровень — раз в две недели с внутренних SSD на внешние SSD (чтобы не копировать возможные ошибки с 1-го уровня), а третий уровень — стопка Blu-Ray, записанная в двух экземплярах (один комплект для дома и один для сейфа в банке). ). Весь стек оптических дисков обновляется каждые 5 лет или около того, чтобы избежать долговременного повреждения. Да, я знаю, онлайн-копии не хватает на случай, если город сравняют с землей!

Большая проблема с хранением метаданных в изображениях заключается в том, что такие форматы, как JPEG EXIF, имеют проприетарные метаданные, называемые «заметками производителя», созданные производителями камер, редактирование любых данных EXIF ​​может привести к полной потере проприетарных метаданных.

Например, использование последних версий Picasa для присвоения названия изображению приводит к потере всех собственных данных Nikon об используемом объективе и настройках камеры (используемой компенсации экспозиции и т. д.). В более старых версиях Picasa такой проблемы не было (предположительно, они использовали другую кодовую базу для этой функции). Это пример того, как некоторый рабочий процесс, который, кажется, работает сейчас, может иметь крайне нежелательные последствия в более поздней версии используемого вами программного обеспечения.

Интересно. Я не сталкивался с этим, но на самом деле Google параноидально относился к вирусам, внедренным в файлы, и так часто перекодировал изображения, что означало, что даже их вращение без потерь * не было без потерь и значительно уменьшало размер изображения на камерах с чрезвычайно низким сжатием, таких как Pentax серии K, когда IQ установлен на 4 звезды. Сейчас этого нет с переходом на Ricoh.

Если вы тщательно выберете правильное решение DAM, которое не повредит ваши существующие метаданные при обновлении ваших изображений (как сказал RedGrittyBrick), у вас будет больше преимуществ при сохранении ваших метаданных в изображения:

  • Вы можете легко восстановить все ваши описания изображений (и сотни часов вашей тяжелой работы) из метаданных в случае сбоя вашей базы данных. Просто ответьте на вопрос: готовы ли вы снова начать аннотировать свою коллекцию изображений.
  • Вы можете встроить свои авторские права в изображения, чтобы другие не могли незаконно их использовать.
  • Вы не привязаны к своему решению DAM и можете легко перейти на другое решение DAM позже. Так что, по крайней мере, рассмотрите возможность использования решения DAM, которое позволяет хранить метаданные в изображениях, если оно вам когда-нибудь понадобится.
  • Вы можете обмениваться информацией между двумя приложениями на уровне метаданных: например, использовать публикацию, редактирование и инструмент DAM.

Конечно, сказанное выше верно, если ваше решение DAM является зрелым продуктом с проверенным временем клиентов, и ваши метаданные будут правильно записаны в образы в соответствии со спецификацией XMP/MWG.

И, конечно же, вам необходимо сделать резервную копию ваших оригиналов изображений и организовать автоматическое ежедневное резервное копирование вашей базы данных.

Избегайте решений DAM при следующих проблемах:

  • Ограниченная поддержка стандартов метаданных. Случайная поддержка метаданных XMP или Native Format.
  • Неправильно написанные метаданные, которые невозможно прочитать так, как они были записаны. Например, очень немногие продукты могут правильно сохранять/читать иерархические ключевые слова и разбивать местоположение на Регион\Страна\Штат\Город\Местоположение в соответствии со спецификациями IPTC\XMP\MWG.
  • Ограниченный успех в написании метаданных для различных форматов, включая Camera RAW, PNG или PDF.
Из вашего списка преимуществ хранения метаданных в самом файле изображения: # 1 покрывается резервными копиями, которые вам в любом случае понадобятся в любом разумном рабочем процессе. (Просто включите базу данных/каталог/как бы там ни называлось.) Вариант 2 спорный, так как метаданные могут быть легко удалены и сами по себе не предотвращают несанкционированное использование (хотя это может облегчить доказательство того, что изображение принадлежит вам, если вы столкнетесь с ним). № 3 можно обрабатывать с помощью функций импорта/экспорта метаданных или сторонних инструментов. №4 - возможное преимущество.
№1. Часть вашей базы данных может быть повреждена, и вы не увидите эту проблему сразу (скажем, через неделю). Если ваши резервные копии выполняются ночью, а вечером у вас возникнут проблемы с базой данных, вы потеряете дневную работу. № 2. Да, но это дополнительная информация о ваших правах, и некоторые сайты обмена фотографиями будут извлекать и публиковать ваши авторские права вместе с некоторой другой информацией метаданных. №3. Ваше текущее решение DAM может отсутствовать в списке импорта вашего будущего решения DAM, скажем, через 5 лет. В то время как все серьезные DAM должны уметь извлекать метаданные из документов.
И как бы я хотел, чтобы у нас был выбор хороших DAM для работы. Я не знаю ни одного , который приблизился бы к удовлетворению моих потребностей.