Не работает со многими файлами (более 100, зависит от длины пути к файлу)
Это связано с жестким ограничением в Windows на длину командной строки. Плагин пытается назвать все фотографии, которые вы выбрали, в одном экземпляре ExifTool. 1
Единственное, что вы можете с этим сделать, - это обновить до Windows 7+, если вы еще этого не сделали. Предел в XP и Vista значительно короче. 2
Вам также следует написать автору плагина, попросив его обойти это ограничение. Например, он может определить, когда он приближается к пределу, и запустить новую команду ExifTool. Повторяйте, пока все фотографии не будут исправлены. При повторных вызовах ExifTool вы заплатили бы немного, но просто набрав несколько десятков за вызов, вы все равно получите большинство преимуществ амортизации времени запуска.
Между тем, вы можете использовать сам Lightroom, чтобы отслеживать, где вы находитесь в проекте, поскольку вы откусываете ~ 100 фотографий за раз. Я бы сделал это так:
В библиотеке откройте фильтр метаданных, затем выберите «Неизвестный объектив» в столбце «Объектив».
В сетке под фильтрами выберите несколько рядов изображений и пропустите их через LensTagger.
Когда плагин завершит работу, закройте его и скажите «Метаданные»> «Читать метаданные из файлов». По мере загрузки новых метаданных объектива каждой фотографии он исчезает из сетки, поскольку его объектив теперь «известен».
Повторяйте, пока не закончите. :)
Не работает с нелатинскими именами / папками Unicode
Я не уверен, что с этим происходит. Для этого LensTagger использует ExifTool, написанный на Perl, который, возможно, является самым доступным языком программирования с поддержкой Юникода. Сама Windows также поддерживает Unicode, начиная с Windows NT 3.1, в начале 1990-х годов. Сама LR также вряд ли является проблемой, так как плагины написаны на Lua, который также поддерживает Unicode, хотя и не в той же степени, что Perl или Windows SDK.
Если бы мне пришлось угадывать, я бы сказал, что это, вероятно, в коде синтаксического анализа командной строки ExifTool, так как Perl не выполняет правильных действий с текстом Unicode по умолчанию в I / O. В нем есть все инструменты, необходимые для правильного выполнения Юникода, но вы должны написать свой код, чтобы явно использовать эти инструменты; Вы не получаете это бесплатно.
Я бы отправил его автору плагина в качестве сообщения об ошибке.
Необходимо читать Metadate из файла вручную после каждого
Это связано с жестким ограничением в Lightroom SDK .
Если бы SDK был , чтобы разрешить это, он сделал бы это через вызов API photo:setRawMetadata()
. В v5 SDK просто нет опции для настройки данных объектива.
Это, к сожалению, распространенный случай. С помощью этого вызова API LR SDK можно установить только около 60 полей метаданных, тогда как ExifTool знает вдвое больше метаданных форматов , каждое из которых определяет множество полей. Я предполагаю, что ExifTool позволяет установить на несколько порядков больше полей, чем LR SDK.
Хотите это исправить? Пожаловаться на Adobe. Не то чтобы я очень надеялся на этот вариант. В LR 5.0 SDK не добавлено любых новых полей относительно 4.0.
Примечания:
Это хорошая идея, поскольку она амортизирует время запуска ExifTool над набором фотографий. Запуск его один раз для каждой фотографии займет значительное время.
Это, или переключитесь на OS X, у которой нет этого ограничения. :)
У меня LensTagger работает в фоновом режиме на 638 фотографиях прямо сейчас на моей коробке OS X. LensTagger должен был создать командную строку ~ 158 КБ, чтобы осуществить это.