导出视频包含视频配置导出、视频合成及上传。本文为您介绍导出视频的流程以及方法。

版本支持

版本 是否支持
专业版 支持
标准版 支持
基础版 支持

相关类功能

类名 功能
AliyunVideoParam 视频输出参数,设置合成导出视频的参数。
AliyunIVodCompose 视频合成上传类,包括初始化、合成视频、上传视频、更新上传凭证等视频合成及上传相关功能。
AliyunComposeFactory 工厂类,创建合成实例。

导出视频流程

流程 说明 示例代码
1 导出当前编辑视频的配置。 视频配置导出
2 合成视频,支持暂停、恢复及取消合成。 视频合成
3 上传视频,支持暂停、继续及取消上传。 视频上传
4 释放资源。 释放资源
说明
  • 视频合成接口和上传接口的调用有顺序要求,合成接口调用完成后可以调用上传接口。
  • 合成接口可多次调用,而上传接口只上传最后一次合成生成的视频文件。
  • 如果编辑的对象是视频,在创建AliyunIVodCompose实例前,需要先将该视频的特效持久化到本地配置文件中,否则合成的视频无此特效。持久化编辑特效接口如下:
    AliyunIEditor.saveEffectToLocal();

视频配置导出

导出当前编辑视频的配置,此时并不会合成输出最终的视频文件。

接口参数请参考AliyunVideoParam

//视频配置导出,最终输出outputPath的配置文件
AliyunIEditor.compose(AliyunVideoParam param, String outputPath, AliyunIComposeCallBack callback);

//取消视频配置导出
AliyunIEditor.cancelCompose();

视频合成

阿里云短视频SDK提供的一套单独进行合成上传的功能接口,用来实现将编辑完的视频在另一界面合成上传,核心类AliyunIVodCompose封装了视频合成与上传功能,方便客户端更好地合成与上传视频。合成接口可多次调用。

接口参数请参考AliyunIVodComposeAliyunComposeFactory

初始化合成上传实例
//创建
AliyunComposeFactory.createAliyunVodCompose();

//初始化
AliyunIVodCompose.init(Context context);
合成
AliyunIVodCompose.compose(String config, String output, AliyunIComposeCallBack callback);
合成控制(按需使用)
//暂停合成
AliyunIVodCompose.pauseCompose();
//恢复合成
AliyunIVodCompose.resumeCompose();
//取消合成
AliyunIVodCompose.cancelCompose();

视频上传

视频合成完成后调用上传接口上传视频,上传接口只上传最后一次合成生成的视频文件。

接口参数请参考AliyunIVodComposeAliyunComposeFactory

上传

  • 获取上传地址及上传凭证。

    AliyunIVodCompose是通过上传地址和上传凭证上传,在上传之前,需要获取上传地址及上传凭证,详细操作请参见获取视频上传地址和凭证

  • 上传视频文件到OSS Bucket中。
    //通过上传地址和上传凭证上传视频
    //videoPath:视频文件地址
    //uploadAddress:上传地址
    //uploadAuth:上传凭证
    //aliyunVodUploadCallBack:上传的回调
    //上传视频
    AliyunIVodCompose.uploadVideoWithVod(String videoPath, String uploadAddress, String uploadAuth, AliyunIVodUploadCallBack aliyunVodUploadCallBack);
  • 刷新视频上传凭证。

    考虑到上传凭证带有时效性,所以上传后,需要在过期回调onUploadTokenExpired方法中重新获取上传凭证上传,并通过AliyunIVodCompose.refreshWithUploadAuth(String uploadAuth);进行刷新,更多信息,请参见刷新视频上传凭证

上传控制(按需使用)
//暂停上传
AliyunIVodCompose.pauseUpload();
//继续上传
AliyunIVodCompose.resumeUpload();
//取消上传
AliyunIVodCompose.cancelUpload();

释放资源

上传完成后,销毁接口,释放资源。
AliyunIVodCompose.release();