客户端上传SDK概述

客户端上传,是指将移动端媒体文件直接上传到点播存储。相对于服务端代理上传,客户端上传避免了业务服务器中转文件,节省了服务器资源。本文介绍客户端上传SDK的使用场景、上传流程和操作指引。

前提条件

您已准备好用于调用点播服务的账号。为避免阿里云账号AccessKey泄露带来的安全风险,推荐您创建RAM用户并授予其VOD相关权限。然后使用RAM用户的AK对(AccessKey ID和AccessKey Secret)访问点播服务。操作指引请参见创建RAM用户并授权

使用场景

客户端上传SDK适用于UGC(用户生产内容)、PGC(专业生产内容)等场景,支持本地文件上传和网络文件上传。

说明
  • 客户端上传SDK中的Android端上传还支持短视频上传。短视频上传通过上传实例(VODSVideoUploadClient)完成,支持同时上传视频和封面图片。

功能点

说明

备注

支持客户端

目前支持的客户端包括:Web、iOS、Android、微信小程序。

暂无

媒体说明

支持的媒体格式请参见媒体上传概述

支持本地文件上传和网络文件上传(URL拉取方式)。

支持短视频SDK录制上传。

同时上传多个文件支持文件列表管理。包括文件的增加、删除、取消、恢复、遍历、清空。

  • 本地文件:最大支持48.8 TB的单个文件。

  • 网络文件:最大支持5 GB的单个文件。

说明

设置URL上传时需要将URL编码后再传入后使用,避免存在特殊字符导致无法上传的情况。

存储地址

支持使用默认存储地址或指定存储地址。

默认存储地址可以修改。详情请参见管理存储Bucket

URL上传仅支持华东2(上海)地域。

可通过设置获取上传地址和凭证相关接口StorageLocation参数实现

媒资管理

支持设置元数据,如媒体标题、媒体标签、媒体分类、视频封面等。

可通过获取上传地址和凭证相关接口的参数(如Title、Tags、CateId、CoverURL等)设置。

音视频转码

支持通过指定转码模板或工作流设置转码。

也支持不转码。

可通过获取上传地址和凭证相关接口的参数(如TemplateGroupId、WorkflowId等)设置。

上传控制

包括开始、停止、暂停、恢复。

支持断点续传。

上传SDK内部会完成断点续传的功能,用户不需要关心任何断点和片段恢复,因为异常情况导致的视频上传失败重新上传都会从断点处开始上传。

事件通知

支持设置回调获取上传事件通知。支持的事件通知请参见上传设置

配置回调请参见回调设置

上传授权

  • 支持上传凭证方式(使用阿里云账号AK或经过授权的RAM用户AK初始化)授权上传。

  • 支持STS方式(使用STS临时AK初始化)授权上传。

推荐使用上传凭证方式,更多信息请参见凭证方式与STS方式对比

上传加速

开通后支持。开通上传加速功能需填写宜搭信息申请

申请开通后,可通过获取上传地址和凭证相关接口的UserData参数中的AccelerateConfig参数设置。

网络切换

支持移动网络3G/4G与WIFI之间切换。

为了避免浪费3G/4G网络下的流量,切换到3G/4G网络时,可以调用pause暂停上传。在切换回WIFI网络时,调用resume恢复上传(网络切换部分需要应用自己实现判断)。

上传流程

客户端上传SDK封装了OSS上传逻辑。在客户端上传媒体文件时,会直接将文件上传到点播存储(基于OSS),不会再经服务端进行中转,故客户端上传必须进行鉴权,也就是需要您在应用服务器上部署授权服务以获取上传地址和凭证。目前客户端上传SDK支持两种授权方式,两种方式差异对比请参见凭证方式与STS方式对比,推荐使用凭证方式。

上传地址和凭证方式上传流程详解

以集成点播服务端SDK获取上传地址和凭证为例,完整的上传流程如下图所示:客户端SDK上传凭证上传流程

  1. 用户在上传应用服务器上部署授权服务(如集成点播服务端SDK)用于获取上传地址和凭证。

  2. 客户端向上传应用服务器发起请求获取上传地址和凭证。

  3. 上传应用服务器向视频点播服务发起请求获取上传地址和凭证。

  4. 点播服务返回上传地址和凭证。

  5. 上传应用服务器向客户端下发上传地址和凭证。

    说明

    下发地址和凭证即可,无需Base64解码。

  6. 客户端使用上传地址和凭证初始化上传实例。

  7. 客户端构造上传参数发起上传请求。

  8. OSS服务返回上传结果。

    说明
    • 点播服务在下发上传地址和凭证时还会自动创建媒资信息,即媒体ID(MediaId),用于媒资生命周期管理或媒体处理。

      • 获取音视频上传地址和凭证返回的VideoId即媒体ID。

      • 获取图片上传地址和凭证返回的ImageId即媒体ID。

      • 获取辅助媒资上传地址和凭证返回的MediaId即媒体ID。

      • 请妥善保存媒体ID,作为媒资管理、音视频播放、媒体处理等的输入。

    • 上传结果也可以通过提前配置回调接收上传相关事件以监听。

STS方式上传流程详解

如需使用STS临时授权方式(阿里云Security Token Service)访问点播服务,请为RAM用户创建角色并授予角色VOD相关权限。操作指引请参见使用STS临时授权方案上传视频

使用STS方式上传的完整的流程如下图所示:客户端STS方式上传流程

  1. 用户在上传应用服务器上部署授权服务(如集成阿里云STS SDK)用于获取STS临时Token。

  2. 客户端向上传应用服务器发起请求获取STS临时Token。

  3. 上传应用服务器向阿里云STS服务发起请求获取STS临时Token。

  4. 阿里云STS服务返回上传地址和凭证。

  5. 上传应用服务器向客户端下发STS临时Token。

  6. 客户端使用STS临时Token初始化上传实例。

  7. 客户端构造请求发起上传请求。

  8. OSS服务返回上传结果。

    说明

    上传结果也可以通过提前配置回调接收上传相关事件来监听。

操作指引

不同客户端上传SDK的集成与使用方法不同。请根据需要单击以下链接跳转至具体的操作指引。