服务端上传,是指将应用服务器上的媒体文件上传到点播存储。视频点播提供常用语言的服务端上传SDK以及相应的使用Demo。服务端上传SDK封装了获取上传地址和凭证的逻辑,只需简单配置即可进行上传。本文介绍服务端上传SDK的使用场景、上传流程和操作指引。
使用场景
服务端上传SDK适用于自动化上传、大批量迁移视频上传等场景,也适用于网络媒体文件上传(原理是先下载到服务器本地再上传到点播)。
功能点 | 说明 | 备注 |
支持语言 | 目前支持的开发语言包括:Java、Python、PHP、C/C++。 | 其它语言可基于OSS原生SDK上传。详情请参见基于OSS原生SDK上传。 |
媒体说明 | 支持的媒体格式请参见媒体上传概述。 支持本地文件上传和网络文件上传(URL拉取方式)。 |
说明 设置URL上传时需要将URL编码后再传入后使用,避免存在特殊字符导致无法上传的情况。 |
存储地址 | 支持使用默认存储地址或指定存储地址。 | 默认存储地址可以修改。详情请参见管理存储Bucket。 URL上传仅支持华东2(上海)地域。 可通过设置获取上传地址和凭证相关接口StorageLocation参数实现。 |
内网上传 | 如果上传脚本部署在ECS,可在上传逻辑中指定上传脚本部署的ECS地域。如果ECS地域和上传的视频点播存储地域相同,则自动使用内网上传,上传更快且更省公网流量。 | 由于视频点播API只提供外网域名访问,因此部署上传脚本的ECS服务器必须具有访问外网的权限。 |
媒资管理 | 支持设置元数据,如媒体标题、媒体标签、媒体分类、视频封面等。 | 可通过获取上传地址和凭证相关接口的参数(如Title、Tags、CateId、CoverURL等)设置。 |
音视频转码 | 支持通过指定转码模板或工作流设置转码。 也支持不转码。 | 可通过获取上传地址和凭证相关接口的参数(如TemplateGroupId、WorkflowId等)设置。 |
上传控制 | 支持设置上传进度条。支持默认进度回调和自定义进度回调。 Java语言支持断点续传,其它语言不支持。 | M3U8文件上传暂不支持设置上传进度条。 |
事件通知 | 支持设置回调获取上传事件通知。支持的事件通知请参见上传设置。 | 配置回调请参见回调设置。 |
上传授权 | 支持上传凭证方式(使用阿里云账号AK或经过授权的RAM用户AK初始化)授权上传。 支持STS方式(使用STS临时AK初始化)授权上传。 | STS方式需要用户自行搭建服务获取STS临时AK。 |
上传加速 | 开通后支持。开通上传加速功能需提交工单。 | 申请开通后,可通过获取上传地址和凭证相关接口的 |
上传地址和凭证相关接口包括:
上传流程
服务端上传SDK封装了获取上传地址和凭证的逻辑和OSS上传逻辑,只需简单配置即可进行上传。完整的上传流程如下图所示:
流程详解
用户在上传应用服务集成点播服务端上传SDK并完成上传设置,如:AK信息、文件地址、存储地址、媒资管理、转码设置、上传控制等。
上传应用服务器使用点播服务端上传SDK调用上传地址和凭证相关接口获取上传地址、上传凭证及媒资信息。
说明您也可以构造HTTP/HTTPS请求获取上传地址和凭证,但需要自行构造签名,出错概率较高。上传地址和凭证相关接口包括:
点播服务在请求结果中返回上传地址(UploadAddress)、上传凭证(UploadAuth)和媒体ID等信息。
说明点播服务在下发上传地址和凭证时还会自动创建媒资信息,即媒体ID(MediaId),用于媒资生命周期管理或媒体处理。
获取视频上传地址和凭证返回的
VideoId
即媒体ID。获取图片上传地址和凭证返回的
ImageId
即媒体ID。获取辅助媒资上传地址和凭证返回的
MediaId
即媒体ID。请妥善保存媒体ID,作为媒资管理、音视频播放、媒体处理等的输入。
上传应用服务器通过点播服务端上传SDK封装好的OSS上传逻辑开始上传。
OSS服务返回上传结果。
说明上传结果也可以通过提前配置回调接收上传相关事件来监听。
操作指引
不同语言的服务端上传SDK的集成与使用方法不同。请根据需要点击以下链接跳转至具体的操作指引。
点播服务端上传SDK与点播服务端SDK的区别
点播服务端上传SDK与点播的服务端SDK是不同的概念。点播服务端上传SDK封装了完整的上传逻辑,可直接集成使用。而点播服务端SDK集成了点播的全部功能,其中上传功能仅仅提供获取上传地址和凭证部分的逻辑,需要结合具体的使用场景使用,也需要用户自行实现上传逻辑,包括在点播服务获取上传凭证和地址、Base64解码上传凭证和地址、调用OSS能力完成上传等。关于点播服务端SDK的详细信息请参见点播服务端SDK。