在之前的小视频录制文章中,我们使用 AVAssetExportSession 将合并后的视频压缩输出成一个最终的视频文件。当时使用的是高品质的压缩(AVAssetExportPresetHighestQuality)。
let exporter = AVAssetExportSession(asset: composition,
presetName:AVAssetExportPresetHighestQuality)!
当然除了AVAssetExportPresetHighestQuality,还有许多其它的设置视频分辨率(Export preset)供我们选择使用。比如为了方便传输,节约带宽,可以将视频转成低分辨率。
1,固定分辨率预设属性
(1)AVAssetExportPreset640x480:设置视频分辨率640x480
(2)AVAssetExportPreset960x540:设置视频分辨率960x540
(3)AVAssetExportPreset1280x720:设置视频分辨率1280x720
(4)AVAssetExportPreset1920x1080:设置视频分辨率1920x1080
(5)AVAssetExportPreset3840x2160:设置视频分辨率3840x2160
2,相对质量预设属性
(1)AVAssetExportPresetLowQuality:低质量
(2)AVAssetExportPresetMediumQuality:中等质量
(3)AVAssetExportPresetHighestQuality:高质量
这种设置方式,最终生成的视频分辨率与具体的拍摄设备有关。比如 iPhone6 拍摄的视频:
使用AVAssetExportPresetHighestQuality则视频分辨率是1920x1080(不压缩)。
AVAssetExportPresetMediumQuality视频分辨率是568x320
AVAssetExportPresetLowQuality视频分辨率是224x128