在之前的小視頻錄制文章中,我們使用 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