功能介绍

短视频SDK提供视频后台导出与上传功能。核心类AliyunVodPublishManager。想要更灵活的控制导出和上传,可以通过AliyunEdit和VODUpload点播上传库配合使用。

版本差异

版本 功能描述
专业版 支持所有功能。
标准版 支持所有功能。
基础版 不支持导出上传,支持通过VODUpload直接将视频或图片上传到点播服务。

相关类功能

名称 功能
AliyunVodPublishManager 导出上传核心类。

初始化

创建AliyunVodPublishManager对象,完成初始化。AliyunVodPublishManager对象需要设置AliyunIExporterCallback和AliyunIVodUploadCallback代理方法,才能实现导出和上传回调。
配置项 配置实例
导出回调
@property (nonatomic, weak) id<AliyunIExporterCallback> exportCallback;
上传回调
@property (nonatomic, weak) id<AliyunIUploadCallback> uploadCallback;

导出回调

AliyunIExporterCallback回调接口如下:
配置项 配置实例
开始导出
 - (void)exporterDidStart;
导出进度
 /**
 @param progress 0-1
 */
 - (void)exportProgress:(float)progress;
导出异常
 /**
 @param errorCode 错误码
 */
 - (void)exportError:(int)errorCode;
取消导出
 - (void)exporterDidCancel;
完成导出
  /**
 @param outputPath 输出文件路径
 */
 - (void)exporterDidEnd:(NSString *)outputPath;

上传回调

AliyunIVodUploadCallback有如下回调接口:
配置项 配置实例
上传成功
- (void)publishManagerUploadSuccess:(AliyunVodPublishManager *)manager;
上传失败
- (void)publishManager:(AliyunVodPublishManager *)manager uploadFailedWithCode:(NSString *)code message:(NSString *)message;
上传进度
- (void)publishManager:(AliyunVodPublishManager *)manager uploadProgressWithUploadedSize:(long long)uploadedSize totalSize:(long long)totalSize;
token过期
- (void)publishManagerUploadTokenExpired:(AliyunVodPublishManager *)manager;
上传超时,开始重试
- (void)publishManagerUploadRetry:(AliyunVodPublishManager *)manager;
重试结束,继续上传
- (void)publishManagerUploadRetryResume:(AliyunVodPublishManager *)manager;

导出控制

配置项 配置实例
导出视频

taskPath参数可以在编辑模块编辑后传入,也可以通过AliyunIImporter直接生成。outputPath表示导出视频路径,如果是多级目录,请确保文件夹已经创建。

/**
 合成导出视频
 @param taskPath taskPath
 @param outputPath 导出视频路径
 @return 返回值
 */
- (int)exportWithTaskPath:(NSString *)taskPath outputPath:(NSString *)outputPath;
取消导出
- (int)cancelExport;

上传控制

配置项 配置实例
上传图片

上传图片接口调用后,AliyunVodPublishManager对象的uploadState属性值为AliyunVodUploadImage。点播上传地址和凭证请参考相关文档

/**
 上传封面
 @param imagePath 封面图片路径
 @param vodUploadAddress 点播上传地址
 @param vodUploadAuth 点播上传凭证
 @return 返回值
 */
- (int)uploadImageWithPath:(NSString *)imagePath
              uploadAddress:(NSString *)vodUploadAddress
                 uploadAuth:(NSString *)vodUploadAuth;
上传视频

上传视频接口调用后,AliyunVodPublishManager对象的uploadState属性值为AliyunVodUploadVideo。点播上传地址和凭证请参考相关文档

- (int)uploadVideoWithPath:(NSString *)videoPath
              uploadAddress:(NSString *)vodUploadAddress
                 uploadAuth:(NSString *)vodUploadAuth;
取消上传
 - (void)cancelUpload;
刷新上传凭证

上传超时的情况下会触发- (void)uploadTokenExpired回调,回调方法中调用刷新上传凭证方法才能继续上传。

- (int)refreshWithUploadAuth:(NSString *)vodUploadAuth;