全部产品
云市场

导出上传

更新时间:2019-03-04 15:03:33

功能介绍

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

版本差异

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

相关类功能

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

导出上传

初始化

创建AliyunVodPublishManager对象,完成初始化。AliyunVodPublishManager对象需要设置AliyunIExporterCallbackAliyunIVodUploadCallback代理方法,才能实现导出和上传回调。

  • 导出回调

    1. @property (nonatomic, weak) id<AliyunIExporterCallback> exportCallback;
  • 上传回调

    1. @property (nonatomic, weak) id<AliyunIUploadCallback> uploadCallback;

导出回调

AliyunIExporterCallback回调接口如下:

  • 开始导出
  1. - (void)exporterDidStart;
  • 导出进度
  1. /**
  2. @param progress 0-1
  3. */
  4. - (void)exportProgress:(float)progress;
  • 导出异常
  1. /**
  2. @param errorCode 错误码
  3. */
  4. - (void)exportError:(int)errorCode;
  • 取消导出
  1. - (void)exporterDidCancel;
  • 完成导出
  1. /**
  2. @param outputPath 输出文件路径
  3. */
  4. - (void)exporterDidEnd:(NSString *)outputPath;

上传回调

AliyunIVodUploadCallback有如下回调接口:

  • 上传成功
  1. - (void)publishManagerUploadSuccess:(AliyunVodPublishManager *)manager;
  • 上传失败
  1. - (void)publishManager:(AliyunVodPublishManager *)manager uploadFailedWithCode:(NSString *)code message:(NSString *)message;
  • 上传进度
  1. - (void)publishManager:(AliyunVodPublishManager *)manager uploadProgressWithUploadedSize:(long long)uploadedSize totalSize:(long long)totalSize;
  • token过期
  1. - (void)publishManagerUploadTokenExpired:(AliyunVodPublishManager *)manager;
  • 上传超时,开始重试
  1. - (void)publishManagerUploadRetry:(AliyunVodPublishManager *)manager;
  • 重试结束,继续上传
  1. - (void)publishManagerUploadRetryResume:(AliyunVodPublishManager *)manager;

导出控制

  • 导出视频
  1. /**
  2. 合成导出视频
  3. @param taskPath taskPath
  4. @param outputPath 导出视频路径
  5. @return 返回值
  6. */
  7. - (int)exportWithTaskPath:(NSString *)taskPath outputPath:(NSString *)outputPath;

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

  • 取消导出
  1. - (int)cancelExport;

上传控制

  • 上传图片
  1. /**
  2. 上传封面
  3. @param imagePath 封面图片路径
  4. @param vodUploadAddress 点播上传地址
  5. @param vodUploadAuth 点播上传凭证
  6. @return 返回值
  7. */
  8. - (int)uploadImageWithPath:(NSString *)imagePath
  9. uploadAddress:(NSString *)vodUploadAddress
  10. uploadAuth:(NSString *)vodUploadAuth;

上传图片接口调用后,AliyunVodPublishManager对象的uploadState属性值为AliyunVodUploadImage

点播上传地址和凭证请参考相关文档

  • 上传视频
  1. - (int)uploadVideoWithPath:(NSString *)videoPath
  2. uploadAddress:(NSString *)vodUploadAddress
  3. uploadAuth:(NSString *)vodUploadAuth;

上传视频接口调用后,AliyunVodPublishManager对象的uploadState属性值为AliyunVodUploadVideo

点播上传地址和凭证请参考相关文档

  • 取消上传
  1. - (void)cancelUpload;
  • 刷新上传凭证

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

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