我目前正在以下方式导出视频:
一个15秒的视频消耗约20MB的数据。与Snapchat的2MB视频相比,这个数字似乎完全不可接受。
我已经降低了导出和捕获会话的质量(1280x720)。
该视频是使用自定义相机拍摄的。未使用UIImagePickerController。
AVAssetExportSession使用默认设置。
有没有办法减小我的视频尺寸呢? 非常感谢!
编辑1: 我尝试使用了这个库:https://cocoapods.org/pods/NextLevelSessionExporter 不幸的是,这会导致大小问题并移除我的音频:
let exporter = AVAssetExportSession.init(asset: mixComposition, presetName: AVAssetExportPreset1280x720)
exporter?.outputURL = outputPath
exporter?.outputFileType = AVFileType.mp4
exporter?.shouldOptimizeForNetworkUse = true
exporter?.videoComposition = mainCompositionInst
一个15秒的视频消耗约20MB的数据。与Snapchat的2MB视频相比,这个数字似乎完全不可接受。
我已经降低了导出和捕获会话的质量(1280x720)。
该视频是使用自定义相机拍摄的。未使用UIImagePickerController。
AVAssetExportSession使用默认设置。
有没有办法减小我的视频尺寸呢? 非常感谢!
编辑1: 我尝试使用了这个库:https://cocoapods.org/pods/NextLevelSessionExporter 不幸的是,这会导致大小问题并移除我的音频:
// Creating exporter
let exporter = NextLevelSessionExporter(withAsset: mixComposition)
exporter.outputURL = outputPath
exporter.outputFileType = AVFileType.mp4
exporter.videoComposition = mainCompositionInst
let compressionDict: [String: Any] = [
AVVideoAverageBitRateKey: NSNumber(integerLiteral: 2500000),
AVVideoProfileLevelKey: AVVideoProfileLevelH264BaselineAutoLevel as String,
]
exporter.videoOutputConfiguration = [
AVVideoCodecKey: AVVideoCodecType.h264,
AVVideoWidthKey: NSNumber(integerLiteral: 1280),
AVVideoHeightKey: NSNumber(integerLiteral: 720),
AVVideoScalingModeKey: AVVideoScalingModeResizeAspectFill,
AVVideoCompressionPropertiesKey: compressionDict
]
exporter.audioOutputConfiguration = [
AVFormatIDKey: kAudioFormatMPEG4AAC,
AVEncoderBitRateKey: NSNumber(integerLiteral: 128000),
AVNumberOfChannelsKey: NSNumber(integerLiteral: 2),
AVSampleRateKey: NSNumber(value: Float(44100))
]