Main Menu

Lumia 950 metadata

Started by bob5ack, March 22, 2016, 02:58:36 PM

Previous topic - Next topic

bob5ack

I have been using an older product from Microsoft to build web pages automatically from fotos. Expression Media 2. It grabs a few items from the metadata -- date, author, lat/long, persons, ... -- and inserts them into locations that I specify on the page. I've been doing this for a slug of years now, with various cameras (Sony F828, Nokia CoolPix 510 w/built-in GPS) and cellphones (Nokia N90, Nokia N8 and earlier Nokia phones with cameras). I recently purchased a Nokia Lumia 950, and I find that Expression Media chokes (crashes) on fotos taken with that cellphone camera. I suspect it's something about the metadata that it doesn't like. I've used exiftool to examine metadata from fotos that work and compare them with the 950 metadata. Inspection is not a very good method. I did notice that that the 950 outputs its metadata in MM big-endian byte-order, while the foto that are processed use II little-endian byte-order. Hoping that that was the problem, I rewrote the metadata to change it to little-endian. That didn't change Expression Media's behavior.

I know this web page generator that I'm using is no longer distributed by MS, and no one may know anything about it. MS actually sold it to Phase One who distribute it under that name Media Pro.

Does anyone know anything about the Lumia 950 metadata format? Had any problems with them and fixed them?

I thought that rather than going at the problem main strength and awkwardness, and removing bits of the metadata until something worked, I'd ask the experts.

I've attached a jpg and the extracted metadata.

If anyone has a thought, I'd be delighted to hear it.

Phil Harvey

Other than an unknown tag 0xea1c in the EXIF GPS section, I don't see anything obviously wrong with this.

If the metadata is the problem, I'm sure you can use ExifTool to fix it.  FAQ 20 gives an example of a command that would likely do this for you.  Give that a try to see if it works.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

bob5ack

I tried both versions of the commands from FAQ 20. That's how I changed the metadata from big-endian to little-endian byte order. I guess the way to approach it is to cut things away things until it works. Compare the metadata from a file that works with one that doesn't and get rid of all the entries that aren't found in the working version.  It's possible that the tool specifies some entity exactly that doesn't appear exactly that way in the metadata. I'll have to poke around in the documentation, which is not comprehensive for this functionality of the tool.

Thanks for your quick reply.

bob5ack

After being distracted from this issue for a while —  life and taxes intervened — I did some more investigation. I'm using a program that will write some of the metadata into a web page for access by a reader of the page. I want to write two kinds of info: EXIF and IPTC. If I use a template that writes only IPTC info, the operation succeeds with files taken with the Lumia 950 — that is, it writes a web file with all the expected IPTC info. It fails — the program crashes — with the template that writes the EXIF info (actually both EXIF and IPTC, but I don't think that can be a factor). I thought that maybe a group in the metadata called "mwg-rs" (something from the "metadataworkinggroup") only present in the files taken with the Lumia 950 could be causing a problem, but that can't be, because the operation succeeds with the template with the IPTC info only with the mwg-rs info present. So I'm still stuck. Any other thoughts? Any way to eliminate easily additional EXIF info created by the Lumia 950? Or perhaps add missing EXIF fields not created by the Lumia 950 — although I don't know what values that I'd fill them with?

Phil Harvey

I usually handle these problems the same way that you describe.  Use ExifTool to successively iterate between a good and a bad file until the differences converge on a single piece of metadata.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

bob5ack

Thx for your reply. I'm thinking that the problem with the application is something like a buffer overflow. There's more EXIF metadata in the Lumia 950 files than the others that I've been processing. I could go through the step-by-step process of elimination, but life's too short. Jumping outside that box.

Since exiftool will write tags for all the .jpg files in a directory, using each filename for the output files, I can simply write a series of files with the content that I want. (I've done the test for writing the desired tags, and it works fine.) Then on loading a page (which also has that filename), I know which is the corresponding metadata file, and I can open it, and then can process it to display the content that I want. I have to modify the scripts for that operation, but they already exist, so that's relatively straightforward. Not the preferred solution, and I'm sure that there will be some unanticipated condition in which it will come back to bite me on the ass, but it will work for now. And I don't have to go back to using the Nokia N8. (And actually there may be some utility out there that will do what I want, but I haven't looked. I started down this road — roll your own — long ago.)

BTW exiftool is a great utility, although you'd have to spend half a lifetime studying it to understand its full capabilities, even with the (exhaustive) man page in hand.