我正在尝试使用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>选项AVAssetExportPresetPassthrough进程没有延迟,但不压缩
我的问题是
我可以通过某种不需要长时间处理的方法来压缩视频吗?