Search code examples
iosvideoquicktimecgaffinetransformavassetwriter

Rotate AVAssetWriter's output 180 deg about the x-axis


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