短视频上传是指将文件从客户端上传至点播存储。通过短视频上传完成的视频,上传SDK会返回videoId
。在集成阿里云播放器的情况下,此ID可用作vid+playauth播放方式的参数设置,不用再单独获取播放地址和凭证。本文介绍如何使用Android端上传SDK完成短视频上传。
背景信息
在Android端上,短视频上传通过上传实例(VODSVideoUploadClient
)完成,支持同时上传视频和封面图片。短视频上传只支持STS方式上传。要想通过上传地址和凭证方式进行视频文件上传请使用Android SDK上传文件(上传实例VODUploadClient
)分别上传封面图片和视频。
上传流程
STS方式上传流程详解
如需使用STS临时授权方式(阿里云Security Token Service)访问点播服务,请为RAM用户创建角色并授予角色VOD相关权限。操作指引请参见使用STS临时授权方案上传视频。
使用STS方式上传的完整的流程如下图所示:
用户在上传应用服务器上部署授权服务(如集成阿里云STS SDK)用于获取STS临时Token。
客户端向上传应用服务器发起请求获取STS临时Token。
上传应用服务器向阿里云STS服务发起请求获取STS临时Token。
阿里云STS服务返回上传地址和凭证。
上传应用服务器向客户端下发STS临时Token。
客户端使用STS临时Token初始化上传实例。
客户端构造请求发起上传请求。
OSS服务返回上传结果。
上传结果也可以通过提前配置回调接收上传相关事件来监听。
上传文件
获取STS临时Token。操作指引请参见获取STS临时Token。
声明
VODSVideoUploadClient
属性,不能是局部变量。//初始化短视频上传对象 VODSVideoUploadClient vodsVideoUploadClient = new VODSVideoUploadClientImpl(this.getApplicationContext()); vodsVideoUploadClient.init();
构建上传参数。
开始上传并设置回调。
启动上传前需要实现
VODSVideoUploadCallback
回调。
上传控制
上传实例(VODSVideoUploadClient
)支持的上传控制如下:
暂停上传。
//需要保证跟resume成对出现 vodsVideoUploadClient.pause();
恢复上传。
//需要保证跟pause成对出现 vodsVideoUploadClient.resume();
取消上传。
//取消上传之后,上传流程结束,不能再调用resume恢复 vodsVideoUploadClient.cancel();
回调处理
上传进度
每上传一个分片,会触发
onUploadProgress
回调,回调参数包括已上传文件大小uploadedSize
和总文件大小totalSize
。上传成功
上传成功时,会触发
onUploadSucceed
回调。回调包含上传结果的videoId
和imageUrl
属性。上传失败
上传失败时,会触发
onUploadFailed
回调。在该回调方法中,可以通过code
和message
查看具体原因,并在页面上提示。更多错误码信息,请参见错误码表和OSS错误码。凭证过期处理
STS过期,会触发
onSTSTokenExpired
回调。在该回调方法中,可以向AppServer重新请求新的STS凭证,并调用以下方法继续上传。refreshSTSToken(accessKeyId,accessKeySecret,securityToken,expriedTime);
超时处理
上传超时,会触发
uploadRetry
回调并自动重试。在该回调方法中,可以在页面上给予提示或者调用cancel
方法停止上传。此外,可以设置maxRetryCount
属性,指定最大重试次数。超时重试可以继续上传时,会触发uploadRetryResume
回调并恢复上传。
- 本页导读 (1)
- 背景信息
- 上传流程
- STS方式上传流程详解
- 上传文件
- 上传控制
- 回调处理