Почему большинство камер не хранят имена файлов на основе даты и времени?

11

Я заметил, что при съемке фотографий с помощью телефона с камерой имя файла состоит из даты и времени. (например, 20131101-110015.jpg)

Тем не менее, большинство указывают и снимают, а камеры DSLR - нет. Их имя файла обычно в такой последовательности, как DCM0011.jpg

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

Применительно к наведению и съемке камеры Samsung EX1 против камеры телефона Samsung Galaxy S2

Джек
источник
Я бы хотел, чтобы это был вариант! У Canon 5D MkIII ограниченный контроль имени файла, но это скорее случай из 3 букв ...> _> С зеркальными фотокамерами, которые могут делать несколько фотографий в секунду, имя файла становится длиннее и длиннее
NULLZ
Бренд Olympus имеет простую систему: обычно его имена начинаются с «P» или «_» (не помню, что означает, но это связано с цветовым пространством), а затем цифрой месяца: 1,2,3,4 , 5,6,7,8,9, A, B, C, две цифры для дня и четыре другие цифры для корреляции. Таким образом, файл PC083651 был застрелен 8 декабря. Это действительно ОЧЕНЬ полезно и, по крайней мере, у меня никогда не было проблем. Это странно, если вы стреляли в полночь 31 декабря, потому что «старый» файл неожиданно попадает в верхнюю часть списка в алфавитном порядке. Может быть, у них есть патент, и это мешает остальным делать это.
Джахазиил
3
Если они действительно включают дату, она должна быть в формате ISO 8601. Все остальное будет сбивать с толку. Также формат ISO означает, что он будет сортироваться правильно.
vclaw
1
Я думаю, что для большинства людей проще просто собрать все фотографии в одном месте. Для обычных людей подобное соглашение будет означать, что в вашем хранилище камер будет очень мало фотографий в каждой папке. Кроме того, тривиально создавать сценарии для импорта фотографий и использовать exif-данные для их упорядочивания по
своему
2
Обратите внимание, что сама файловая система имеет временную метку. Соглашение об упорядочении по-прежнему необходимо для случаев, когда скорость создания изображения выше разрешения таймера и / или поддержки файловой системы (я не думаю, что FAT32 поддерживает миллисекунды?). Кроме того, при нормальном использовании время, вероятно, будет 1 января 1970 года для большой группы пользователей.
Йорик

Ответы:

16

Это сводится к патентам на программное обеспечение - не по датам, а таким образом, что ограничивает имена файлов. Единственная файловая система, которая широко доступна и является кроссплатформенной, это FAT, почтенная файловая система Microsoft DOS. Он работает как на старых, так и на новых версиях Windows, работает на OS / 2, работает на Mac, работает на Linux, и существует множество встроенных реализаций для мини-операционных систем, работающих на камерах. Он достаточно стар, чтобы стать общественным достоянием.

Но есть подвох. В оригинальной версии допускаются только имена файлов из восьми символов плюс точка плюс трехсимвольное расширение. Расширения, которые позволяют использовать более длинные имена файлов, появились намного раньше, и некоторое время назад Microsoft предпринимала серьезные саблезубые намерения по сбору роялти. Это означает, что большинство камер - и стандарт DCIM - выбирают безопасный маршрут и избегают кода для генерации длинных имен файлов. А это значит, что значимые для человека дата и время нежизнеспособны, потому что они слишком длинные.

Это подтверждается техническим руководством для встроенного драйвера SD-карты , в котором отмечается:

Microsoft предлагает лицензирование для использования своей системы регистрации FAT на основе продаж. Однако обычно считается, что это относится только к приложениям, которые реализуют запатентованную систему длинных имен файлов (LFN). Мы понимаем, что если длинные имена файлов не используются, то лицензионный сбор не взимается, однако вам следует выяснить, согласны ли вы с этим мнением самостоятельно (насколько нам известно, Microsoft не заявляла об этом, но другие определили это на основе оригинальных выпусков FAT). стандарт от Microsoft).

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

Пожалуйста, прочитайте мой профиль
источник
Ты понял! Это в значительной степени ограничение. Даже даты для камер, которые поддерживают имена файлов с датами, странным образом кодируются с месяцем за октябрем в виде одной буквы, чтобы соответствовать.
Итай
1
FAT32 может поддерживать более 8,3 и не обременен, насколько я знаю. Проблемы с культурными датами и сортировка имен - более важная проблема.
AJ Henderson
3
@AJ К сожалению, ситуация не так радужна. В частности, речь идет о поддержке длинных имен файлов в VFAT / FAT32; в частности, USPTO 5579517 . Это было отброшено на рассмотрение, но затем восстановлено несколько лет спустя. Реализация Linux имеет обходной путь, который, как полагают, не нарушает (см. Подробнее об этом в LWN ), но самый простой обходной путь - избегать создания длинных имен файлов.
Пожалуйста, прочитайте мой профиль
Они могут обойти это, сохраняя даты как отдельные папки, а не как часть имени файла. Фактически, это именно то, что делает мой Sony a390 (хотя эта опция по умолчанию отключена)
BlueRaja - Дэнни Пфлугхофт
На самом деле, FAT поддерживает только 11-символьные имена записей каталога. Они обычно отображаются как 8 + 3, но в прежние времена было довольно редко просто использовать все 11 доступных символов в качестве имени без определенного расширения. Конечно, в наши дни использование расширений является обычным делом, и все остальное в лучшем случае может вызвать путаницу.
CVn
7

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

Одна из возможных причин, по которой никто не писал этот код, состоит в том, что формат даты / времени является недопустимым в соответствии со стандартом DCF, который описывает, как камеры должны хранить изображения для совместимости с другими камерами, устройствами просмотра и принтерами ( ссылка на Википедию , фактический стандарт doc ).

Другая причина, по которой никто не писал код, состоит в том, что написание кода, даже на первый взгляд простого кода, требует больше времени, чем вы думаете (что делать при переключении режимов имени файла, что делать, если файл с таким именем уже существует, будет ли он работать с программным обеспечением) на компакт-диске, поставляемом с камерой, - и теперь вам нужно протестировать все дважды, один раз в старом режиме имени файла и один раз в режиме даты и времени ...) - и все это работает для функции, которая не будет продавать больше камер - так что все это время лучше провести в другом месте.

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

Nir
источник
1
Я думаю, что второй абзац здесь является важным: стандарт определяет <3 буквы> _ <4 числа>, а дата и время не вписываются в это.
Филипп Кендалл
@PhilipKendall - вы всегда можете просто вообще не соответствовать DCF (например, его мобильному телефону) - или иметь два режима, режим DCF для людей, которым нужна совместимость со всеми принтерами и фоторамками, и режим даты / времени для людей, которые заботятся о имена файлов (а затем вы переходите к моему третьему абзацу, стоимость этих опций не тривиальна).
Nir
3
@PaulCezanne - я не согласен, с инженерной точки зрения есть только один разумный формат даты / времени, который вы можете использовать - количество миллисекунд, начиная с эпохи UNIX, очевидно, в часовом поясе UTC
Nir
5
Я думаю, что это знакомит со многими переменными вне «контроля программистов». Например, как камера реагирует на 14 снимков в секунду? Кроме того, поскольку время и дата меняются, можно сделать снимок, а затем через час изменить время на час раньше, а затем сделать снимок. Что тогда делать камере? Слишком много условий, что простые инкрементные номера файлов хорошо решаются.
масон
1
@PhilipKendall - правда, но более глубокий вопрос заключается в том, почему стандарты указывают это. Короткий ответ - культурный агностицизм и правильная сортировка по имени. Также метка даты и времени создания файла уже фиксирует дату и время как метку времени, которая не зависит от культуры.
AJ Henderson
3

В основном это касается длины имен файлов во время разработки Правил проектирования для файловых систем камер . Многие широко используемые в то время операционные системы не позволяли именам файлов достаточно долго размещать метки даты / времени с достаточной детализацией, чтобы различать, например, два изображения, снятые за одну минуту, а тем более за одну и ту же секунду. Есть также спецификации EXIF, которые могут быть еще более строгими.

Практически любое современное приложение для управления файлами цифровых изображений сторонних производителей (Lightroom, On1, CaptureOne и т. Д.) Или производителей камер (EOS Utility / Digital Photo Professional, ViewNX и т. Д.) Позволяет назначать новые имена файлов для изображений при импорте. их на компьютер. Для большинства из них довольно просто настроить автоматическое назначение нового имени файла при импорте на основе даты и времени. При современных частотах кадров, которые вам нужны, вам понадобится имя файла, которое могло бы дифференцировать 10 или более кадров, снятых за одну секунду, для ряда камер. Кроме того, возникает проблема импорта изображений, снятых двумя разными камерами (многосъемочная свадьба и т. Д.) В одно и то же время (или почти в одно и то же время, но с смещением часов на каждой камере настолько, что некоторые изображения

Майкл С
источник
2
Расширения каталогов FAT для охвата более длинных имен были запатентованы Microsoft, поэтому длинные имена файлов избегались, хотя они были хорошо известны и тривиальны для реализации. Отсюда и ограничение в 8 символов.
Марк Рэнсом
Ага. Вот почему ответ гласит: «... не позволял имена файлов достаточно долго ...», а не « не мог разрешить имена файлов ...»
Майкл C
3

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

Есть и неспецифические причины. Одна из них заключается в том, что дату и время можно лучше кодировать в EXIF ​​вместе с другими соответствующими данными, такими как модель камеры, диафрагма, баланс белого и т. Д., И добавление их в имя файла является избыточным и открывает черви, которые распространяют данные (которые являются каноническая правда, EXIF ​​или имя файла?). С практической точки зрения, имена файлов - это вопрос личных предпочтений: одному человеку могут понадобиться временные метки, другая модель объектива или расстояние фокусировки, выдержка или белая точка.

Помните, что ваша камера - это компьютер, и две вещи, связанные с именами, аннулирование кэша и ошибки «один на один», являются двумя сложными проблемами компьютерной науки.

Пожалуйста, прочитайте мой профиль
источник
1

Никакая цифровая камера не делает это, но многие мобильные телефоны Android делают, так что это, вероятно, просто историческое. Как вы сказали, вам нужна точность не менее секунды, потому что большинство камер могут срабатывать чаще, чем один раз в секунду, даже в режиме одиночной съемки. При современных скоростях пакетной передачи 60 FPS вам понадобится как минимум две цифры, поэтому часы + минуты + секунды + сотые - это уже 8 символов, и места для префикса нет, поэтому вы вышли за предел FAT, который использовался когда началось текущее соглашение.

В любом случае, я не думаю, что это тебя сильно покупает. Знаете ли вы, какое фото вы сделали, посмотрев на него, если имя было отметкой времени? Что, если время вашей камеры было неправильным или вы были в другом часовом поясе? Несколько человек хранят свои камеры в UTC, но большинство из них имеют местное время. Таким образом, порядковый номер так же хорош, как и любое другое соглашение для различения изображений. Лично меня больше беспокоит то, что изображения распадаются на папки и забывают загрузить или сделать резервную копию следующей.

Итай
источник
-1

Основная причина в том, что форматы даты также не соответствуют международным стандартам и не всегда сортируются по порядку. Например, если бы я должен был просматривать файлы по порядку в США, а затем в формате mmddyyyy, то файлы за март 2003 года были бы перечислены после файлов за январь 2012 года. Использование непрерывной последовательности гарантирует, что файлы будут отсортированы при их съемке. когда отсортировано по имени. Дата / время самого файла хранит дату и время в международном совместимом формате, а метаданные на самом изображении также содержат информацию.

Еще одна причина, о которой я могу подумать, заключается в том, что вам потребуется точность менее секунды для представленного времени. С большинством зеркал можно снимать несколько кадров в секунду. Например, моя камера делает 6-7 снимков за 1 секунду, если я удерживаю кнопку.

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

А. Дж. Хендерсон
источник
5
Обязательный XKCD: xkcd.com/1179
Пожалуйста, прочитайте мой профиль