Exiftool как пользоваться windows
Как и обещал расскажу об очень полезной программе ExifTool. Любая нормальная программа для работы с изображениями позволяет просмотреть данные exif-файла снимка. Различаться будут лишь количество метаданных, которые может извлечь каждая конкретная программа и широта возможностей их редактирования.
ExifTool предназначена для чтения, записи и редактирования метаданных изображения, аудио и видео файлов. Нас, разумеется, сейчас интересуют фотографии. Эта утилита позволяет получить максимально возможное количество информации о снимке. Информации масса. В т.ч. цветовая температура и уровни, координаты точек автофокуса, марка объектива, гиперфокальное расстояние, угол зрения объектива, количество срабатываний затвора (для Nikon) и много чего еще интересного.
Работа с ExifTool осуществляется через командную строку, впрочем это не доставляет особых неудобств если пользоваться файловым менеджером, аналогичным TotalCommander.
Приведу пример как пользоваться данной утилитой на PC с Windows.
Скачиваем архив с ExifTool с официального сайта (версию Windows Executable), 1.8 MB;
Распаковав, для удобства дальнейшей работы переименовываем файл exiftool(-k).exe в exiftool.exe;
Помещаем его в папку с фотографиями. Теперь можно начинать.
В командной строке вводим команду: exiftool -k имяфайла (в Total Commander'e можно навести курсор на файл и нажать Ctrl+Enter и имя файла пропишется в командной строке) и получаем окно с метаданными.
На мой взгляд удобней, чтобы вся информация выводилась ввиде текстового файла, для этого прификс должен выглядеть так: -w txt имяфайла. Кстати, можно вместо имени файла указать имя папки, тогда будут обработаны все изображения.
Чтобы представленная информация была структурирована, используйте -a -u -g1 -w txt
Редактировать данные exif файла удобней с помощью утилиты ExifTool GUI (0,5 MB), которая снабжает ExifTool стандартным графическим интерфейсом.
Для этого нужно поместить ExifTool.exe и ExifTool GUI в одну папку и запустить последний. Программа простая, вы без труда с ней освоитесь.
Надеюсь эта информация поможет вам больше узнать о своих (и не только:)) фотографиях.
Утилита exiftool - это свободная и бесплатная программа, которая позволяет получить метаданные из различных медиафайов, таких как PDF, видео и изображения. Чаще всего возникает необходимость посмотреть метаданные для фотографий.
В этой небольшой статье мы рассмотрим как пользоваться exiftool. Рассмотрим синтаксис и опции утилиты, поговорим о том как с помощью неё получить метаданные, а также как удалить эти метаданные чтобы они не попали в чужие руки.
Установка exiftool
Установить exiftool в большинстве дистрибутивов Linux можно из официальных репозиториев. Например, для Ubuntu, Debian или Kali Linux команда будет выглядеть вот так:
sudo apt install exiftool
Как пользоваться exiftool
1. Синтаксис и опции
Прежде всего, надо отметить, что exiftool - это утилита командной строки. У неё нет графического интерфейса и её придется использовать в терминале. Синтаксис у команды достаточно простой:
$ exiftool опции /путь/к/медиафайлу
Вот основные опции, которые вы можете использовать:
- -x - исключить указанные теги данных;
- -b - выводить данные в двоичном формате;
- -с - установить формат вывода GPS координат;
- -d - установить формат для даты и времени;
- -h - выводить данные, отформатированные в HTML;
- -j - выводить информацию в формате JSON;
- -X - выводить информацию в формате XML;
- -o - вывести данные в указанный файл;
- -P - сохранить атрибуты даты модификации файла;
- -s - вывести имена тегов;
- -G - вывести имена групп тегов.
- -list - вывести список всех доступных тегов;
- -listw - вывести список всех тегов, которые можно перезаписывать;
- -listg - вывести список всех групп тегов;
- -lang - установить язык.
Это далеко не все опции, остальные вы можете найти выполнив такую команду:
2. Вывод метаданных
Давайте попробуем прочитать метаданные из видео файла. Для этого просто передайте путь к нему программе:
Если надо вывести данные на русском, можно использовать опцию -lang:
exiftool -lang ru video.mp4
Доступные языки можно посмотреть передав эту же опцию не передавая ей имя файла:
Здесь содержатся вполне обычные данные, например: File name (имя файла), File size (размер файла). Они берутся из файловой системы и интересного в них ничего нет. Но дальше идут более интересные данные, например Create Date указывает когда было создано видео, а Duration - его продолжительность. Но то, ради чего обычно смотрят Exif метаданные находится в самом конце:
Если на камере или сматфоне, на который был сделан снимок или видео была включена функция GPS, то сюда записывается GPS координата, где это было сделано. В данном случае отображаются такие данные:
- GPS Alittude - количество метров над уровнем моря;
- GPS Latitude - географическая широта, в градусах, минутах и секундах;
- GPS Longitude - географическая долгота в градусах, минутах и секундах;
Теперь можно скопировать значение поля GPS Position, где все эти данные собраны вместе, заменить deg на знак градуса и просто ввести в поиск Google карт. На карте будет показано место где было сделано фото или видео. Например: 48° 25' 1.56" N, 24°41' 40.56" E:
Можно отфильтровать из вывода команды только геоданные:
exiftool video.mp4 | grep GPS
Если надо, данные можно вывести в HTML документ и потом открыть их в браузере:
exiftool -h video.mp4 > data.html
3. Группы и теги
Каждая запись метаданных называется тегом. Все доступные теги можно посмотреть на официальном сайте. С помощью опции -s вы можете вывести имена тегов вместо их описаний:
exiftool -s video.mp4
Все теги разделены на группы. Посмотреть в какой группе находится каждый выводимый тег можно с помощью опции -G:
exiftool -G video.mp4
Вывести все доступные группы тегов можно с помощью опции -listg:
Вывести все теги группы можно с помощью той же опции -list или -listw только дополнительно надо указать имя группы и приставку :all. Например, для группы Composite:
exiftool -list -Composite:all
4. Изменение метаданных
Чтобы изменить значение тега, надо передать его в виде опции, а после знака равно передать его значение. Например добавим параметр GPSSpeed:
exiftool -GPSSpeed=2 video.mp4
По умолчанию новые метаданные записываются в новый файл с таким же именем, а старая версия сохраняется в файле с приставкой _original. Чтобы этот файл не создавался надо использовать опцию -overwrite_original:
exiftool -overwrite_original -GPSSpeed=2 video.mp4
5. Удаление метаданных
Для того чтобы затереть значение параметра надо передать ему пустое значение. Например:
exiftool -GPSSpeed= video.mp4
Для того чтобы удалить вообще все метаданные используйте модификатор all и присвойте ему пустое значение:
exiftool -all= video.mp4
Теперь здесь больше нет никаких геоданных, остались только стандартные значения тегов, взятые из медиа файла, без которых обойтись нельзя. Если вы хотите удалить метаданные из всех файлов в папке просто используйте символ звездочки. Например, для всех mp4 файлов:
exiftool -all= *.mp4
Выводы
В этой небольшой статье мы рассмотрели как пользоваться exiftool. Как видите, это довольно интересная утилита, с помощью которой можно просматривать метаданные изображений, а также удалять те, данные, которые не должны попасть в чужие руки.
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Назваться любителем командной строки будет для меня как-то чересчур, скорее, я стал им добровольно-принудительно, т.к. после обновления OS X 10.7 на 10.8 перестала работать программа, которая до того вполне неплохо проставляла геотеги на отснятые фотографии. Здесь надо сделать отступление: на написание этой заметки меня сподвиг более или менее «соседний» материал под названием «Как сэкономить на фотоаппарате с GPS». В моём случае имеет место несколько менее извращённый подход к получению координат посещённых мест, а именно — запись трека GPS-навигатором, остальное же выполняется с помощью ExifTool.
Пожалуй, можно опустить получение удобоваримого формата трека, т.к. это вряд ли сопоставимо с темой заметки, а вот проставление геотегов — одна из задач, которую ExifTool чудесно выполняет.
Итак, предположим, что у Вас есть набор снимков, GPS-трек, ExifTool и часы камеры и GPS-устройства были синхронизированы (или Вы знаете разницу во времени). В таком случае следующая команда удобно совершит все действия над файлами *.tif в текущем каталоге (папке):
N.B.: я использую запись «exiftool», т.к. в моём случае (OS X) так оно вызовется относительно правильно, для Windows желательно будет добавить расширение (с уважением, К.О.).
И, к слову, создаст вдвое больше файлов, оставив рядом с каждым файл-оригинал *.tif_original. Это вполне удобно, пока Вы лишь экспериментируете, дабы не затереть существующий материал и не обременять себя дополнительным резервным копированием. Если же Вы хотите избежать такого действия — достаточно воспользоваться опцией -overwrite_original.
А если часы камеры и gps-приёмника рассинхронизированы? К примеру, в прошлом году я успешно забыл сменить летнее время на зимнее и пол-года у меня что-то было чуть-чуть не так… Опция -geosync позволяет задать эту разницу во времени.
Удобно? По-моему, относительно удобно. Лично мне тыкать мышью в поисках трек-файла часто отнимало больше времени, чем сразу прописать путь к нему.
Бывает потребность в обратном: удалении геотегов. Это тоже элементарно:
Но давайте рассмотрим и другие аспекты применения ExifTool.
Копирование EXIF-тегов
Я использую RAW-конвертор RPP, у которого есть опция, позволяющая включить или выключить копирование EXIF-тегов. Иногда это действительно удобно, но иногда — очень даже лишнее. Зазевавшись однажды, я заметил недостающую информацию уже после того, как были сгенерированы и обработаны все *.tiff. Но оказалось, что этот вариант — не проблема. Решение элементарно как для одиночного файла:
Так и для нескольких файлов в папке (предполагается, что оригиналы и производные лежат «рядом»):
Свалить в более или менее хронологическую кучу фотографии с разных камер
Переименование осуществляется только на основе даты из EXIF, имя файла-оригинала удаляется:
И без удаления имени оригинала:
N.B.: желательно, чтобы часы камер были предварительно синхронизированы (с уважением, К.О.).
В метаданные можно вписать Ваши титулы и email-ы
Вы же хотите, чтобы Вас потом можно было найти?
Извлечь определённые данные (на примере фокусного расстояния)
В ходе одной дискуссии у меня возникла необходимость ответить на вопрос о том, каковы наиболее популярные (у меня) фокусные расстояния. Но надо откуда-то взять исходные данные. Что ж, можно выгрузить информацию в текстовый файл, например, в формате :
Дальнейший анализ легко выполняется в любимом табличном процессоре (хотя мой друг, поленившись, втянул всё это в SQL-базу, для него так было быстрее).
Восстановить дату создания файла
В ходе манипуляций ExifTool поменяет дату создания файла (что, в принципе, логично, т.к. файлы переписываются). Восстановить дату создания оригинала легко:
Извлечение встроенных в RAW JPEG-ов
Иногда бывает полезно. Впрочем, это элементарно:
Добавить в EXIF данные о старой оптике
Имея в наличии арсенал старой оптики и всевозможные переходники для Sony Nex, у меня также есть желание знать, каким объективом я снимал. Это тоже вполне возможно:
На известном форуме любителей MF-оптики предлагается более изящный вариант, который требует создания файла-описания для каждой линзы, по виду:
После чего его применение будет несколько более тривиальным:
N.B.: последняя строка в файле-описании необязательна, т.к. она определяет запись «рабочего значения» диафрагмы, а оно, во-первых, может быть разным, а во-вторых, не всех действительно интересует. Ведь тогда надо его не только запомнить, но и проставить отдельно для всех фотографий…
Надеюсь, кому-то эта информация покажется интересной и/или пригодится, хотя она является, по большому счёту, выдержками из документации ExifTool. Однако, не всегда есть возможность читать всю документацию, потому «готовый рецепт» может пригодится. По крайней мере, я так полагаю. Удачи!
UPD1. В комментариях (здесь) советуют альтернативу для некоторых операций — я пока что не смотрел, но вдруг.
UPD2. А ещё — дельное напоминание о существовании Windows-GUI для ExifTool.
ExifTool — это очень мощное приложение командной строки для чтения, записи и редактирования метаинформации в самых разных файлах. ExifTool поддерживает множество различных форматов метаданных, включая EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP и ID3, Lyrics3, а также примечания производителя многих цифровых камер Canon, Casio, DJI, FLIR, FujiFilm, GE, GoPro, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon и Sony.
Установка в Debian, Linux Mint, Kali Linux, Ubuntu и их производные
Установка в Arch Linux, Manjaro, BlackArch
После этого исполнимый файл программы находится по пути /usr/bin/vendor_perl/exiftool. Поскольку файл не находится в переменной окружения $PATH, то для его запуска нужно указывать полный путь до файла:
После этого программу можно запускать так:
Установка в Windows
Распакуйте скаченный файл exiftool(-k).exe.
Если запустить этот файл двойным кликом, то будет показана документация по ExifTool (на английском языке).
Название файла exiftool(-k).exe показывает, что программа запускается с опцией -k. Из-за использования скобок в имени файла, при запуске программы в командной строке его придётся каждый раз помещать в кавычки. Чтобы этого не делать, переименуйте файл в exiftool.exe.
Для полноценной работы с программой, её нужно запускать в командной строке. Если вы не знаете, что это такое, то прочитайте статью «Настройка рабочего окружения PowerShell в Windows и Linux».
Пример извлечения метаданных в Windows:
1. Откроем PowerShell — для этого нажмите Win+x и выберите «Windows PowerShell».
2. Допустим, файл exiftool.exe расположен в папке C:\Users\MiAl\Downloads\, перейдём в неё с помощью команды cd:
3. Для извлечения метаданных из изображения, запустите команду вида:
К примеру, файл изображения с метаданными расположен по пути C:\Users\MiAl\Documents\testing\foto\20191106_181909.jpg, тогда команда для извлечения из него метаданных следующая:
Описание опций и инструкции по применению
Информацию об опциях этой программы и инструкции по использованию смотрите на этой странице (список инструкций в самом низу).
Сегодня рассмотрим как массово переименовывать файлы с помощью exiftool. Эта cli утилита считывает все метаданные фото или видео в том числе и exif данные.
Задача была переименовать все фото и видео файлы где бы они не находились в определенной структуре в определенной папке.
Итак как установить exiftool на mac os с помощью командной строки?
Теперь заходим в папку где лежат все наши фото и видео которые надо переименовать.
Примеры команд:
Вывести всю информацию о файле img.jpg
В виде атрибутов и значений
В виде только значений
Теперь добавляем любой атрибут из списка из прошлой команды:
Выведем дату создания файла из exif атрибута:
Или выведем дату создания файла:
Выведем имя файла и обе даты:
По умолчанию мы увидим атрибут только в том случае если он заполнен, если надо показать содержимое в любом случае дописываем в команду -f это выведет все данные даже если какой-то атрибут пустой.
Выведем имя, и обе даты создания для всех файлов в текущей дитектории:
или в определенной директории:
Если нужно сканировать еще и подпапки добавляем -r рекурсивно.
А теперь давайте изменим формат даты. Для этого добавляем -d и далее формат
Условия if else?
Какие свойства имеются:
Если хочется перенести все файлы из всех подпапок в текущую папку, делаем так:
А если файлы повторяются оно их заменит или что?
Сделаем если будут файлы повторяться чтобы добавлялось число перед расширением.
%f это название файла без расширения
%-3c это добавляет -001 если с таким же именем уже есть. 3 означает сколько символов. По сути можно написать только %c
%e это расширение
Заметка: это не переносит файл а копирует его.
Если хотим отсортировать по полной дате:
Теперь сортируем по папкам с датой
Если хотим отсортировать по папкам по годам, месяцам и тд, то добавляем вывод даты в формате который хотим.
Можно и само название файла поменять под дату, но надо не забыть добавить в конце формат файла %e
А вот с проверкой но с оригинальным названием файла:
Все эти команды переносят файлы, а как же скопировать файл а не переносить? добавляем -o .
Добавляем так же числовой номер если такой файл в папке существует:
%f это название файла без расширения
%-3c это добавляет -001 если с таким же именем уже есть
%e это расширение
Итак что мы узнали? Как работать с файлами, как читать мета данные, как переименовывать файлы, перемещать и многое другое.
Параметры что мы узнали:
-s короткое названия атрибутов
-s -S без названия атрибутов только значение атрибута
-f показать значение даже если его нет
-r рекурсивно, считывать и файлы из подпапок тоже
-d задать формат даты в которой выводить
-p вывод информации в произвольной форме
-if условие при котором выполнять манипуляции с файлом
Ух, статья получилась слишком длинная, но зато много полезного и нового.
В следующей статье я покажу пример уже готовых команд как организовать фото и видео файлы по годам, месяцам и дням для медиатеки на Mac OS или NAS сервере.
Читайте также: