如何在Swift iOS中将视频分辨率转换为1280 x 720

时间:2019-01-02 12:16:22

标签: ios swift video avasset avassetexportsession

我正在开发视频应用程序,用户可以在设备的图库中选择任何视频,然后将所选视频的分辨率转换为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)
            })
        }
    }

请告知。

0 个答案:

没有答案