# What is algebraic effect of transforms in Adobe After Effects Keyframe Data file?

I want to write software which peforms a pan, zoom, rotate, and resample on a 3840x2160 input video, yielding a 960x540 output video. I have an keyframe data file, exported from Adobe After Effects, which specifies the pans, zoom, and rotate actions I want, in terms of key frames. I could let Adobe After Effects render the output video, but instead I want my own software to do this part.

The file looks like this:

``````Adobe After Effects 8.0 Keyframe Data

Units Per Second    29.97
Source Width    3840
Source Height   2160
Source Pixel Aspect Ratio   1
Comp Pixel Aspect Ratio 1

Transform   Scale
Frame   X percent   Y percent   Z percent
0   200 200 0
150 300 300 0
Transform   Anchor Point
Frame   X pixels    Y pixels    Z pixels
1920    1080    0

Transform   Position
Frame   X pixels    Y pixels    Z pixels
0   480 270 0
150 -4800.88    2356.12 0

Transform   Rotation
Frame   degrees
150 30

End of Keyframe Data
``````

I don't understand the algebraic relationship between pixel coordinates in the input video frame and pixel coordinates in the output video frame, in terms of the keyframe data in this file. I understand translate, scale, and rotate operations in the abstract, as linear transformations. I don't understand, for example, if the `Transform Position` values are absolute or relative motions, or how they are affected by the `Transform Scale` values, or if they are in terms of input frame coordinates or output frame coordinates.

I realise that the actual transformation is based on per-frame values interpolated between these keyframes. I think that's not a problem for me.

What is the algebraic relationship between pixel coordinates relative to the input video frame, and pixel coordinates relative to the output frame, for a frame described by the keyframe, given the width and height of input and output, and the values in the Adobe After Effects Keyframe Data file?

• I never really got that far in my math studies, but I think that whenever you're talking about 3-dimensional transformations (whether xyz, psr, ptz, rgb, or whatever), you're talking about matrices and linear algebra. So maybe take a class on that? May 19 '18 at 12:03