为什么大多数相机不存储基于日期和时间的文件名?


11

我注意到使用照相手机拍摄照片时,文件名由日期和时间组成。(例如20131101-110015.jpg)

但是,大多数傻瓜相机和数码单反相机都没有。它们的文件名通常采用DCM0011.jpg之类的顺序

有没有一种方法可以设置相机选项,以便它使用包含日期和时间的名称创建文件?

关于傻瓜相机三星EX1和相机手机Samsung Galaxy S2


我很乐意将此作为一种选择!佳能5D MkIII具有有限的文件名控制,但更多的是3个字母的情况...> _>使用DSLR可以每秒拍摄多张照片,文件名变得越来越长
NULLZ 2013年

奥林巴斯品牌有一个简单的系统:它的名称通常以“ P”或“ _”开头(不记得是什么意思,但与色彩空间有关),然后是月份的数字:1、2、3、4 ,5、6、7、8、9,A,B,C,一天的两位数和相关的其他四位数字。因此,文件PC083651在12月8日被枪杀。确实,它非常有用,至少我从来没有遇到过问题。如果您在12月31日午夜拍摄,那是很奇怪的,因为“较旧”文件突然位于按字母顺序排列的列表的顶部。也许他们拥有一项专利,而其他专利却无法获得专利。
Jahaziel

3
如果确实包含日期,则日期应为ISO 8601格式。其他任何事情都会令人困惑。同样,ISO格式意味着它将正确排序。
vclaw

1
我认为对于大多数人来说,将所有照片集中在一个地方比较容易。对于普通人来说,这样的约定意味着您的相机存储中每个文件夹中的照片很少。创建脚本以导入照片并使用exif数据
随意

2
请注意,文件系统本身具有时间戳。对于图像创建速度快于计时器和/或文件系统支持的分辨率的情况,仍需要排序约定(我不认为FAT32支持毫秒吗?)。同样,在正常使用情况下,大部分用户的时间可能是1970年1月1日。
Yorik

Answers:


16

这归结为软件专利-不是日期,而是以限制文件名的方式。唯一可广泛使用且跨平台的文件系统是FAT,这是古老的Microsoft DOS文件系统。它可以在Windows的新旧版本上使用,在OS / 2上也可以使用,在Mac上可以使用,在Linux上也可以使用,并且对于在相机上运行的微型操作系统有很多嵌入式实现。它已经是公共领域了,已经足够老了。

但是,有一个陷阱。原始版本只允许使用八个字符的文件名,外加一个点和三个字符的扩展名。允许使用更长文件名的扩展名是最新的,而前一阵子微软在收取专利使用费方面进行了一些严肃的举动。这意味着大多数摄像机以及DCIM标准都采取了安全的路线,并避免使用代码来生成长文件名。这意味着有意义的日期和时间是不可行的,因为它太长了。

这由嵌入式SD卡驱动程序的技术手册提供支持,该手册指出:

Microsoft提供按单位销售的FAT归档系统使用许可。但是,通常认为,这仅适用于实现获得专利的长文件名系统(LFN)的应用程序。我们的理解是,如果不使用长文件名,则无需支付许可费用,但是您应该确定自己是否同意这种观点(据我们所知,Microsoft尚未说明此观点,但其他人已根据FAT的原始版本确定了这一观点)微软的标准)。

确实写入更长文件名的相机或照相手机已经向Microsoft付费,正在使用其他文件系统,或者不担心法律威胁。


你说对了!那几乎就是限制。支持日期文件名的相机的日期甚至会与10月之后的月份一样被奇怪地编码为单个字母,以使其适合。
Itai 2013年

1
FAT32可以支持8.3以上的版本,据我所知,它不受影响。文化日期问题和名称排序是一个更大的问题。
AJ Henderson

3
@AJ不幸的是情况并不那么乐观。特别是在VFAT / FAT32中对长文件名的支持引起了争议。特别是USPTO 5579517。对此进行了审查,但几年后又恢复了。Linux实现有一个不被侵犯的解决方法(有关更多信息,请参见LWN),但是最简单的解决方法是避免创建长文件名。
请阅读我的个人资料

他们可以通过将日期存储为单独的文件夹而不是文件名的一部分来解决此问题。实际上,这正是我的Sony a390所做的(尽管默认情况下该选项
处于

实际上,FAT仅支持11个字符的目录条目名称。这些通常显示为8 + 3,但是在过去,简单地使用所有11个可用字符作为名称而没有特定扩展名并不少见。当然,这些天来,使用扩展是司空见惯的,其他任何事情充其量也只会造成很多混乱。
CVn

7

大多数相机不按数据和时间存储文件的原因仅仅是因为没有人在相机的软件中编写代码来这样做。

没有人写该代码的一个可能原因是,根据DCF标准,日期/时间格式是非法的,该标准描述了相机应如何存储图像以与其他相机,查看设备和打印机兼容(维基百科链接实际标准doc)。

没有人写代码的另一个原因是,编写代码,甚至看似简单的代码,也需要比您想象的更多的时间(切换文件名模式时该怎么办,当具有该名称的文件已经存在时该怎么办,它将与软件一起工作吗?在相机随附的CD中吗?现在您必须对所有内容进行两次测试,一次是使用旧文件名模式,一次是使用日期时间模式...)-而所有这些功能对于不会售出更多相机的功能都是有效的-因此,所有这些时间最好都花在其他地方。

现在,有关如何使用相机进行操作,在Samsung EX1用户手册中进行的快速搜索未找到更改文件名的方法,因此可能无法实现。


1
我认为这里的第二段很重要:标准指定了<3个字母> _ <4个数字>,而日期和时间不适合该标准。
菲利普·肯德尔

@PhilipKendall-您始终可以根本不遵循DCF(例如他的手机)-或有两种模式,DCF模式用于希望与所有打印机和相框兼容的人,而日期/时间模式则用于关心人的打印机文件名(然后进入我的第3段,这些选项的成本是微不足道的)。
2013年

3
@PaulCezanne-我不同意,从工程学的角度来看,您只能使用一种合理的日期/时间格式-自UNIX时代以来的毫秒数,显然是UTC时区
Nir

5
我认为它引入了“程序员控制”之外的许多变量。例如,相机如何响应每秒14张照片?另外,由于时间和日期会发生变化,因此可以先拍照,然后一个小时后,再将时间更改回一小时,然后再拍照。那相机是做什么的呢?一个简单的增量文件编号可以很好地解决很多情况。
cmason

1
@PhilipKendall-是的,但是更深层的问题是标准为什么要指定这一点。简短的答案是文化不可知论和按名称正确分类。同样,文件创建日期时间戳记已经将日期时间捕获为与区域性无关的时间戳记。
AJ Henderson

3

主要是在制定“相机文件系统设计规则”时的文件名长度。当时许多操作系统被广泛使用,不允许文件名足够长以容纳具有足够细节的日期/时间戳以区分,例如,同一分钟内拍摄的两个图像,而不是同一秒钟。还有EXIF规范,可能更具限制性。

第三方供应商(Lightroom,On1,CaptureOne等)或相机制造商(EOS Utility / Digital Photo Professional,ViewNX等)提供的几乎任何现代数字图像文件管理应用程序都允许您在导入时为图像分配新的文件名。他们到计算机上。多数情况下,在导入时根据日期和时间自动分配新的文件名非常简单。如果采用现代帧速率,那么您需要一个文件名,该文件名可以区分多个摄像机在同一秒内拍摄的10个或更多帧。然后是整个问题,即同时(或接近同一时间)导入使用两个不同的相机(mult-shooter婚礼等)拍摄的图像,但每个相机上的时钟偏移恰好足以使某些图像的


2
FAT目录的扩展名涵盖了更长的名称,并已获得Microsoft的专利保护,因此避免使用长文件名,即使这些文件名众所周知且实现起来很简单。这就是8个字符限制的来源。
Mark Ransom

是的 这就是为什么答案说:“ ... 不允许文件名足够长的时间...”而不是“ 不允许文件名...”
Michael C

3

是的,这是有特定原因的。这样做不是该标准最简单的应用。符合最简单的标准应用程序,可以促进制造商,软件和时间之间的互操作性。新软件可以处理旧图像上的文件级操作。旧软件可能可以处理新图像上的文件级操作。

也有非特定原因。一种是,日期和时间可以与其他相关数据(如相机型号,光圈,白平衡等)一起在EXIF中更好地编码,并将其放在文件名中是多余的,并打开了散发数据的蠕虫罐(即规范的事实,EXIF还是文件名?)。实际上,文件名是个人喜好问题:一个人可能需要时间戳,另一种镜头型号或焦距或快门速度或白点。

请记住,您的相机是一台计算机,命名,高速缓存无效和一站式错误是计算机科学的两个难题。


1

没有数码相机可以做到这一点,但是许多Android手机都可以做到,所以这可能仅仅是历史性的。正如您所说,您至少需要亚秒级的精度,因为即使在单次拍摄模式下,大多数相机每秒也可以触发一次以上。在60 FPS的现代突发速率下,您至少需要两位数字,因此小时+分钟+秒+百分之一已经是8个字符,并且没有前缀空间,因此您超出了使用的FAT限制当前约定开始的时间。

无论如何,我认为它不会给您带来多少好处。如果名字是带时间戳的,您会知道看哪张照片吗?如果您的相机时间错误或您所在的时区不同,该怎么办?少数人将相机保留在UTC中,但大多数人将其设置为本地时间。因此,序列号与任何其他区分图像的约定一样好。就个人而言,现在我更担心将图像插入文件夹中,而忘记下载或备份下一个图像。


-1

主要原因是日期格式也不是国际标准,也不总是可以按顺序排序。例如,如果我要按美国顺序查看文件,则格式为mmddyyyyy,那么将在2012年1月的文件之后列出2003年3月的文件。使用连续序列可确保文件按拍摄时的排序按名称排序时。文件的日期/时间本身以国际兼容格式存储日期时间,图像本身的元数据也包含该信息。

我能想到的另一个原因是,您需要为表示的时间提供亚秒级的精度。对于大多数数码单反相机,每秒可以拍摄多张照片。例如,如果按下按钮,我的相机会在1秒钟内拍摄6至7张照片。

简而言之,主要的四个原因是为了防止文化差异造成的混淆,确保按文件名正确排序,因为可以每秒拍摄多张照片,并且日期时间已经在文件创建时间内存储了。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.