iOS视频录制、压缩导出、取帧

 时间:2026-02-15 06:13:34

1、

我们需要使用UIImagePickerController来弹出视频的录制界面,首先需要申请用户授权录制视频的权限,然后判断设备是否支持。

我们可以设置录制时长videoMaximumDuration,也可设置视频的分辨率videoQuality。

iOS视频录制、压缩导出、取帧

2、从相册选择视频,需要申请用户授权。要将视频保存到相册,可指定类型为UIImagePickerControllerSourceTypeSavedPhotosAlbum,将媒体类型指定为kUTTypeMovie

iOS视频录制、压缩导出、取帧

3、iOS写入相册操作,可通过ALAssetsLibrary类来实现,它提供了写入相册的API,可异步写入,在完成写入后再回到主线程更新UI:

iOS视频录制、压缩导出、取帧

4、同步获取中间帧,需要指定时间节点,也就是取哪个时间点的图片:

iOS视频录制、压缩导出、取帧

5、对于异步取帧图,可传多个时间节点参数,计算出实际的取帧时间并返回对应的图片。

是否取到图片,通过判断AVAssetImageGeneratorSucceeded是否成功:

iOS视频录制、压缩导出、取帧

6、之所以需要压缩视频,是因为移动设备的内存有限,而通常一个视频比较大,占用的内存比较多,导致app闪退。

因此,我们需要对所录制的视频进行压缩,使它占用较小的内存。

iOS视频录制、压缩导出、取帧

iOS视频录制、压缩导出、取帧

7、在iOS8上出现在录制视频页面再回到原来的界面,原来的界面整个视图都会向下移动,下面是其中的一种解决方案:

iOS视频录制、压缩导出、取帧

  • 利用MeGUI转换mkv格式为mp4
  • 如何体现软件测试的价值?
  • 墙体彩绘好处有哪些?
  • PR如何设置暂停分辨率
  • pr cc怎么前进一帧?
  • 热门搜索
    专业用英语怎么说 怎么学习好 优酷弹幕怎么没了 鼻子上长脓包型痘痘怎么办 吉林建筑大学怎么样 ps怎么添加图层蒙版 王鸥刘恺威是怎么回事 生日快乐英文怎么说 脸上长痘痘怎么治疗 蜂蜜面膜怎么做