How does Premiere Pro import embedded XMP data?

Started by metaman123, October 02, 2018, 09:42:42 AM

Previous topic - Next topic

metaman123

I've been using EXIFTOOL to embed XMP metadata into my video files. I'm particularly interested in using this metadata for markers. Premiere is able to recognize this data, however the structure is all over the place. Only the first marker comment is ever imported properly, after that the markers don't appear to have any rhyme or reason.

Am I wrong to believe these fields are all comma delimited and parsed in sequence when imported to Premiere Pro? Does anyone have any suggestions on data structure?

This is how my embedded XMP data looks when run through EXIFTOOL. Has anyone else played with embedded Markers in Premiere? Thank you for any insight and help!

XMP Toolkit                     : Image::ExifTool 10.80
Description                     : Mount Bakerry
Subject                         : mountain, peak, winter
Tracks Frame Rate               : f29.97
Tracks Markers Comment          : Mountains, Tree, Mountain peak, Bird nest
Tracks Markers Cue Point Params Key: marker_guid, marker_guid, marker_guid, marker_guid
Tracks Markers Cue Point Params Value: 4d93d05c-1729-4fe6-bf54-13ab18768648, fab68aa5-e107-419e-b3e7-0c24b4c55b4e, a3935803-4eb7-4256-92fb-bc77f26dede0, 8422a97a-83da-476f-9304-a7ab5bba5e87
Tracks Markers Duration         : 300, 236, 241, 88
Tracks Markers Name             : I(x0:y0), I(x-92.500:y-33.898):O(x-64.000:y-78.398), I(x-14.000:y12.102):O(x-13.000:y8.102), I(x41.000:y-30.398):O(x155.000:y9.102)
Tracks Markers Start Time       : 0, 12, 62, 213
Tracks Markers Type             : Comment, Comment, Comment, Comment
Tracks Track Name               : Markers

Phil Harvey

They are not comma-delimited in the XMP.  Use exiftool -xmp -b FILE to see the raw XMP, or exiftool -struct FILE to see the ExifTool output in structured format.  When writing with ExifTool, you may need to write as structures to get the proper associations.  See the documentation on dealing with XMP structures for help with this.

- 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 ($).

metaman123

Thanks Phil! I think you solved my dilemma! Great tool and great support!

metaman123

For any further lost developer, this worked like a charm!

exiftool -overwrite_original -tracksmarkers="{Comment=Mountains, CuePointParams=[{Key=marker_guid, Value=9de7da77-5680-416e-9c1c-cf765ff86e23}], StartTime=87, Duration=300, Name=I(x-92.500:y-33.898):O(x-64.000:y-78.398)}" FILE

Sean

Thank you, metaman123, this was a massive help!  Just a few additional notes that might help anyone else finding this:

- You don't need to include every parameter, I've just been using StartTime and Comment parameters

- However, you do need the GUID, which stands for Global Unique Identifier.  Premiere uses UUID v4, it's just a string of characters with an astronomically low possibility of being repeated.  You can use a website like this to generate one.  The content of the code doesn't matter, as long as it is unique.

- The StartTime and length are measured in frames.

- For larger files, you may need to add -api LargeFileSupport=1, like this:

exiftool -api LargeFileSupport=1 -overwrite_original -tracksmarkers="{Comment=Test, CuePointParams=[{Key=marker_guid, Value=d4fe3689-9090-4f92-946e-ea2833d52e61}], StartTime=87}" markertarget.mp4
Hope this helps someone!

Phil Harvey

You can use ExifTool to generate a GUID (by using the NewGUID tag):

exiftool -api LargeFileSupport=1 -overwrite_original "-tracksmarkers<{Comment=Test, CuePointParams=[{Key=marker_guid, Value=$newguid}], StartTime=87}" markertarget.mp4
- 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 ($).