Comments 29
о! весьма.
а можно же ещё сделать touch файла этой датой и потом соритровать уже по дате изменения файла.
ну и вместо awk наверно проще былобы сделать grep 'DateTime' | cut -f3
а можно же ещё сделать touch файла этой датой и потом соритровать уже по дате изменения файла.
ну и вместо awk наверно проще былобы сделать grep 'DateTime' | cut -f3
А дело в том, что там несколько этих DateTime, в зависимости от модели фотоаппарата, и хотелось выбрать самую последнюю дату. И вроде там сначала была более сложная программа на awk, потом я ее укоротил. Да, про touch мне в голову мысль не пришла :(
Логично, кстати было-бы!
Логично, кстати было-бы!
последнее: tail -n1 :)
но последняя по встречаемости не значит последняя по времени.
а так, если поглядеть, то если есть DateTimeOriginal/DateTimeDigitized,
то есть и просто DateTime, которое последнее по дате.
но последняя по встречаемости не значит последняя по времени.
а так, если поглядеть, то если есть DateTimeOriginal/DateTimeDigitized,
то есть и просто DateTime, которое последнее по дате.
а ещё бывают фотики с коряво выставленной датой.
(наступали на эти грабли, когда чистилка сносила их с сервера как устаревшие)
(наступали на эти грабли, когда чистилка сносила их с сервера как устаревшие)
Дата и время для фоток на веб сервисах — вообще отдельная песня.
1. Кривое время — это когда батареи например садятся или что нибудь перезапускается — тогда время по умолчанию в камере ставится.
2. Круглая Земля с разными временными зонами. С этим столкнулись, когда с треками GPS увязывали (UTM там всегда). А изготовители камер до недавнего времени об этом, похоже, не подозревали :)
Вообще exif интересная тема.
Мои +1 и спасибо автору
1. Кривое время — это когда батареи например садятся или что нибудь перезапускается — тогда время по умолчанию в камере ставится.
2. Круглая Земля с разными временными зонами. С этим столкнулись, когда с треками GPS увязывали (UTM там всегда). А изготовители камер до недавнего времени об этом, похоже, не подозревали :)
Вообще exif интересная тема.
Мои +1 и спасибо автору
Вот тоже много думал об этих датах. Хорошо бы при разгребании такие аномалии автоматически находить и предлагать упорядочивать.
Что характерно, тут есть несколько типичных кейсов:
- Дата на фотоаппарате слетела при смене батареек.
В этом случае фотографии относительно друг-друга выстраиваются по времени пропорционально и правильно. Достаточно привязать один кадр такой серии к реальной дате/времени, а остальные можно рассчитать и привязать автоматом.
Важно обнаружить момент, когда дата слетает посередине серии так, что часть фоток улетают на несколько лет в прошлое. Как на косвенный признак такой ситуации можно опираться на порядковый номер фото и её положение в исходных каталогах в файлопомойке. - Дата/время сдвинуты из-за приблизительной установки. Серия в целом отображается в таймлайне где надо, и (при наличии опорного кадра, где были засняты часы) можно восстановить точное время всей серии.
- Дата/время установлены по некорректному часовому поясу во всей серии или её частях. Можно, к примеру, предусмотреть возможность ручной установки в таймлайне с фотографиями маркеров смены часового пояса.
- Сочетание всех вышеперечисленных случаев из-за слияния в куче каталогов фоток из разных источников. Самый неприятный случай, когда большая шумная компания сливает все свои фотки в кучу, потом самый инициативный еще и разгруппирует по людям или по каким-то еще не очевидным признакам. Тут надо, наверно, какое-то автотегирование по модели и серийному номеру фотика, группировку источников… Ну и адаптацию решений вышеперечисленных проблем к такому вот сложному случаю.
Хороший скриптик, молодец. Но думаю место этому посту в Linux для всех
sed 's/:/\//g' -> sed 's|:||g'
Вообще наиболее правильное средство для работы с EXIF — Perl exiftool. Оно умеет работать с TIFF и RAW, знает про всевозможные теги специфичные для разных камер, всякие хитрые форматы метаданных вроде XMP. Плюс умеет выводить данные в формате для скриптов, благодаря чему не нужны игры с sed
В Gnome можно сделать то же самое, импортировав все фотографии с помощью F-Spot (включив птичку «Копировать фотографии в папку»).
man jhead
jhead -n%Y%m%d-%H%M%S *.jpg This will rename files matched by *.jpg in the format YYYYMMDD-HHMMSS
jhead -n%Y%m%d-%H%M%S *.jpg This will rename files matched by *.jpg in the format YYYYMMDD-HHMMSS
про 5 кадров в секунду — jhead добавит при переименовании суффикс a,b,c,d,e
ну а дальге — тоже костылями раскидывать по папкам
ну а дальге — тоже костылями раскидывать по папкам
Автор молодца, скриптик очень своевременный, я все же остановился вот на таком варианте:
Для установки exiftool в gentoo, достаточно сказать:
exiftool -r '-Directory<DateTimeOriginal' -d /path_to/%Y/%Y.%m.%d /path_from/
Для установки exiftool в gentoo, достаточно сказать:
emerge exiftoolа в ubuntu:
aptitude install libimage-exiftool-perl
А давайте помозгоштурмим требования к ИДЕАЛЬНОЙ CLI утилите для работы с фотоколлекциями.
Я вот набросал свои хотелки тут.
Постепенно разгребу всё это, выделю MVP и по 5 минут в неделю буду выкраивать=)
Sign up to leave a comment.
Еще один глупый скрипт для сортировки фотографий по EXIF под *nix