Created
July 7, 2017 19:21
-
-
Save gbarcena/a8339f20e3e9950b12916a4e865cc1e4 to your computer and use it in GitHub Desktop.
Correcting the transform on a video for AVExportSession
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let preferredTransform = originalVideoTrack.preferredTransform | |
let finalTransform: CGAffineTransform | |
// These if statements were added to handle time lapse videos which use abcd for transforms | |
// and not tx, ty | |
if preferredTransform.a == -1 && preferredTransform.d == -1 { | |
transform = transform.scaledBy(x: -1, y: -1) | |
finalTransform = transform.translatedBy(x: -outputVideoSize.width, y: -outputVideoSize.height) | |
} else if preferredTransform.b == 1 && preferredTransform.c == -1 { | |
transform = transform.rotated(by: CGFloat.pi/2) | |
finalTransform = transform.translatedBy(x: 0, y: -outputVideoSize.width) | |
} else if preferredTransform.b == -1 && preferredTransform.c == 1 { | |
transform = transform.rotated(by: -CGFloat.pi/2) | |
finalTransform = transform.translatedBy(x: -outputVideoSize.height, y: 0) | |
} else { | |
finalTransform = preferredTransform.concatenating(transform) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment