iOS 录制和编辑 SDK 开发指南

1 阅读对象

本文档为技术文档,需要阅读者:

具有基本的iOS开发能力,准备接入网易视频云或正在接入网易视频云。

2 标识管理

产品发布前,需要在网易云控制台填写应用的标识信息,以确保短视频SDK不被盗用。

填写方法:

pic

3 文档概述

3.1 录制

针对iOS设备,采集摄像头和麦克风的音视频数据,最终录制为MP4文件,可以进行二次开发。给开发者提供一套编码参数集合,以便灵活调节相应的分辨率和码率。

3.2 编辑

针对用户输入的MP4格式文件,进行诸如:文件拼接、视频分辨率裁剪和缩放、添加水印和动态贴图、混音、音量调节、文件时长裁剪等操作。给开发者提供一套完整灵活的文件编辑参数集合,以便灵活的组合各种编辑参数实现丰富多彩的文件编辑功能。并且提供了对文件在指定时间截图的功能。

4 功能特性

4.1 录制SDK

4.2 编辑SDK

4.3 图片SDK

5 开发准备

5.1 开发环境配置

5.2 设备以及系统

设备要求:iPhone、iPad系列机型,支持的CPU架构:armv7、arm64 系统要求:iOS8.0及以上

5.3 SDK下载

官网(www.netease.im)下载最新的SDK开发包,下载页面如下: pic pic

5.4 SDK资源

├── LSVideoProcessingDemo                     //SDK示范Demo
├── sdkFrames
       ├── LSRecorderAndProcessor.framework   //SDK

6 集成和使用SDK

本部分按照用户直接在自己的项目中集成SDK的方式进行介绍,如果用户参考Demo进行SDK接入,那么可查看xxxxxx来获得更多的实现细节。

6.1 方法1: Cocoapod集成 (推荐)

6.2 方法2: 手动集成

6.3 SDK的使用

导入头文件。头文件存放的位置可以根据开发者的实际情况指定。

```objc
#import <LSRecorderAndProcessor/LSRecorderAndProcessor.h>
```

7 功能使用和API接口介绍

7.1 录制SDK功能使用和API接口介绍

录制类是LSMediaRecording

7.1.1 录制API

7.1.2 录制静态参数

静态参数是指,在初始化传入的参数类。录制参数类是LSMediaRecordingParaCtx, 定义在LSMediaRecordingDefs.h中,包括:

7.1.3 录制动态参数

动态参数是指打开预览之后,开启录制之前可以动态设置的参数。开始录制之后,不允许设置。

7.1.4 录制滤镜动态参数

7.1.5 录制伴音相关

7.1.6 录制通知和回调

7.1.7 日志和其他

7.2 编辑SDK功能使用和API接口介绍

录制类是LSMediaTranscoding

7.2.1 编辑API

7.2.2 文件路径设置

7.2.3 音量和伴音相关

7.2.4 特效

7.2.5 预览

7.2.6 贴图参数设置

7.2.7 截断,裁剪,压缩

7.2.8 滤镜参数设置

7.2.9 第三方前处理接入

7.2.10 日志和其他

7.3 图片SDK功能使用和API接口介绍

图片类是LSMediaPicprocess

7.3.1 编辑API

8 补充知识与建议

8.1 码率、帧率、分辨率、清晰度及流畅度概念

录制过程中,视频码率、帧率和分辨率会影响视频清晰度和流畅度。其中,帧率代表单位时间内视频图像的数量,数量越多,视频越流畅;分辨率代表图像细节显示的程度,相同内容的画面,分辨率越高,显示的图像细节越丰富,清晰度越高;码率代表单位时间内压缩后的视频信息量大小,在相同帧率和分辨率的情况下,码率越高,图像清晰度越高。 综上所述,更高的码率和分辨率会带来更清晰的图像,更高的帧率会带来更流畅的视频。然而,由于网络带宽限制,实际使用中码率往往不可能太高,导致清晰度和帧率存在一个上限。

8.2 视频编辑的相关术语