加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

【融云分析】基于 AVFoundation 框架开发小视频功能的方案解析

发布时间:2020-04-29 11:47:22 所属栏目:业界 来源:站长网
导读:副问题#e# 开拓视频录制成果最简朴的就是行使体系封装的 UIImagePickerController,可是这种方法较量关闭,可自界说对象较量少,以是就必要基于 AVFoundation 框架来开拓视频录制成果。基于 AVFoundation 框架来开拓,则必要本技艺动配置装备音频,视频输入
副问题[/!--empirenews.page--]

开拓视频录制成果最简朴的就是行使体系封装的 UIImagePickerController,可是这种方法较量关闭,可自界说对象较量少,以是就必要基于 AVFoundation 框架来开拓视频录制成果。基于 AVFoundation 框架来开拓,则必要本技艺动配置装备音频,视频输入、输出。

AVCaptureSession 是 AVFoundation 的焦点类,用于打点捕捉工具 AVCaptureInput 的视频和音频的输入,和谐捕捉的输出 AVCaptureOutput。AVCaptureOutput 的输出有两种要领:一种是直接以 movieFileUrl 方法输出;一种是以原始数据流 data 的方法输出,流程比拟图如下:

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

下面具体讲授两种录制视频的方案:

(1)AVCaptureSession + AVCaptureMovieFileOutput

1. 建设 AVCaptureSession

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

留意:AVCaptureSession 的挪用是会阻塞线程的,提议单独开发子线程处理赏罚。

2. 配置音频、视频输入

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

3. 配置文件输出源

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

4.添加视频预览层

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

5.开始收罗

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

6.开始录制

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

当现实的录制开始或遏制时,体系会有署理回调。当开始录制之后,这时也许还没有真正写入,真正开始写入会回调下面署理,遏制录制也是云云,以是假如你必要对录制视频起始点操纵,提议通过体系的回调署理:

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

7.遏制录制

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

8.遏制收罗

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

(2)AVCaptureSession + AVAssetWriter

1.建设 AVCaptureSession

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

2.配置音频、视频输入

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

3.配置音频 Data、视频 Data 输出

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

4.添加视频预览层

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

5.开始收罗

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

和第一种方法差异,第一种方法是开始录制之后,movieFileOutput 的回调才会触发,遏制录制回调触发之后也就完成了。AVCaptureSession + AVAssetWriter 方法由于在配置输出源的时辰,把输出署理 (setSampleBufferDelegate)已经配置好了,以是一旦开始收罗(startRunning),数据流回调也就触发了。

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

6.开始录制

这里必要建设AVAssetWriter,设置音频、视频录制参数,录制写入进程要单独开发线程处理赏罚,停止阻塞线程,可以和 AVCaptureSession 放在统一线程处理赏罚。

【融云说明】基于 AVFoundation 框架开拓小视频成果的方案理会

7.处理赏罚数据流

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读