如何从EXIF获取相机序列号?
编辑:有些人认为不是所有(甚至很多)相机都有序列号,但我试了四个不同制造商的相机,它们都有。所以,让我们把它改写为"如果有的话,如何从EXIF获得相机序列号?"
如前所述,并非所有相机都存储序列号。然而,大多数单反相机都有。
序列号实际上存储在EXIF的MakerNotes部分中。这是一个专有的部分,供制造商以他们喜欢的任何格式编写。
我扩展了Jacob Seidelin的伟大工作(<编辑:URL是一个404 xmlns:编辑="#unknown">编辑:URL是一个404>)提取序列号与javascript在我的网站上,其中包括一个离线版本的Chrome没有其他原因,而不是看看我是否可以!它是开源的,所以如果你正在寻找一个javascript解决方案,欢迎你在它的基础上构建。
这个问题不包括编程语言或任何限制,所以目前最好的答案是使用exiftool。它对不同的相机型号和文件格式有最完整的支持(包括对不同应用程序如何屠宰它的出色支持!)
获取序列号的一个简单示例命令是:exiftool -SerialNumber myImage.jpg
我写我的网站,我已经研究了这个话题超过数百小时,所以如果你有任何更多的问题,让我知道! 几乎所有的数码单反相机都将序列号编码到制造商注释部分的EXIF信息中。大多数人在EXIF信息中看不到它的原因是Adobe产品几乎都忽略了EXIF信息的制造者注释部分。因此,如果您使用Adobe产品查看EXIF信息,您将看不到序列号。但这并不意味着它不在那里,它只是意味着Adobe没有显示它。
首先,相机必须将其序列号写入EXIF数据。我不知道有什么可以。
但是在任何情况下,您都必须检查所讨论的特定相机的文档,以查看它是否写入该值以及写入该值的位置。它没有标准的位置,因为它不是一个标准的东西(如Manufacturer
或Model
)。
您可以在这里看到很多关于EXIF规范的信息。
可以使用exif_read_data
访问php中的EXIF信息。下面的链接中有一个关于如何使用这个命令的很好的代码示例。
但是目前没有多少相机将序列号编码到EXIF块中。