ExifTool Forum

General => Metadata => Topic started by: metaman123 on October 02, 2018, 09:42:42 AM

Title: How does Premiere Pro import embedded XMP data?
Post by: metaman123 on October 02, 2018, 09:42:42 AM
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
Title: Re: How does Premiere Pro import embedded XMP data?
Post by: Phil Harvey on October 02, 2018, 09:52:36 AM
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 (https://exiftool.org/struct.html) for help with this.

- Phil
Title: Re: How does Premiere Pro import embedded XMP data?
Post by: metaman123 on October 02, 2018, 10:08:07 AM
Thanks Phil! I think you solved my dilemma! Great tool and great support!
Title: Re: How does Premiere Pro import embedded XMP data?
Post by: metaman123 on October 03, 2018, 05:50:26 AM
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
Title: Re: How does Premiere Pro import embedded XMP data?
Post by: Sean on February 21, 2025, 10:56:09 AM
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 (https://www.uuidgenerator.net/version4) 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!
Title: Re: How does Premiere Pro import embedded XMP data?
Post by: Phil Harvey on February 21, 2025, 11:11:44 AM
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