如何从EXIF获取相机序列号


How to get camera serial number from EXIF?

如何从EXIF获取相机序列号?


编辑:有些人认为不是所有(甚至很多)相机都有序列号,但我试了四个不同制造商的相机,它们都有。所以,让我们把它改写为"如果有的话,如何从EXIF获得相机序列号?"

如前所述,并非所有相机都存储序列号。然而,大多数单反相机都有。

序列号实际上存储在EXIF的MakerNotes部分中。这是一个专有的部分,供制造商以他们喜欢的任何格式编写。

我扩展了Jacob Seidelin的伟大工作(<编辑:URL是一个404 xmlns:编辑="#unknown">)提取序列号与javascript在我的网站上,其中包括一个离线版本的Chrome没有其他原因,而不是看看我是否可以!它是开源的,所以如果你正在寻找一个javascript解决方案,欢迎你在它的基础上构建。

这个问题不包括编程语言或任何限制,所以目前最好的答案是使用exiftool。它对不同的相机型号和文件格式有最完整的支持(包括对不同应用程序如何屠宰它的出色支持!)

获取序列号的一个简单示例命令是:
exiftool -SerialNumber myImage.jpg
我写我的网站,我已经研究了这个话题超过数百小时,所以如果你有任何更多的问题,让我知道!

几乎所有的数码单反相机都将序列号编码到制造商注释部分的EXIF信息中。大多数人在EXIF信息中看不到它的原因是Adobe产品几乎都忽略了EXIF信息的制造者注释部分。因此,如果您使用Adobe产品查看EXIF信息,您将看不到序列号。但这并不意味着它不在那里,它只是意味着Adobe没有显示它。

首先,相机必须将其序列号写入EXIF数据。我不知道有什么可以。

但是在任何情况下,您都必须检查所讨论的特定相机的文档,以查看它是否写入该值以及写入该值的位置。它没有标准的位置,因为它不是一个标准的东西(如ManufacturerModel)。

您可以在这里看到很多关于EXIF规范的信息。

可以使用exif_read_data访问php中的EXIF信息。下面的链接中有一个关于如何使用这个命令的很好的代码示例。

http://www.php.net/manual/en/function.exif-read-data.php

但是目前没有多少相机将序列号编码到EXIF块中。