Экспортный сеанс PHImageManager занимает слишком много времени при экспорте - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь сжать видео с помощью PHImangeManager exportSession.

Вот мой код

let manager = PHImageManager.default()
       let requestOptions = PHVideoRequestOptions()
       requestOptions.deliveryMode = .fastFormat
       requestOptions.version = .current
       requestOptions.isNetworkAccessAllowed = true
       requestOptions.progressHandler = { progress, error, stop, info in
           print(“cacheAsset: \(progress)“)
       }

       manager.requestExportSession(forVideo: asset, options: requestOptions, exportPreset: AVAssetExportPresetPassthrough, resultHandler: { exportSession, info in



           guard let session = exportSession else {
               handler(nil)

               return
           }
           session.outputURL = compressedURL
           session.outputFileType = AVFileType.mp4

           DispatchQueue.global(qos: DispatchQoS.QoSClass.userInteractive).async {
               session.exportAsynchronously(completionHandler: {

Я пробовал много опций в deliveryMode и в предустановленном режиме, вот наблюдение

1> Любая опция, кроме AVAssetExportPresetPassthrough, сжимаетвидео, но занимает слишком много времени для обработки

2> option AVAssetExportPresetPassthrough обрабатывает без задержки, но не сжимает

У меня вопрос *

Могу ли я сжать видео некоторым методом, который делаетне займет много времени, чтобы обработать?

...