Как правильно перенести фотографии с iPhone на компьютер с учетом косяков и Apple и Adobe


Эта отдельная заметка является частью того как утроена моя система работы с Adobe Lightroom. Выделить ее из того разросшегося документа заставило то, что с каждой новой версий iOS/MacOs, а так же Lightroom отваливается или перестает корректно работать то одно, то другое. 

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

Есть вот такой автоматический вариант: https://forums.adobe.com/thread/2421171, через приложение на телефоне. Однако…

Все через iCloud

Сначала устройство у меня было одно, а компьютер был PC. На момент публикации этой заметки устройств Apple, на которых можно делать фотографии, сильно больше одного, а компьютер на который все копируется теперь не на Windows, а под MacOS. 

Поэтому текущая версия сводится к тому, что все фотографии со всех устройств попадают в iCloud. 

Настраиваем телефон

Первым делом нужно правильно настроить телефон, чтобы фотографии сохранялись корректно и передавались в iCloud. Ну и заодно не забивали место на телефоне:

  • Включаем iCloud Photos

  • Включаем в Transfer to Mac or PC: Keep Originals

Настройка Settings -> Photos в iOS 13

Переходим к Mac

Открываешь приложение Photos на Mac. 

  • До версии Catalina было очень удобно вверху выбрать “показывать по годам”, входить в конкретный год, например 2015, нажимать Show More до тех пор пока надпись не поменяется на другую, подтом выделить все фотографии через Command+A. 

  • В версии Catalina так уже не сделать и приходится переходить в список всех фотографий и руками находить и выбирать первую фотографию в году и последнюю и с зажатым Shift между ними чтобы выделить все за год. 

После этого в меню нажимаешь Export. Там в настройках указываешь что Unprocessed Originals и с сохранением IPTC в XMP файл. Указываешь каталог на диске с годом 2015 в том дереве каталогов куда уже смотрит Lightroom. Через меню Image все эти файлы удаляются из приложения Photos, чтобы потом снова по ошибке их не экспортировать.

Настройки экспорта в Apple Photos

Исправляем косяки экспорта

В этом случае, правда, дата у файлов получается неверная, но зато в XMP файле есть корректная дата. Именно эту дату и будет использовать Lightroom после импорта, так что дата создания файла с фотографией значения не имеет и ее трогать не будем.

 

Однако в Photos начиная с MacOS Catalina разработчики Apple поломали экспорт в XMP данных о геопозиции (не приписывают N/S и S/E так что в какой части света была сделана фотография становится неизвестно). Народ обсуждает это тут, например: https://community.adobe.com/t5/lightroom-classic/gps-location-imported-from-iphone-has-wrong-hemisphere/td-p/10829873?page=1

Ну еще они поломали дату создания снимка по GPS модулю внутри XMP-файла. Это не критично, т.к. Lightroom этим не оперирует, но тем не менее в XMP есть неправильные данные (!). 

Кстати в метаданных исходных фотографий значительно больше данных, чем в них пишет при экспорте Apple Photos, так что рецепт, который исправляет и GPS координаты и GPS время позволяет все данные перенести в XMP файл. 

Поэтому сразу после экспорта, т.е. до импорта в Lightroom, необходимо выполнить следующий скрипт:

find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

exiftool -tagsfromfile %d%f.heic -XMP-tiff:all= -ext xmp . 
exiftool -tagsfromfile %d%f.jpeg -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.jpg -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.mov -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.mp4 -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.aae -XMP-tiff:all= -ext xmp .

# И вариации с верхним регистром если телефон сохраняет их в таком виде

exiftool -tagsfromfile %d%f.HEIC -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.JPEG -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.JPG -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.MOV -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.MP4 -XMP-tiff:all= -ext xmp .

exiftool -tagsfromfile %d%f.AAE -XMP-tiff:all= -ext xmp .

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

Загрузка метаданных из XMP файлов 

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

## Geo Tagging

Никаких дополнительных операций, которые приходится делать с RAW-файлами с камеры (см. Моя система работы с Adobe Lightroom) тут проводить не нужно, т.к. координаты уже есть. 

А после выполнения указанной ранее команды они будут записаны корректно и исправят ошибку приложения Photos с MacOs Catalina. 

Время

Аналогично Geo Tagging время сохранено в нескольких полях и доступно как локальное время, так и UTC. Но если камеру я перевел на UTC и это особенно ни на что не влияет, то с телефоном такое поделать не получится, т.к. на нем нужно нормальное время по текущему часовому поясу.  

Модуль GPS сохраняет информацию в UTC в отдельное поле с метаданными, так что нам просто нужно перенести значение из него в то поле, которое берет Lightroom. Делается это такой командой: 

exiftool '-DateTimeOriginal<${GPSDateTime}' -ext xmp .
exiftool '-DateTimeOriginal<${GPSDateTime}' -ext XMP .

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

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

Что не предусмотрено

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

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

Заключение

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *