bennoleslie / jsjpegmeta

Parsing JPEG meta data (EXIF) in Javascript.
MIT License
75 stars 24 forks source link

iOS 8 filters many EXIF metadata fields. Example #7

Open topiaruss opened 9 years ago

topiaruss commented 9 years ago

This is a great component. Unfortunately it seems to fall foul of iOS's metadata filtering. The observation I'm making here seems to be supported pretty widely.

I'm not expecting there to be a fix for this. Just providing some documentation.

I provide two different views of exif data for an image on MacBook and iPhone. If the image accessed from the iphone is sent by email, it still contains the full data. It's only when accessed through the browser that the data is filtered.

This is the image after transfer to MacBook, accessed in Photos folder via Chrome.

JsJpegMeta Demo

Choose JPEG file: 

Image preview
JPEG File [JpegFile undefined Baseline DCT 3264x2448 Depth: 8]
General
Depth: 8
Pixel Height: 2448
Pixel Width: 3264
Type: Baseline DCT
Exif
Aperture Value: 2.2750072066878064
Brightness: 9.521337946943483
Color Space: 1
Exif Version: undefined
Exposure Bias Value: 0
Exposure Mode: 0
Exposure program: 2
Exposure time: 1 / 1319
FNumber: 2.2
Flash: 24
FlashPix Version: undefined
Focal Length: 4.15
Focal length in 35 mm film: 29
ISO Speed Ratings: 32
Manufacturer notes: undefined
Meaning of each component: undefined
Metering Mode: 5
Pixel X Dimension: 3264
Pixel Y Dimension: 2448
Scene Capture Type: 0
Scene Type: undefined
Sensing Method: 2
Shutter Speed: 10.365514501390544
Subject Area: 1631,1223,1795,1077
White Balance: 0
TIFF
Exif tag: 102
Orientation of image: 6
Resolution Unit: 2
X Resolution: 72
Y Resolution: 72
Y and C positioning: 1

This is the data viewed on the iPhone in Safari, on iOS 8.3. Masses of interesting data are filtered out.

JsJpegMeta Demo

Choose JPEG file: 

JPEG File [JpegFile undefined Baseline DCT 3264x2448 Depth: 8]
General
Depth: 8
Pixel Height: 2448
Pixel Width: 3264
Type: Baseline DCT
Exif
Color Space: 1
Pixel X Dimension: 3264
Pixel Y Dimension: 2448
IPTC
JFIF
Density Unit: 0
JFIF Version: 1.1
Version Major: 1
Version Minor: 1
X Thumbnail: 0
X density: 72
Y Density: 72
Y Thumbnail: 0
TIFF
Exif tag: 38
Orientation of image: 6
topiaruss commented 9 years ago

Blueimp also is able to dump loads more data from the same file accessed via Chrome on a MacBook than via iOS.

https://blueimp.github.io/JavaScript-Load-Image/

topiaruss commented 9 years ago

Pretty conclusive http://stackoverflow.com/questions/16297730/image-upload-from-iphone-strips-exif-data