One of the biggest issues I hear about from microstock photographers (or more precisely videographers), is that agencies do not read metadata from the footage files uploaded to them. This leads to them having to either spend time copy-pasting lots of text from spreadsheets/documents or even messing around with CSV files and filenames just to get the details into each agency.
This is all time wasted, and is fairly easy to avoid if agencies read metadata. This in itself though is not necessarily an easy thing to support, since footage formats vary widly in their support for metadata and determining what should be read (and how to read it) is a complicated issue. With images there are really only 3 formats (Exif, IPTC, XMP) and all 3 have reasonable support in existing libraries; but for footage there is not only an endless array of codecs and containers, but differing metadata results from each and every piece of software used to generate footage files.
I’ve recently taken a couple of days digging around in various footage formats and found the most commonly stored metadata (at least in those uploaded to picWorkflow) is XMP. This is both a good thing because XMP is good clear format, it’s easy to extract since it usually just hangs onto the end of files and to parse because it’s XML, and a bad thing because it often doesn’t contain much technical detail about the video-format, and isn’t read or written by much software. Fortunately though it seems most people producing for microstock are using one of the Adobe or Apple suites or software which came with their camera, most of which write XMP quite reliably (if you enter it in the metadata or file-info panel of your video project file.
So in the interest of making it easier for agencies to read metadata, I’m sharing under an open-source license a very simple piece of PHP which demonstrates how to find, extract, parse and handle XMP metadata, and it should work for almost any file-format (it even supports images, though for speed it should be tweaked to search forwards instead of backwards).
It will read metadata from most files I’ve tested in less than a tenth of a second, and as I know several of the agencies do not use PHP, it’s simple enough to be ported to any other language (Perl, Python, Node, or anything else) in about an hour (plus testing time). And to top it all off it’s less than 140 lines of simple code.
Usage example:
$metadata = get_FootageMetadata($fileName, $filePath); foreach($metadata as $field=>$value) { echo 'Field ' . $field . ' = ' . $value; }
Agencies… now you have no excuse not to import video metadata from the majority of footage just like you already do with images 🙂
3 Comments
Great stuff! I hope it catches on…
Actually, Pond5, RevoStock and I think Fotolia all read metadata from footage. It’s Shutterstock and iStock that need to get on board.
Pond5 and Revostock are the only ones I hear about reading metadata reliably. I hear fotolia do sometimes too, though they seem to have a lot of glitches in their import scripts. I shared also for other footage agencies such as Canstock, Clipdealer, Clipcanvas, Motion Elements, Stock Media Pro and some others on picWorkflow who I’ve had reports of not reading metadata 🙂