简介
Android 短视频SDK 是阿里云开源的一款播放器组件,拥有视频强大的播放功能,支持视频录制、视频合拍、视频拼接等能力。
版本信息
public class Version {
public static final String VERSION = "";
public static final String BUILD_ID = "";
public static final String SRC_COMMIT_ID = "";
public static final String ALIVC_COMMIT_ID = "";
public static final String ANDROID_COMMIT_ID = "";
}
License
视频分辨率
清晰度 | 1:1 | 3:4 | 9:16 |
---|---|---|---|
480p | 480*480 | 480*640 | 480*848 |
540p | 540*540 | 540*720 | 540*960 |
720p | 720*720 | 720*960 | 720*1280 |
1080p | 1080*1080 | 1080*1440 | 1080*1920 |
- 录制模块
可以通过AliyunIRecorder的void setMediaInfo(MediaInfo mediaInfo)方法,创建MediaInfo并设置其videoWidth和videoHeight属性作为录制视频分辨率。
- 裁剪模块
可以通过AliyunICrop的int setCropParam(CropParam param)方法,创建CropParam并设置其outputWidth和outputHeight属性作为输出视频分辨率。
- 编辑模块
可以通过AliyunIImport的setVideoParam(AliyunVideoParam param)方法,创建AliyunVideoParam并设置其mOutputWidth和mOutputHeight属性作为输出视频分辨率。
视频旋转角度
视频文件可以带有旋转角度信息,SDK也支持为录制的视频设置旋转角度。横屏录制的场景下可以通过AliyunIRecorder的void setRotation(int rotation)方法设置摄像头,录制后的视频会相应带有旋转角度。
码率
清晰度 | 建议码率 |
---|---|
480P | 1000000-2000000 |
540P | 2000000-3000000 |
720P | 2000000-4000000 |
1080 | 2000000-6000000 |
- 录制模块
可以通过AliyunIRecorder的int setVideoBitrate(int bitrate)方法作为录制视频码率。
- 裁剪模块
可以通过AliyunICrop的int setCropParam(CropParam param)方法,创建CropParam并设置其mVideoBitrate属性作为输出视频码率。
- 编辑模块
可以通过AliyunIImport的setVideoParam(AliyunVideoParam param)方法,创建AliyunVideoParam并设置其mBitrate属性作为输出视频码率。
帧率
- 录制模块
可以通过AliyunIRecorder的void setMediaInfo(MediaInfo mediaInfo)方法,创建MediaInfo并设置其mEncoderFps属性作为录制视频帧率。
- 裁剪模块
可以通过AliyunICrop的int setCropParam(CropParam param)方法,创建CropParam并设置其frameRate属性作为输出视频帧率。
- 编辑模块
可以通过AliyunIImport的setVideoParam(AliyunVideoParam param)方法,创建AliyunVideoParam并设置其mFrameRate属性作为输出视频帧率。
关键帧
帧是组成视频图像的基本单位,视频文件是由多个连续的帧组成。关键帧也叫I帧,它是帧间压缩编码里的重要帧,解码时仅用I帧的数据就可重构完整图像,I帧不需要参考其他画面而生成。关键帧可以做为随机访问(seek)的参考点,可以当成图像。
GOP
- 录制模块
可以通过AliyunIRecorder的void setGop(int gop)方法设置录制视频GOP。
- 裁剪模块
可以通过AliyunICrop的int setCropParam(CropParam param)方法,创建CropParam并设置其gop属性作为输出视频GOP。
- 编辑模块
可以通过AliyunIImport的setVideoParam(AliyunVideoParam param)方法,创建AliyunVideoParam并设置其mGop属性作为输出视频GOP。
填充模式
当素材图片或视频的分辨率长宽比与导出视频分辨率长宽比不一致时,会涉及填充模式的选择。
填充模式 | 处理方法 |
---|---|
裁剪模式 | 保持长宽比,裁剪图片,只显示中间区域。 |
缩放模式 | 保持长宽比,使图片能完整显示,上下或左右填充颜色。 |
- 裁剪模块
AliyunICrop的int setCropParam(CropParam param)方法,创建CropParam并设置其mScaleMode属性设置填充模式。
- 编辑模块
可以通过AliyunIImport的setVideoParam(AliyunVideoParam param)方法,创建AliyunVideoParam并设置其mScaleMode属性设置填充模式。
编码方式
编码方式 | 编码详情 |
---|---|
软编 | 使用CPU进行编码。软编可以配置的参数更丰富,同等码率下生成的视频更清晰;但是编码速度比较慢,CPU负载高,手机更容易发热。 |
硬编 | 使用非CPU硬件进行编码。硬编编码速度更快,CPU负载低;但清晰度比软编略差,部分安卓设备上可能存在适配性问题。 |
资源说明
支持格式
类型 | 格式 |
---|---|
视频 | MP4、MOV、FLV |
音频 | MP3、AAC、PCM |
图片 | JPG、PNG、GIF |
在文档使用中是否遇到以下问题
更多建议
匿名提交