如何从EXIF获取相机序列号?
编辑:有些人认为并非所有(甚至很多)相机都存储了序列号,但我尝试过来自不同制造商的4个相机。所以,让我们把它改为“如果有的话,如何从EXIF获取相机序列号?”
答案 0 :(得分:19)
如前所述,并非所有相机都存储序列号。但是,大多数数码单反相机都可以。
序列号实际存储在EXIF的MakerNotes部分中。这是制造商以他们喜欢的任何格式编写的专有部分。
我通过Jacob Seidelin(<编辑:网址是404 )扩展了这项伟大的工作,以便在my Site上使用javascript提取序列号,其中包括Chrome的离线版本没有其他原因,只能看看我能不能!它是开源的,所以如果你正在寻找一个javascript解决方案,欢迎你建立它等。
问题不包括编程语言或任何contsraints,因此目前最好的答案是使用exiftool。它对不同的相机型号和文件格式提供最完整的支持(包括对不同应用程序如何屠宰它的精彩支持!)
获取序列号的简单示例命令是:
exiftool -SerialNumber myImage.jpg
我在写我的网站时,我已经在数百小时内查看了这个主题,所以如果您还有其他问题,请告诉我们!
答案 1 :(得分:4)
几乎所有数码单反相机都将序列号编码到制造商备注部分的EXIF信息中。大多数人在EXIF信息中看不到的原因是Adobe产品几乎忽略了EXIF信息的制造商备注部分。因此,如果您使用Adobe产品查看EXIF信息,则无法看到序列号。但这并不意味着它不存在,只是意味着Adobe没有显示它。
答案 2 :(得分:3)
首先,相机必须将其序列号写入EXIF数据。我不知道有什么用。
但无论如何,您必须查看相关特定相机的文档,看它是否写入此值以及写入的位置。它没有标准的位置,因为它不是标准的东西(例如Manufacturer
或Model
)。
您可以看到很多关于EXIF规范here。
答案 3 :(得分:1)
您可以使用exif_read_data
访问php中的EXIF信息。有关如何使用此命令的良好代码示例,请参见以下链接中的手册。
http://www.php.net/manual/en/function.exif-read-data.php
但afaik目前没有多少摄像机将序列号编码到EXIF块中。