Я работаю над Приложением Видео, где пользователь может выбрать любое Видео из галереи своего устройства, а затем мне нужно преобразовать разрешение выбранного Видео в разрешение 1280 X 720
.
Я пытался преобразовать разрешение видео, используя AVAssetExportSession
AVAssetExportPreset1280x720
, но проблема в том, что после изменения разрешения видеокадры не корректны.
Пожалуйста, смотрите код ниже:
func updateVideoResolution(videos: VideoModel, inputURL: URL, outputURL: URL, handler:@escaping (_ exportSession: AVAssetExportSession?)-> Void) {
let urlAsset = AVURLAsset(url: inputURL, options: nil)
guard let exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPreset1280x720) else {
handler(nil)
return
}
exportSession.outputURL = outputURL
exportSession.outputFileType = AVFileTypeQuickTimeMovie
exportSession.shouldOptimizeForNetworkUse = true
exportSession.exportAsynchronously { () -> Void in
DispatchQueue.main.async(execute: {
handler(exportSession)
})
}
}
Пожалуйста, сообщите.