Где записывается время захвата изображений с носимой камеры Snapcam Lite?

Я использую носимую камеру Bluetooth Wi-Fi . Как узнать время, когда был сделан тот или иной снимок?

До сих пор я пытался посмотреть метаданные в jpg с помощью Exiftool . Я могу только видеть, когда изображения были перемещены с карты micro-SD на мой компьютер через это.

Я знаю, что данные о времени, когда был сделан снимок, доступны. Потому что камера поставляется с приложением для Android, и я могу видеть время, когда снимок был сделан через приложение.

Но как только я перемещаю картинку с карты microSD на свой компьютер, я не знаю, где ее снова найти.

Где может скрываться это время?

РЕДАКТИРОВАТЬ:

(Следующее решение предназначено для Linux-машины. Однако для других ОС можно сделать что-то похожее по духу: СОХРАНИТЕ свои метаданные , прежде чем перемещать изображения куда-либо с MicroSD)

Используя эту команду перед перемещением изображений с карты MicroSD:exiftool /path/to/file/filename.JPG | grep Modification

дает вывод:

 File Modification Date/Time     : 2017:05:20 01:47:38+05:30

Но фактическое время создания в этом случае было 2017:05:19 20:17:38получено путем вычитания +5:30для моего часового пояса.

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

Вот сценарий:

#!/bin/bash

cd "/path/to/file"

for file in *
do 
    out="$(exiftool $file | grep Modification)"
    out=${out:34:19}
    out=${out/":"/"-"}
    out=${out/":"/"-"}
    out=$(date -d "$out")
    out=$(date -d "$out -330 minutes" +'%Y-%m-%d-%H%M%S')
       # Replace -330 with offset needed for your timezone
    if [[ $file == *.jpg ]]
    then
        mv "$file" "${out}.JPG"
    fi
    if [[ $file == *.MP4 ]]
    then
        mv "$file" "${out}.MP4"
    fi
done

Я доволен этим на данный момент.

Не могли бы вы загрузить одну из фотографий куда-нибудь , кроме Stack Exchange, чтобы кто-нибудь мог копаться в данных EXIF? (Imgur, который Stack Exchange использует для размещения изображений, к сожалению, удаляет данные EXIF).
Можете ли вы привести пример того, как вы используете exiftool? Можете ли вы опубликовать вывод exiftool?
Предложите мне место, куда я могу загрузить фото без потери данных EXIF. Я был бы счастлив сделать это.
Каковы даты файлов на карте MicroSD до их перемещения?
Перед перемещением изображения с карты MicroSD File Inode Change Date/Timeпеременная, похоже, связана со временем захвата. Это потому, что я делаю снимки в режиме интервальной съемки, и каждое изображение увеличивается на 1 минуту. Но время смещено на некоторую величину, и я пока не знаю, будет ли оно все время смещаться на эту постоянную величину.
Что такое выход exiftool -s -a -g1 -U ? Если с -Uопцией появляется что-то лишнее, значит есть фрагмент данных, о котором exiftool не знает. В таком случае Филу Харви, создателю exiftool, вероятно, было бы интересно взглянуть. Вы можете связаться с ним на форумах Exiftool . Если больше ничего не появляется, возможно, используются системные метки времени, такие как FileCreateDate или FileModifyDate.
Приложение Android (или, возможно, камера) может сохранять некоторую информацию об этих файлах. Вы можете проверить это, проверив дату изображения fileA.jpgи fileB.jpg(просто выберите два файла на карте fileAи fileBявляются заполнителями) в приложении, а затем извлеките карту MicroSD. На вашем компьютере поменяйте местами имена двух файлов и вставьте карту MicroSD обратно. Если приложение Android показывает одну и ту же дату файла fileAкак до, так и после замены имени файла, то данные поступают не из файла; он хранится вне файла.
Извините за все ошибки с моей стороны. 1. File Modification Date/Timeиз метаданных, вероятно, то, что обнаруживает приложение. 2. Но эта переменная компенсируется часовым поясом, в котором я нахожусь. 3. При замене картинки обратно на карту microSD через некоторое время (т.е. не сразу) приложение тоже ошибается. Итак, тайна раскрыта. Я добавляю сценарий bash выше, который будет постоянно извлекать время создания в имя файла.
Рад слышать, что ваша проблема решена! Пожалуйста, напишите свои выводы как ответ на ваш вопрос (по сути, ваш последний комментарий), а затем отметьте свой ответ как принятый ответ. Вы получаете баллы, а Photo.SE получает еще один закрытый вопрос! знак равно

Ответы (2)

Я бы предложил сохранить метку времени непосредственно в метаданных файла. Вы можете сделать это и переименовать весь каталог с помощью одной команды exiftool.

Попробуй это:
exiftool -globalTimeShift -5:30 -d '%Y-%m-%d-%H%M%S.%%e' '-ModifyDate<FileModifyDate#' '-CreateDate<FileModifyDate#' '-DateTimeOriginal<FileModifyDate#' '-Filename<FileModifyDate' /path/to/Target/Dir

Разбивка:
-globalTimeShift -5:30 : сдвигает все метки даты/времени. В этом случае вычитает 5 часов 30 минут, на которые вам нужно пересесть.
-d '%Y-%m-%d-%H%M%S.%%e': переформатирует все теги даты в формат, который вы хотите использовать для переименования файла.
'-ModifyDate<FileModifyDate#'…: Копирует FileModifyDateв три перечисленных тега ( DateTimeOriginal, CreateDate, и ModifyDate), смещенные, как указано выше. Хэштег говорит exiftool использовать тег, не измененный -dопцией. В этом случае Exiftool отлично работал бы без него, но если бы -dпараметр был другим, например, вы использовали формат даты в США, это могло бы повлиять и сохранить неправильную временную метку.
'-Filename<FileModifyDate': переименовывает файл в желаемый формат.

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

Дополнительно:
добавьте -r, если вы хотите рекурсивно обращаться к подкаталогам. Добавьте -overwrite_original, чтобы избежать создания резервных копий _originalфайлов.

(Следующее решение предназначено для Linux-машины. Однако для других ОС можно сделать что-то похожее по духу: СОХРАНИТЕ свои метаданные , прежде чем перемещать изображения куда-либо с MicroSD)

Используя эту команду перед перемещением изображений с карты MicroSD:exiftool /path/to/file/filename.JPG | grep Modification

дает вывод:

File Modification Date/Time : 2017:05:20 01:47:38+05:30

Но фактическое время создания в этом случае было 2017:05:19 20:17:38получено путем вычитания +5:30для моего часового пояса.

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

Вот сценарий:

#!/bin/bash

cd "/path/to/file"

for file in *
do 
    out="$(exiftool $file | grep Modification)"
    out=${out:34:19}
    out=${out/":"/"-"}
    out=${out/":"/"-"}
    out=$(date -d "$out")
    out=$(date -d "$out -330 minutes" +'%Y-%m-%d-%H%M%S')
       # Replace -330 with offset needed for your timezone
    if [[ $file == *.jpg ]]
    then
        mv "$file" "${out}.JPG"
    fi
    if [[ $file == *.MP4 ]]
    then
        mv "$file" "${out}.MP4"
    fi
done

Я доволен этим на данный момент.