我正在使用UIImagePickerController来允许我的用户从资产库中选择一个视频。
当用户选择第二个屏幕上的“选择”按钮时,视图会显示进度条和“压缩视频...”消息。
为什么会这样?
有什么办法可以避免这种压缩操作吗?
答案 0 :(得分:16)
答:目前无法控制UIImagePickerController如何压缩所选视频。
我刚做了一些快速测试。使用我创建的测试应用,我选择了相同的视频两次 - 一次将videoQuality
属性设置为UIImagePickerControllerQualityTypeHigh
,然后将其设置为UIImagePickerControllerQualityTypeLow
。复制的结果文件大小完全相同,15.1MB,帧大小为360x480。原版为72.5MB,框架尺寸为480x640。显然,此属性不会影响所使用的压缩。
答案 1 :(得分:4)
答案 2 :(得分:0)
对于那些提供使用videoQuality属性的建议的人,文档清楚地说明它是一个视频捕获选项,而不是选择器选项。
正如杰克在下面提到的那样,它也适用于转码。看起来我读得太快了,因为我没有注意到转码提及。
答案 3 :(得分:0)
从iOS 11开始,您可以指定videoExportPreset
并将其设置为AVAssetExportPresetPassthrough
:
picker.videoExportPreset = AVAssetExportPresetPassthrough
尽管它仍将显示“压缩”进度条,但速度会更快,尤其是对于较小的视频。