Почему моя камера Nikon записывает неидентичные файлы в режиме резервного копирования на две карты?

У меня есть Nikon D7000, с которым я использую две SD-карты. У меня камера настроена на запись одних и тех же изображений на обе карты на случай, если одна из карт станет ненадежной. Я случайно позволил двум картам рассинхронизироваться, поэтому я пытался объединить содержимое.

Однако, когда я собираюсь объединить файлы, изображения с одинаковым именем, например DSC_8850.NEF, имеют немного разные даты файлов (отклонение на две секунды или около того), а размеры файлов не совпадают точно. Когда я запускаю контрольную сумму ( md5sum) для двух файлов, я не получаю одинаковый результат для обоих.

Что дает? Почему на вторую карту пишет немного другой файл образа? Оба они записываются как файлы RAW NEF.

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

Большое спасибо.

Ответы (1)

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

Оказывается, есть разница в метаданных. Я нашел это обсуждение форума (о D7200, но я уверен, что ситуация такая же), где люди немного покопались и обнаружили, что камера записывает , какой слот был использован . Хотя это всего лишь однобитовое изменение, при сжатии это также объясняет разницу в размере файла.

Чтобы решить эту проблему, я могу придумать несколько подходов. Простой способ — переименовать все файлы, используя их внутреннюю временную метку (а не временную метку файловой системы). Обязательно используйте время в доли секунды, потому что в противном случае, если вы снимаете более одного кадра в секунду, они будут перекрываться:

exiftool -d %Y%m%d%H%M%S "-filename<${datetimeoriginal}${subsectimeoriginal}0.%e" *.NEF

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

Интересно, есть ли способ пометить два файла с разных карточек как совпадение, игнорируя этот единственный параметр?
Ах! В этом потоке есть способ сделать это.
Хотя это несколько утомительно.