EXIF Tool и видеофайлы, которые сохраняются с отметками времени UTC

Мне интересно, если кто-нибудь может дать мне некоторое представление о текущем выпуске, который у меня есть.

В каком-то контексте у меня с женой есть телефон Android (Moto G5 Plus). Телефоны синхронизируют все элементы в папке DCIM с моим сервером Ubuntu через SFTP. Элементы хранятся в каталоге «unsorted_pictures». Однажды ночью выполняется задание cron, выполняющее скрипт, который автоматически копирует содержимое из unsorted_pictures на изображения / год / месяц. Позже (после максимального количества телефонов в космосе) я очищу каталог unsorted_pictures как шаг обслуживания.

Скрипт, какой бы он ни стоил, выглядит следующим образом:

#!/bin/bash exiftool -overwrite_original_in_place -P -if 'not $CreateDate' '-CreateDate<FileModifyDate' -r /mnt/vault/unsorted_pictures/staging exiftool -o . '-Directory<CreateDate' -d /mnt/vault/pictures/%Y/%m -r /mnt/vault/unsorted_pictures/staging exit

Итак, первая строка exiftool проверяет, существует ли CreateDate. Если это не так, он использует FileModifyDate для создания параметра CreateDate. Это действительно полезно только для фотографий, сохраненных в Hangouts, поскольку Google, похоже, лишает данные exif. (?!) После этого вторая линия exiftool выполняет сортировку + сортировку.

Этот процесс выглядит потрясающе, и я очень доволен им. Однако есть один snafu - видеофайлы, по-видимому, записываются в UTC, тогда как изображения, по-видимому, записываются по местному времени. Ниже приведен видеофайл, который был немедленно перенесен на мой сервер, и exiftool был запущен против него, чтобы проверить все отметки времени.

administrator@vault:/mnt/vault/unsorted_pictures$ exiftool -time:all -s VID_20171225_214456599.mp4 FileModifyDate : 2017:12:25 21:47:02-05:00 FileAccessDate : 2017:12:25 21:47:00-05:00 FileInodeChangeDate : 2017:12:25 21:47:02-05:00 CreateDate : 2017:12:26 02:45:00 ModifyDate : 2017:12:26 02:45:00 TrackCreateDate : 2017:12:26 02:45:00 TrackModifyDate : 2017:12:26 02:45:00 MediaCreateDate : 2017:12:26 02:45:00 MediaModifyDate : 2017:12:26 02:45:00 administrator@vault:/mnt/vault/unsorted_pictures$ date Mon Dec 25 21:47:23 EST 2017

Как вы можете видеть, CreateDate установлен, по-видимому , в будущем. Далее я выполнил команду «date», чтобы вы могли видеть текущее местное время, когда это произошло. В верхних строках вы можете видеть отметки времени, заканчивающиеся на 05:00, и я понимаю, что это временный дифференциал для UTC.

На мои актуальные вопросы:

1) Я попробовал несколько приложений для камеры на своей Motorola, но все они дали то же самое поведение. Это говорит о том, что это не настройка приложения. Есть ли способ сохранить мои видеозаписи в формате UTC? Картинки в порядке, это просто видео. Я считаю, что это немного странно, но онлайн-поиск предполагает, что это обычное явление, но мне еще предстоит услышать и понять, почему.

2) Я уверен, что могу добавить некоторую логику в свой сценарий, чтобы просто отсортировать изображения через CreateDate и сортировать типы видеофайлов через FileModifyDate или даже добавить дополнительный параметр для систематического повторного добавления всех видео за 5 часов. Но мне стало интересно, есть ли способ, чтобы exiftool посмотрел файл mp4 и признал разницу во времени UTC? Я знаю, что видеофайлы - это другой зверь, а exiftool в основном сосредоточен на изображениях, но, тем не менее, при условии, что exiftool делает такую ​​хорошую работу с подтверждением метаданных даже на этих видеороликах, я подумал, что может быть способ настроить его для просмотра не-UTC время. Или, может быть, нет надежды, если телефон будет записывать в UTC. / shrug

Возможно, это еще больше поводов для сортировки по годам / месяцам вместо года / месяца / дня, так как я даже не скажу, что видео переносятся на 5 часов, так как все они будут в пределах в этом месяце. Но все же я нахожу себя заинтригованным этим и задаюсь вопросом ... почему?

Любая помощь или понимание были бы очень оценены!

0
задан 26 December 2017 в 23:24

3 ответа

Согласно Филу Харви (создателю exiftool), временные метки Quicktime должны быть установлены на UTC по стандарту. Но, похоже, многие камеры этого не делают, поэтому exiftool не принимает часовой пояс и принимает время, как написано. См. Третий абзац в тегах Quicktime

Exiftool включает в себя возможность исправления этого. Если вы используете exiftool ver 9.40 или новее, вы можете добавить -api QuickTimeUTC в команду, и он предположит, что отметки времени правильно написаны в формате UTC и преобразуют их в локальное время.

2
ответ дан 22 May 2018 в 15:55
  • 1
    Всем привет. Спасибо за ваш вклад. Просто добавив этот параметр в мой 'exiftool -time: all -s.' команда сразу показала разницу. Спасибо вам за это. Потому что я любопытный человек, которого я склонен задавать ... это не имеет никакого отношения к какой-либо конкретной функции QuickTime, нет? Наверное, я посмотрел на этот параметр с первого взгляда и подумал, но я не использую QuickTime ... " Плохое предположение с моей стороны, но если у вас есть представление о том, что этот параметр называется QuickTime, я бы хотел его услышать. :) – JaSauders 26 December 2017 в 21:34
  • 2
    Добавьте -g1 в свою команду, чтобы увидеть, где сгруппированы теги (вы также можете добавить -a, чтобы увидеть, где есть теги с дублируемыми именами). Метаданные видео обычно сохраняются в соответствии со стандартами Quicktime. Это не специфичная для QuickTime функциональность, а самый распространенный стандарт. – StarGeek 26 December 2017 в 21:59
  • 3
    Спасибо. Я никогда не думал бы о цифровых камерах, способствующих тому, как это произошло. Учитывая, что exiftool придерживается более консервативного подхода к этому, я думаю, что разумно, что если я хочу выполнить время: все, чтобы проверять все временные метки, если я специально смотрю видео, мне придется привыкнуть к добавив флаг -api QuickTimeUTC, поэтому время дает то, что я за ним. Наконец, как мягкое отражение, я думаю, что метаданные были «всегда там», это просто этот флаг команды exiftool, чтобы показать мне время в том порядке, в котором я нуждаюсь. Я предполагаю, что это точная точка зрения на этот сценарий? – JaSauders 26 December 2017 в 22:20
  • 4
    Звучит правильно. Вы можете в значительной степени добавить -api QuickTimeUTC всякий раз, когда хотите извлечь -time:all, поскольку это будет влиять только на теги QuickTime, которые встречаются редко в файлах изображений. – StarGeek 26 December 2017 в 22:56
  • 5
    Большое спасибо за ваше время и понимание StarGeek. Это помогло мне решить много вопросов. Хороший! – JaSauders 26 December 2017 в 23:23

Согласно Филу Харви (создателю exiftool), временные метки Quicktime должны быть установлены на UTC по стандарту. Но, похоже, многие камеры этого не делают, поэтому exiftool не принимает часовой пояс и принимает время, как написано. См. Третий абзац в тегах Quicktime

Exiftool включает в себя возможность исправления этого. Если вы используете exiftool ver 9.40 или новее, вы можете добавить -api QuickTimeUTC в команду, и он предположит, что отметки времени правильно написаны в формате UTC и преобразуют их в локальное время.

2
ответ дан 18 July 2018 в 00:25

Согласно Филу Харви (создателю exiftool), временные метки Quicktime должны быть установлены на UTC по стандарту. Но, похоже, многие камеры этого не делают, поэтому exiftool не принимает часовой пояс и принимает время, как написано. См. Третий абзац в тегах Quicktime

Exiftool включает в себя возможность исправления этого. Если вы используете exiftool ver 9.40 или новее, вы можете добавить -api QuickTimeUTC в команду, и он предположит, что отметки времени правильно написаны в формате UTC и преобразуют их в локальное время.

2
ответ дан 24 July 2018 в 17:13

Другие вопросы по тегам:

Похожие вопросы: