在Swift中转换视频文件时如何设置最小输出大小?

问题描述 投票:0回答:1

这是我用来在Swift中压缩视频文件的功能:

private func compressVideo(inputURL: URL, outputURL: URL, handler:@escaping (_ exportSession: AVAssetExportSession?)-> Void) {
    let urlAsset = AVURLAsset(url: inputURL, options: nil)
    guard let exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetLowQuality) else {
        handler(nil)
        return
    }
    exportSession.outputURL = outputURL
    exportSession.outputFileType = AVFileType.mp4
    exportSession.shouldOptimizeForNetworkUse = true
    exportSession.exportAsynchronously { () -> Void in
        handler(exportSession)
    }
}

但是结果不是我期望的;)例如,当我在竞争之前有17MB的大小时,则输出为0.6MB。是否可以在某处设置某种压缩或其他类型的结果以获得更好的质量?当我在输出中获得〜2MB文件大小时,我会感到满意。

ios swift avfoundation
1个回答
0
投票

您可以使用AVAssetExportPresetMediumQuality获得比AVAssetExportPresetLowQuality更好的质量。

© www.soinside.com 2019 - 2024. All rights reserved.