Я работаю над добавлением видеозаписи в приложение, используя AVFoundation.Мне удалось записать видео и затем отобразить его, но потом я понял, что (в отличие от предварительного просмотра) видео с фронтальной камеры не отражаются вдоль вертикальной оси.Кажется, что это стандартное поведение, но я бы хотел, чтобы видео выглядело как превью.Я верю, что CGAffineTransform
может сделать это, но я не уверен, как применить это к видео.
Это то, что у меня было до сих пор:
extension CameraViewController: AVCaptureFileOutputRecordingDelegate {
func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
guard error != nil else {
print("Error recording movie: \(error!.localizedDescription)")
return
}
if self.currentCameraPosition == .front {
mirrorVideo(outputFileURL)
}
performSegue(withIdentifier: "ShowVideo", sender: outputFileURL)
}
func mirrorVideo(_ outputFileURL: URL){
var transform: CGAffineTransform = CGAffineTransform(scaleX: -1.0, y: 1.0)
transform = transform.rotated(by: CGFloat(Double.pi/2))
// Apply transform
}
}