Reading Graphics Text Base64 String From Premiere XML File
I'm building an app that reads the XML output of a Premiere project. For text graphics, Premiere appears to encode all the properties of the text (the string itself, font, size, etc.) as a JSON string stored in a base64-encoded string. Like this:
<parameter authoringApp="PremierePro">
<parameterid>1</parameterid>
<name>Source Text</name>
<hash>4e081bff-5365-dc02-2a20-2ed4000001a4</hash>
<value>jAEAAAAAAABEMyIRDAAAAAAABgAKAAQABgAAAGQAAAAAAF4ARAAUABAAQAA8ADgAAAA0ADAAAAAAACwAAAAoAAAAJAAAACAAAAAAAAAAAAAAAAAAHAAAAAAAGgAAABkAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAgAAAAAABsABwBeAAAAAAAAATwAAAAAAAABSAAAAGAAAAAAAAEAAQAAAAAA8EEAACBBychIQiQAAAAAAMhCMzMjwQIAAAAAAERCAACtQ1z///9g////ZP///1b///8AAAAAAQAAAAQAAAAMAAAAQVZTcXVhZFNsYXRlAAAAAAEAAAAMAAAACAAOAAQACAAIAAAAhAAAADwAAAAAADYAHAAAABgAFAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAEADYAAAACAAAAFAAAABgAAAAAAIBAKAAAAAAAJEL8////BAAEAAQAAAAEAAYABAAAAAAACgAIAAUABgAHAAoAAAAAgICABwAAADUuMTcuMjMA</value>
</parameter>
The trouble is that this base64 string does not decode to a valid JSON string in ANY known string encoding format (I've tried 28 of them). The XML file itself is UTF-8 encoded. I found old documentation that said Premiere used UTF-16LE for these base64 strings, but that appears to be outdated:
(The example <value> string from this old thread *does* properly decode into a JSON string when the string encoding is set to UTF-16 Little Endian.)
There is something weird going on with this base64 string and I just need to know how Adobe encoded the data so that I can decode and read it. Thanks!
