Rotate AVAssetWriter's output 180 deg about the x-axis
-
05-03-2021 - |
Question
I'm creating a Quicktime movie file using AVAssetWriter
. Currently the output video is "upside down". In theory I can correct this by rotating the video 180 degrees about the horizontal axis (essentially "flipping" the video). What's the best way to do this?
Currently I'm trying to assign a CGAffineTransform
to myAVAssetWriterInput.transform
. Perhaps CGAffineTransformMake(a, b, c, d, tx, ty)
will allow me to specify the correct affine transformation matrix?
Neither the Apple docs nor wikipedia gives a clear explanation on how an affine transformation matrix works. And there might be a better way all together.
Solution
myAVAssetWriterInput.transform = CGAffineTransformMakeRotation(M_PI);
if you want to rotate the video 180 degrees around z-axis, or
myAVAssetWriterInput.transform = CGAffineTransformMakeScale(1, -1);
if you want to reflect in x-axis
OTHER TIPS
[AVAssetTrack preferredTransform]
will return the right CGAffineTransform.
You can assign this CGAffineTransform to writeInput
.