Друга частина балету. Перша — там.
Вчора, черговий раз копирсаючись на форумі відомого ресурсу, здибав інший рецепт прописування даних про мануальні лінзи в EXIF’и сучасних цифрових RAW’ів. Рецепт вельми мудрий і, головне, простий до неподобства. На кожну стару лінзу робиться файлик з її ТТХ подібного характеру (припустимо, що файлик називається czjtessar50exa.txt):
-n
-XMP:Lens=Carl Zeiss Jena Tessar 50mm f/3.5 (EXA)
-XMP:SerialNumber=3692001
-EXIF:MaxApertureValue=3.5
-EXIF:FocalLength=50
-EXIF:FocalLengthIn35mmFormat=50
-EXIF:FNumber=5.6
Опосля натравлюємо ExifTool на цей файлик та відповідну папочку з RAW’ами (або конкретно взятий RAW…):
exiftool -@ czjtessar50exa.txt H:\RAW\2012\20120218.Family.NEX\
Власне, після того Апертури з Лайтрумами будуть коректно показувати назву лінзи. Остання стрічка неістотна, позаяк прописує значення дірки при зйомці, її можна відкинути.
Для лінивих Lightroom’щиків є plug-in, який робить приблизно те саме.
|
Отримавши нарешті адаптерне кільце Sony E-mount ↔ M42 нарешті зміг порозважатись, діставши з полиці старенький полтосик. Втім, одразу згадав «стару» проблему: як потім ті знимки вирізнити? В Exif-то йде все «по нулях» (фокусне, об’єктив, etc).
«Швейцарський ніж метаданих» під назвою ExifTool вирішує, звісно, і цю проблему. Коротко:
exiftool -LensModel="Meyer Optik Görlitz Oreston 50mm F1.8" ‑"MaxApertureValue"=1.8 ‑FocalLengthIn35mmFormat="75" ‑FocalLength="50" ‑LensType="M42 via adapter" FILENAME/MASK
Зациклювати варто, звісно, засобами ExifTool’а. Маководи можуть зробити Droplet/Folder Action з допомогою Automator’а.
|
В процесі аналізу наклацаного виникла потреба швидко та з командної стрічки витягти мініатюрки з RAW’ів. Причому в різних варіантах: як для окремо взятого файла, так і для купки.
Звісно, ExifTool це вміє та робить заввиграшки, ну хіба може бути простіше:
exiftool -b -PreviewImage -w _preview.jpg -ext RAW_EXTENSION -r FOLDER
Цей варіант переварює всі файли з розширенням RAW_EXTENSION (напр., NEF) в папці FOLDER та продовжує працювати в її підпапках. Якщо замість “-r FOLDER” просто вказати назву файлу, получиться одинична мініатюра лише для цього файлу.
Мініатюри будуть збережені поруч з оригіналами.
|
Після оновлення OS X до 10.9 програмуля, яка проставляла геотеги моїм знимкам (та моцно мене дратувала пропозиціями її купити, аби мати можливість дивитись знимки на мапі — тобто, проср… гроші), відмовилась працювати. Без жодних докорів сумління я її нафіг видалив та нарешті перестав лінуватись і прочитав документацію до ExifTool, де йдеться про геотеггінг.
Все виявилось дуже просто.
1. Прогеотегати всі файли *.tif в поточній папці, трек лежить в іншій папці:
exiftool -geotag ~/Documents/Travel/Ukraine/Yavornik.GPX *.tif
2. Те саме, але з застосуванням корекції часу (годинник камери «відстає» від GPS’а на годину):
exiftool -geosync=+1:00:00 -geotag ~/Documents/Travel/Ukraine/Yavornik.GPX *.tif
Важливо: опція «geosync» має йти до «geotag». Підтримуються формати треків: NMEA, Garmin XML/TCX, GPX, KML та інші.
P.s.: Windows’оводи перевіряють наявність каталога з ExifTool в %PATH% та пишуть exiftool.exe.Truly yours, C.O. :]
|
Днями я наступив на вельми несподівані граблі: більша частина оброблених фотографій з однієї поїздки виявилась без EXIF-інформації. Все би нічого, але мав на меті проставити геотеги, а їм, в свою чергу, необхідно мати відомим час зйомки. Перепроявляти tiff’и по-новій, різати та коригувати (попри невелику кількість правок) не хотілось, відтак вирішив скопіювати EXIF’и.
Задача копіювання була виконана не надто тупо (надто тупо — взяти всі оброблені файли та скопіювати в них EXIF’и з оригіналів), а трошки менш тупо (пробігтись по обробленому — якщо EXIF відсутній, скопіювати його з оригіналу). Оскільки все в середовищі OS X, скриптик написаний на bash’і, втім, його можна легко «перекласти» для Windows. Код наступний:
#!/bin/bash
for f in *.*
do
STRING=$(exiftool -Make $f)
if [ "$STRING" == '' ] ; then
echo $f contains no exif;
#remove file extension to get original file name
shopt -s extglob
ORIGINAL_FILE=${f//@(.jpg|.jpeg|.tiff)}
#copy EXIF tags from original file, it should be in parent directory
exiftool -overwrite_original -x Orientation -TagsFromFile ../$ORIGINAL_FILE.NEF ./$f
echo $f, $STRING >> "log.txt";
fi
done
Далі «chmod +x copyMissingExif.sh» і запуск з будь-якого місця системи, де лежать оброблені файли. Умова: оригінали (raw) мають лежати на один рівень вище і мати ті ж самі назви файлів (розширення відтинається).
Недоліки: версія 0.1 але працює :) насправді недолік в дворазовому читанні обробленого файлу в разі копіювання тегів. Ця проблема цілком підлягає вирішенню засобами ExifTool (я сказав, що він неохідний? нє? кажу: ExifTool необхідний), але на разі я не мав часу глибоко вникнути в його схему подібних дій, щойно розберусь — буде версія 0.2.
|