客户端上传SDK指引

客户端上传,是指将移动端媒体文件上传到点播存储。视频点播提供客户端上传SDK以及相应的使用Demo。本文介绍客户端上传SDK的使用场景、上传流程和操作指引。

使用场景

客户端上传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初始化)授权上传。

移动端或Web端推荐使用STS临时方式。

STS方式需要用户自行搭建服务获取STS临时AK。

客户端上传SDK提供了刷新临时Token的代码示例。

上传加速

开通后支持。开通需提交工单

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

网络切换

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

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

上传流程

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

  • 使用上传地址和凭证授权:建议集成点播服务端SDK来获取上传地址和凭证。

  • 使用STS方式授权:需要提前为RAM用户创建角色并授权,也需要自行搭建STS授权服务。

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

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

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

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

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

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

    说明

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

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

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

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

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

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

    重要

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

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

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

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

    说明

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

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的集成与使用方法不同。请根据需要点击以下链接跳转至具体的操作指引。