从图片中提取元数据而不上传整个图片
Extract metadata from pic without uploading the whole pic
我想弄明白,是否可以从图片中提取元数据,而不必 download/upload 整个图片文件。
我正在通过互联网查看几个库来执行此操作,但到目前为止我发现所有这些库都需要打开整个文件。
我一直在寻找 standards nowadays 的格式,我发现只有 XMP 允许获取与文件本身分开的信息。
有什么方法可以只用文件的一部分获取GPS坐标?
我认为从隐私和性能的角度来看这会很好。
此致,罗伯托
您可以使用 -r
参数下载 curl
的部分文件。因此,让我们获取文件的前 16kB 并将其传递给 jhead
以获取 EXIF/GPS 数据:
curl -r 0-16000 "http://thesetchells.com/a.jpg" | jhead /dev/stdin
示例输出
File name : /dev/stdin
File size : 0 bytes
File date : 2018:01:09 13:39:45
Camera make : Apple
Camera model : iPhone 4
Date/Time : 2013:03:09 08:59:50
Resolution : 2592 x 1936
Flash used : No
Focal length : 3.8mm (35mm equivalent: 35mm)
Exposure time: 0.0011 s (1/914)
Aperture : f/2.8
ISO equiv. : 80
Whitebalance : Auto
Metering Mode: pattern
Exposure : program (auto)
GPS Latitude : N 20d 50.66m 0s
GPS Longitude: E 107d 5.46m 0s
GPS Altitude : 1.13m
JPEG Quality : 96
您需要的大小会有所不同,我发现这张图片至少需要 14kB 左右。完整图像实际上是 2,219,100 字节。
我想弄明白,是否可以从图片中提取元数据,而不必 download/upload 整个图片文件。
我正在通过互联网查看几个库来执行此操作,但到目前为止我发现所有这些库都需要打开整个文件。
我一直在寻找 standards nowadays 的格式,我发现只有 XMP 允许获取与文件本身分开的信息。
有什么方法可以只用文件的一部分获取GPS坐标?
我认为从隐私和性能的角度来看这会很好。
此致,罗伯托
您可以使用 -r
参数下载 curl
的部分文件。因此,让我们获取文件的前 16kB 并将其传递给 jhead
以获取 EXIF/GPS 数据:
curl -r 0-16000 "http://thesetchells.com/a.jpg" | jhead /dev/stdin
示例输出
File name : /dev/stdin
File size : 0 bytes
File date : 2018:01:09 13:39:45
Camera make : Apple
Camera model : iPhone 4
Date/Time : 2013:03:09 08:59:50
Resolution : 2592 x 1936
Flash used : No
Focal length : 3.8mm (35mm equivalent: 35mm)
Exposure time: 0.0011 s (1/914)
Aperture : f/2.8
ISO equiv. : 80
Whitebalance : Auto
Metering Mode: pattern
Exposure : program (auto)
GPS Latitude : N 20d 50.66m 0s
GPS Longitude: E 107d 5.46m 0s
GPS Altitude : 1.13m
JPEG Quality : 96
您需要的大小会有所不同,我发现这张图片至少需要 14kB 左右。完整图像实际上是 2,219,100 字节。