Проблема с добавлением тега -OriginalFileName с помощью exiftool - PullRequest
0 голосов
/ 26 февраля 2020

Когда я набираю следующую команду

exiftool -config .ExifTool_config -o "/volumes/xsan2/lvis/level1/mjd/58680/camera2/images/LVISCAM2_ABoVE2019_0716_R2002_083194.JPG" -GPSDateStamp="2019-07-16" -GPSTimeStamp="23:06:34" -GPSLatitude="62.090340" -GPSLongitude="114.193019" -GPSLatitudeRef="N" -GPSLongitudeRef="W" -GPSAltitude="2822.12" -GPSRoll="-2.76" -GPSPitch="-0.19" -GPSImgDirection="96.38" -GPSImgDirectionRef="T" -Creator="Nasa's Classic (lvis.gsfc.nasa.gov)" -UserComment="Instrument: NASA's Classic (lvis.gsfc.nasa.gov), Mission: ABoVE2019, Platform: GLF5_N95NA" -OriginalFileName="/volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG"

Я получаю эту ошибку:

Ошибка: невозможно создать файлы JPEG с нуля. 1 файлы не были созданы из-за ошибок

Однако, если я уберу тэг -OriginalFileName, но все равно оставлю имя файла в кавычках, вот так:

exiftool -config .ExifTool_config -o "/volumes/xsan2/lvis/level1/mjd/58680/camera2/images/LVISCAM2_ABoVE2019_0716_R2002_083194.JPG" -GPSDateStamp="2019-07-16" -GPSTimeStamp="23:06:34" -GPSLatitude="62.090340" -GPSLongitude="114.193019" -GPSLatitudeRef="N" -GPSLongitudeRef="W" -GPSAltitude="2822.12" -GPSRoll="-2.76" -GPSPitch="-0.19" -GPSImgDirection="96.38" -GPSImgDirectionRef="T" -Creator="Nasa's Classic (lvis.gsfc.nasa.gov)" -UserComment="Instrument: NASA's Classic (lvis.gsfc.nasa.gov), Mission: ABoVE2019, Platform: GLF5_N95NA" "/volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG"

Он обновляет файл так, как я ожидал.

Почему это не похоже на имя тега -OriginalFileName ???

1 Ответ

0 голосов
/ 26 февраля 2020

Назначение тега OriginalFileName работает нормально. Проблема в том, что вы на самом деле не обрабатываете файлы. Каждый раз, когда возникает ошибка Can't create JPEG files from scratch, это означает, что ExifTool не был предоставлен файл для фактической обработки, или имя файла, которого он был задан, не существует.

В первой команде вы назначаете значение от
"/volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG" до OriginalFileName. Но вы не указали фактический путь к файлу, поэтому exiftool знает, какой файл вы хотите обработать. Удалив -OriginalFileName= из второй команды, exiftool теперь имеет файл для фактической обработки.

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

Или вы можете использовать
"-OriginalFileName<FilePath"
FilePath, который всегда будет абсолютным путем к файлу.

Редактировать:
Чтобы разбить вашу команду в ответ на ваш комментарий. Извините, если мне кажется здесь покровительственным, я не хочу этого делать, но поскольку ваша команда длиннее, чем ее можно легко отобразить здесь, трудно увидеть все детали.
exiftool
Это выполняется exiftool

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

-o "/volumes/xsan2/lvis/level1/mjd/58680/camera2/images/LVISCAM2_ABoVE2019_0716_R2002_083194.JPG"
Эта опция создаст новый файл с путем к файлу /volumes/xsan2/lvis/level1/mjd/58680/camera2/images/LVISCAM2_ABoVE2019_0716_R2002_083194.JPG все новые данные записываются в этот файл. Исходный файл не будет изменен никаким образом.

-GPSDateStamp="2019-07-16"
Установите для тега GPSDateStamp значение 2019:07:16. Обратите внимание, что, хотя exiftool будет правильно писать дату в этом случае, этот формат не является правильным способом форматирования дат для exiftool. Вы должны использовать двоеточия вместо тире. Это может привести к трудно найти ошибку. Подробнее см. Exiftool FAQ # 5 .

-GPSTimeStamp="23:06:34"
Установите для тега GPSTimeStamp значение 23:06:34

-GPSLatitude="62.090340"
Установите для тега GPSLatitude значение 62.090340

-GPSLongitude="114.193019"
Установите для тега GPSLongitude значение 114.193019

-GPSLatitudeRef="N"
Установите для тега GPSLatitudeRef значение N

-GPSLongitudeRef="W"
Установите для тега GPSLongitudeRef значение W

-GPSAltitude="2822.12"
Установите для тега GPSAltitude значение 2822.12

-GPSRoll="-2.76"
Установите для тега GPSRoll значение -2.76

-GPSPitch="-0.19"
Установите для тега GPSPitch значение -0.19

-GPSImgDirection="96.38"
Установите для тега GPSImgDirection значение 96.38

-GPSImgDirectionRef="T" Установите значение Для тега GPSImgDirectionRef установлено значение T

-Creator="Nasa's Classic (lvis.gsfc.nasa.gov)"
Установите для тега Creator значение Nasa's Classic (lvis.gsfc.nasa.gov

-UserComment="Instrument: NASA's Classic (lvis.gsfc.nasa.gov), Mission: ABoVE2019, Platform: GLF5_N95NA"
Установите Для тега UserComment установлено значение Instrument: NASA's Classic… (для краткости использованы данные)

-OriginalFileName="/volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG"
Установите для тега OriginalFileName значение /volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG

Теперь, обратите внимание, что последняя строка устанавливает значение только тега OriginalFileName. Это не говорит exiftool для обработки этого файла. Вам нужно добавить имя файла отдельно, чтобы exiftool знал, какой файл он будет обрабатывать.

Редактировать 2:
Разбивка вашего второго комментария. Когда вы добавляете пробел, как вы упомянули, ваша команда становится такой:
-OriginalFileName=
Это очищает значение тега OriginalFileName. Если вы проверите новый созданный файл, то обнаружите, что в нем нет тега OriginalFileName.

"/volumes/xsan2/lvis/archive/mjd/58680/GLF5_N95NA/camera/classic/LVISCAM1_2019_07_16_051912.JPG"
Теперь, когда этот путь к файлу отделен от всего остального, он становится видимым exiftool как файл для обработки.

...