Android 短视频 SDK
https://developer.qiniu.com/pili/3734/android-short-video-sdk
1. 概述
PLDroidShortVideo 是七牛推出的一款适用于 Android 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、本地/云端存储在内的多种功能,支持高度定制以及二次开发。
1.1 下载地址
2. 功能列表
短视频 SDK 主要区分精简版、基础版、进阶版、专业版 4 个版本,不同版本的功能请参考
3. 阅读对象
本文档为技术文档,需要阅读者:
- 具有基本的 Android 开发能力
- 准备接入七牛云短视频
4. 总体设计
4.1 基本规则
为了方便理解和使用,对于 SDK 的接口设计,我们遵循了如下的原则:
- 每一个接口类,均以
PL
开头 - 所有的参数配置类,均以
PLXXXSetting
命名 - 所有的回调接口类,均以
PLXXXListener
命名
4.2 核心接口
核心的接口类说明如下:
接口类名 | 功能 | 备注 |
---|---|---|
PLShortVideoRecorder | 负责视频的拍摄 | 音视频采集、美颜、编码、封包等 |
PLScreenRecorder | 负责屏幕的录制 | 屏幕视频的采集、音频采集/导入 |
PLShortVideoEditor | 负责视频内容的编辑 | 添加滤镜、水印、文字特效等 |
PLShortVideoTrimmer | 负责视频的剪辑 | 关键帧获取、视频剪辑等 |
PLShortVideoTranscoder | 负责视频的转码 | 视频转码,获取视频信息等 |
PLShortVideoUploader | 负责视频的上传 | 视频文件的上传 |
PLShortVideoComposer | 负责图像/视频的合成 | 生成 GIF,视频拼接等 |
PLShortAudioRecorder | 负责纯音频的拍摄 | 纯音频采集、编码、封包等 |
PLTransitionMaker | 负责过场字幕的制作 | 文字动画、图片动画生成 mp4 |
PLShortVideoMixer | 负责双视频拼图的制作 | 两个视频按照设定的样式合成一个视频 |
PLShortVideoEnv | 负责日志等级配置以及包名鉴权信息的查询等 | 配置日志打印等级以及查询包名鉴权信息 |
4.3 视频拍摄接口类
拍摄功能相关的类说明如下:
接口名 | 功能 | 备注 |
---|---|---|
PLShortVideoRecorder | 视频拍摄的核心接口 | 核心接口 |
PLCameraSetting | 配置摄像头参数 | 预览分辨率,前后摄像头等 |
PLMicrophoneSetting | 配置麦克风参数 | 通道,采样率等 |
PLVideoEncodeSetting | 配置视频编码参数 | 编码尺寸,码率,帧率等 |
PLAudioEncodeSetting | 配置音频编码参数 | 码率,通道,采样率等 |
PLFaceBeautySetting | 配置美颜参数 | 美白度,磨皮度,红润度等 |
PLRecordSetting | 配置拍摄参数 | 缓存目录,拍摄时长等 |
PLWatermarkSetting | 配置水印参数 | 水印的位置、透明度等 |
PLBuiltinFilter | 内置滤镜对象 | 滤镜名称,缩略图等 |
PLCameraPreviewListener | 摄像头预览数据回调 | 回调摄像头预览的数据 |
PLCameraParamSelectListener | 摄像头参数选择回调 | 选择摄像头的参数 |
PLVideoFilterListener | 外部滤镜接口 | 提供外部对视频数据做滤镜 |
PLAudioFrameListener | 麦克风数据回调 | 回调麦克风采集的数据 |
PLRecordStateListener | 拍摄状态回调 | 回调拍摄状态 |
PLFocusListener | 摄像头对焦状态回调 | 回调手动/自动对焦事件 |
PLCaptureFrameListener | 截帧回调 | 回调预览当前一帧 |
PLVideoSaveListener | 分段合成回调 | 回调分段合成的状态 |
PLViewRecorder | 针对一个 View 录制 | FPS 依赖于屏幕刷新率 |
PLExternalMediaRecorder | 外部音视频数据导入 | 1.15.0版本采用软编码 |
PLShortVideoMixRecorder | 视频合拍的核心接口 | 与样本视频按照设定的样式进行合拍 |
4.4 屏幕录制接口类
屏幕录制功能相关的类说明如下:
接口名 | 功能 | 备注 |
---|---|---|
PLScreenRecorder | 屏幕录制的核心接口 | 核心接口 |
PLScreenRecorderSetting | 配置屏幕录制参数 | 文件名称、位置,屏幕尺寸等 |
PLScreenRecordStateListener | 屏幕录制状态回调 | 回调屏幕录制状态 |
PLMicrophoneSetting | 配置麦克风参数 | 通道,采样率等 |
PLVideoEncodeSetting | 配置视频编码参数 | 编码尺寸,码率,帧率等 |
PLAudioEncodeSetting | 配置音频编码参数 | 码率,通道,采样率等 |
4.5 视频编辑接口类
4.5.1 视频内容编辑接口类
视频编辑功能相关的类说明如下:
接口名 | 功能 | 备注 |
---|---|---|
PLShortVideoEditor | 视频编辑的核心接口 | 核心接口 |
PLVideoEditSetting | 配置视频编辑参数 | 源文件、目标文件地址等 |
PLWatermarkSetting | 配置水印参数 | 水印的位置、透明度等 |
PLDisplayMode | 配置视频的显示模式 | 全屏,适应屏幕等 |
PLVideoFilterListener | 外部滤镜接口 | 提供外部对视频数据做滤镜 |
PLVideoSaveListener | 编辑保存状态回调 | 回调保存编辑的状态 |
PLVideoPlayerListener | 预览视频的播放状态回调 | 是否播放完成等 |
4.5.2 视频文件处理接口类
接口名 | 功能 | 备注 |
---|---|---|
PLShortVideoTrimmer | 视频剪辑的核心接口 | 核心接口 |
PLShortVideoTranscoder | 视频转码的核心接口 | 核心接口 |
PLShortVideoComposer | 视频合成的核心接口 | 核心接口 |
PLVideoSaveListener | 视频保存状态回调 | 回调保存视频的状态 |
PLImageComposer | 图片合成核心接口 | 核心接口 |
4.6 视频上传接口类
视频上传功能相关的类说明如下:
接口名 | 功能 | 备注 |
---|---|---|
PLShortVideoUploader | 视频上传的核心接口 | 核心接口 |
PLUploadSetting | 配置上传参数 | 超时时间,块大小等 |
PLUploadProgressListener | 上传进度回调 | 回调上传进度 |
PLUploadResultListener | 上传结果回调 | 回调上传结果 |