An AAE file is an XML text file saved next to your JPEG images or MOV videos that describe adjustments to that file. For instance, I have a “Slo-mo” video I took with my iPhone 6 Plus, and the AAE file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>adjustmentBaseVersion</key>
<integer>0</integer>
<key>adjustmentData</key>
<data>
YnBsaXN0MDDRAQJac2xvd01vdGlvbtIDBAUXV3JlZ2lvbnNUcmF0ZaEG0QcIWXRpbWVS
YW5nZdIJCgsUVXN0YXJ0WGR1cmF0aW9u1AwNDg8QERITVWZsYWdzVXZhbHVlWXRpbWVz
Y2FsZVVlcG9jaBABEQEMEQJYEADUDA0ODxUWEhMQAxEC4SI+AAAACAsWGyMoKi03PEJL
VFpganBydXh6g4WIAAAAAAAAAQEAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAI0=
</data>
<key>adjustmentEditorBundleID</key>
<string>com.apple.camera</string>
<key>adjustmentFormatIdentifier</key>
<string>com.apple.video.slomo</string>
<key>adjustmentFormatVersion</key>
<string>1.1</string>
</dict>
</plist>
All the interesting bits are in the opaque hex code inside the “data” tag. If you decode that as base64, you get a binary plist file, and converting that to ascii gives you this:
{
slowMotion = {
rate = "0.125";
regions = (
{
timeRange = {
duration = {
epoch = 0;
flags = 3;
timescale = 600;
value = 737;
};
start = {
epoch = 0;
flags = 1;
timescale = 600;
value = 268;
};
};
}
);
};
}
So there you go – you can probably edit that data and write it back after encoding it to base64.