Поворот сохраненного видео перед загрузкой на сервер Swift
У меня есть требование записать видео в формате mp4 и отправить на сервер AWS. Ниже приведен код, используемый для того же.
lazy var frontCameraDevice: AVCaptureDevice? = {
let devices = AVCaptureDevice.DiscoverySession(deviceTypes: [AVCaptureDevice.DeviceType.builtInDuoCamera, AVCaptureDevice.DeviceType.builtInWideAngleCamera, AVCaptureDevice.DeviceType.builtInTelephotoCamera], mediaType: AVMediaTypeVideo, position: AVCaptureDevice.Position.front).devices
return devices?.filter{$0.position == .front}.first
}()
lazy var micDevice: AVCaptureDevice? = {
return AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)
}()
var movieOutput = AVCaptureMovieFileOutput()
func record() {
captureSession.beginConfiguration()
captureSession.sessionPreset = AVCaptureSessionPresetHigh
// add device inputs (front camera and mic)
captureSession.addInput(deviceInputFromDevice(device: frontCameraDevice))
captureSession.addInput(deviceInputFromDevice(device: micDevice))
// add output movieFileOutput
movieOutput.movieFragmentInterval = kCMTimeInvalid
captureSession.addOutput(movieOutput)
// start session
captureSession.commitConfiguration()
recordVideoView.backgroundColor = UIColor.clear
videoPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
videoPreviewLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill
videoPreviewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.landscapeRight
videoPreviewLayer?.frame = view.layer.bounds
cameraView.layer.addSublayer(videoPreviewLayer!)
captureSession.startRunning()
}
func capture(_ output: AVCaptureFileOutput!, didFinishRecordingToOutputFileAt outputFileURL: URL!, fromConnections connections: [Any]!, error: Error!) {
if (error == nil)
{
transferDetail.videoUrl = outputFileURL
transferDetail.videoTiming = NSNumber(integerLiteral: (15 - countdownValue == 0) ? 1 : 15 - countdownValue)
}
}
Видео записывается в ландшафтном режиме и сохраняется во временную папку. Видео сохраняется в ландшафтном режиме и воспроизводится в портретном режиме. Я хочу повернуть видео на 90 градусов перед отправкой на сервер. Пожалуйста, предоставьте быстрый код для поворота видео.
Я нашел аналогичный пост с кодом Objective C. Любой быстрый код очень заметен.