Конвертация RAW-файлов в DNG через контекстное меню в OS X

Конвертация RAW → DNG по правому клику

Парадная лестница в доме Елисеевых на Биржевой линии, 14. Вид с третьего этажа. Fujifilm X100T, Fujinon 23mm f/2.0 Aspherical Super EBC, , ƒ/5.6 ISO, 800, 1/8″.

Начав фотографировать на камеру Fujifilm X100T, я столкнулся с тем, что RAW-файлы с Fuji в формате RAF недоступны для записи в GPS Photo Linker (работает через exiftool). Кроме того, файлы RAF явно несжатые, поскольку матрица у камеры 16 мегапиксел, а средний размер файла превышает 35 Mb.

Очевидное решение – конвертировать файлы RAF в формат DNG. Они и по размеру меньше в полтора раза, и в них можно „зашить“ гео-координаты места снимка. Поскольку открывать утилиту Adobe DNG Converter лень, процесс конвертации был автоматизирован в OS X.

Для этого в Automator нужно создать новую службу (Service) и добавить в последовательность автоматически выполняемых операций элемент AppleScript (Run AppleScript):

Automator: создание нового скрипта

Automator: вставка нового AppleScript

Скрипт запрашивает директорию для сохранения файлов DNG, создаёт строку для запуска утилиты DNG Converter через консоль, в которой будут указаны все имена выделенных файлов, запускает в фоне конвертер и в конце выдаёт сообщение в центр уведомлений о том, что конвертация завершена.

Вот как выглядит скрипт:

property DNGConverterPath : "/Applications/Adobe DNG Converter.app/Contents/MacOS/Adobe DNG Converter"
# Расположение утилиты Adobe DNG Converter, по умолчанию – "/Applications/Adobe DNG Converter.app/Contents/MacOS/Adobe DNG Converter"
property ShowDebug : false
# Поставить в true, если хотим видеть диагностические сообщения
 
to SelectOutputDirectory()
   # Диалоговое окно с выбором папки для сохранения файлов DNG
   if ShowDebug then
      set OutputFolder to choose folder with prompt "Select folder to save output DNG files:" with invisibles
   else
      set OutputFolder to choose folder with prompt "Select folder to save output DNG files:"
   end if
   return OutputFolder as text
end SelectOutputDirectory
 
on run {input, parameters}
   # Выполняется при вызове через контекстное меню
   set OutputFolder to POSIX path of SelectOutputDirectory()
   # Выбираем папку для сохранения файлов DNG
   if length of input as list is greater than 0 then
      # Убеждаемся, что был выделен хотя бы один файл
      local ScriptString
      set ScriptString to "open -a \"" & DNGConverterPath & "\" --args -c -e -fl -d \"" & OutputFolder & "\" "
      # Формируем строку для запуска DNG-конвертера из консоли:
      # сохраняем в формате сжатый DNG, сохраняем данные для быстрой загрузки,
      # формат по умолчанию DNG 1.4, совместимый с Adobe Camera RAW 7.1+
      # Документация по вызову утилиты Adobe DNG Converter из консоли:
      # dng_commandline.pdf
      repeat with i in input
         set ScriptString to (ScriptString & "\"" & POSIX path of i as text) & "\"" & " "
         # Дописываем в строку имена выделенных файлов
      end repeat
      set ScriptResult to do shell script ScriptString
      # Выполняем команду
      if ShowDebug then
         # Если включены диагностические сообщения,
         # выводим их в виде уведомления
         if length of ScriptResult is greater than 0 then
            set ScriptResult to "Conversion of " & {length of input as list} & " files to DNG resulted in error: " & ScriptResult
         else
            set ScriptResult to "Conversion of " & {length of input as list} & " files to DNG in folder " & OutputFolder & " completed."
         end if
         display notification ScriptResult with title "DNG Conversion" sound name "Submarine"
      end if
   end if
   return 0
end run

После компиляции сохраняем скрипт в папку по умолчанию: ~/Library/Services/ с каким-нибудь осмысленным именем, например, Convert to DNG.

Теперь для конвертации проприетарных RAW-файлов в DNG достаточно выделить их в Finder и через контекстное меню вызвать функцию преобразования.

Добавить комментарий