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

编程入门 行业动态 更新时间:2024-10-25 10:21:51

iOS<a href=https://www.elefans.com/category/jswz/34/1771437.html style=视频录制、压缩导出、取帧"/>

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

首发博客:标哥的技术博客

关注公众号:iOS开发技术分享

概述

花了点时间研究了一下常用的视频获取、录制、压缩并导出、保存到相册、取帧图功能,分享给大家了!相信阅读完本篇文章,会对你有很大的帮助的!

记得关注微博、公众号哦,请到文章末尾跳转!

本篇文章研究几下以个功能:

  • 视频录制
  • 从相册选择视频
  • 保存视频到相册
  • 获取视频帧图
  • 压缩并导出视频
  • 解决iOS8上录视频引起的偏移bug

需要真机测试,才能录制视频!

效果图

视频录制

首先,我们弹出系统的视频录制界面,也就是UIImagePickerController控制器来实现,但是我们需要验证用户授权,只有有录制视频的权限,才能继续往下。

我们还需要判断UIImagePickerControllerSourceTypeCamera是否支持,比如模拟器就不支持,当然真机是否有不支持的并不知道,不过更安全的写法是要这么写的。视频录制可以设置录制的视频的质量,也就是分辨率的高低,通过videoQuality属性来设置。我们还可以设置录制视频的最大时长,通过videoMaximumDuration属性设置,比如这里设置为5分钟。

// 7.0
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus == AVAuthorizationStatusRestricted|| authStatus == AVAuthorizationStatusDenied) {NSLog(@"摄像头已被禁用,您可在设置应用程序中进行开启");return;
}if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {UIImagePickerController *picker = [[UIImagePickerController alloc] init];picker.delegate = self;picker.allowsEditing = YES;picker.sourceType = UIImagePickerControllerSourceTypeCamera;picker.videoQuality = UIImagePickerControllerQualityType640x480; //录像质量picker.videoMaximumDuration = 5 * 60.0f; // 限制视频录制最多不超过5分钟picker.mediaTypes = @[(NSString *)kUTTypeMovie];[self presentViewController:picker animated:YES completion:NULL];self.shouldAsync = YES;
} else {NSLog(@"手机不支持摄像");
}

然后实现代理,就可以拿到录制的视频了。

从相册选择视频

从相册选择视频与弹出录制视频的代码差不多,只是sourceType不一样而已。我们一样要求先判断权限,用户是否授权,若不允许,就没有办法了。

指定sourceType为UIImagePickerControllerSourceTypeSavedPhotosAlbum就是获取保存到相册中的media。我们还要指定mediaTypes,只需要设置为kUTTypeMovie就可以了。

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if</

更多推荐

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

本文发布于:2024-02-11 11:01:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1680638.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:视频   iOS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!