导出视频包含视频配置导出、视频合成及上传。本文为您介绍导出视频的流程以及方法。
版本支持
版本 | 是否支持 |
专业版 | 支持 |
标准版 | 支持 |
基础版 | 支持 |
相关类功能
类名 | 功能 |
视频输出参数,设置合成导出视频的参数。 | |
视频合成上传类,包括初始化、合成视频、上传视频、更新上传凭证等视频合成及上传相关功能。 | |
工厂类,创建合成实例。 |
导出视频流程
流程 | 说明 | 示例代码 |
1 | 导出当前编辑视频的配置。 | |
2 | 合成视频,支持暂停、恢复及取消合成。 | |
3 | 上传视频,支持暂停、继续及取消上传。 | |
4 | 释放资源。 |
视频合成接口和上传接口的调用有顺序要求,合成接口调用完成后可以调用上传接口。
合成接口可多次调用,而上传接口只上传最后一次合成生成的视频文件。
如果编辑的对象是视频,在创建AliyunIVodCompose实例前,需要先将该视频的特效持久化到本地配置文件中,否则合成的视频无此特效。持久化编辑特效接口如下:
AliyunIEditor.saveEffectToLocal();
视频配置导出
导出当前编辑视频的配置,此时并不会合成输出最终的视频文件。
接口参数请参考AliyunVideoParam。
//视频配置导出,最终输出outputPath的配置文件
AliyunIEditor.compose(AliyunVideoParam param, String outputPath, AliyunIComposeCallBack callback);
//取消视频配置导出
AliyunIEditor.cancelCompose();
视频合成
阿里云短视频SDK提供的一套单独进行合成上传的功能接口,用来实现将编辑完的视频在另一界面合成上传,核心类AliyunIVodCompose封装了视频合成与上传功能,方便客户端更好地合成与上传视频。合成接口可多次调用。
接口参数请参考AliyunIVodCompose及AliyunComposeFactory。
初始化合成上传实例
//创建
AliyunComposeFactory.createAliyunVodCompose();
//初始化
AliyunIVodCompose.init(Context context);
合成
AliyunIVodCompose.compose(String config, String output, AliyunIComposeCallBack callback);
合成控制(按需使用)
//暂停合成
AliyunIVodCompose.pauseCompose();
//恢复合成
AliyunIVodCompose.resumeCompose();
//取消合成
AliyunIVodCompose.cancelCompose();
视频上传
视频合成完成后调用上传接口上传视频,上传接口只上传最后一次合成生成的视频文件。
接口参数请参考AliyunIVodCompose及AliyunComposeFactory。
上传
获取上传地址及上传凭证。
AliyunIVodCompose是通过上传地址和上传凭证上传,在上传之前,需要获取上传地址及上传凭证,详细操作请参见获取音视频上传地址和凭证。
上传视频文件到OSS Bucket中。
/** * 上传视频到阿里云视频点播服务。 * @param options 视频上传选项,包含以下属性: * videoPath - 本地的视频文件路径。 * uploadAddress - 阿里云提供的视频上传地址。 * uploadAuth - 阿里云提供的上传凭证。 * aliyunVodUploadCallBack - 上传过程的回调接口。 */ AliyunIVodCompose.uploadVideoWithVod(VideoUploadOptions options);
刷新视频上传凭证。
考虑到上传凭证带有时效性,所以上传后,需要在过期回调onUploadTokenExpired方法中重新获取上传凭证上传,并通过AliyunIVodCompose.refreshWithUploadAuth(String uploadAuth);进行刷新,更多信息,请参见刷新视频上传凭证。
上传控制(按需使用)
//暂停上传
AliyunIVodCompose.pauseUpload();
//继续上传
AliyunIVodCompose.resumeUpload();
//取消上传
AliyunIVodCompose.cancelUpload();
释放资源
上传完成后,销毁接口,释放资源。
AliyunIVodCompose.release();