获取上传地址和凭证的环节为点播服务的核心基础。本文介绍上传地址和凭证的工作原理、使用说明、使用限制、获取方式以及解析方式。
技术原理
上传地址是上传媒体文件到点播存储的文件地址,上传凭证是完成上传动作的授权凭证。上传地址和上传凭证均由点播服务下发,主要解决媒体上传过程中的授权和安全问题,防止恶意上传。同时,点播服务在下发上传地址和凭证时还会自动创建媒资信息,即媒体ID(MediaId),用于媒资生命周期管理或媒体处理。
媒体ID
媒体ID在某些场合也叫视频ID(VideoId)或图片ID(ImageId),可用于以下场景:
上传后追踪和管理媒体的生命周期。利用上传地址和凭证完成上传后,媒体的初始状态一般为上传中。相应的处理完成后会自动更新为下一个状态,如上传完成、转码中、正常等。
上传后指定媒体(用媒体ID识别)发起转码、截图、视频AI处理及视频剪辑等操作。
使用限制
上传地址和凭证只能用于单个媒体(单个音频、单个视频或单个图片),不能多个混用,否则会互相覆盖。
同一个视频,重复请求会获取到不同的上传地址和凭证。
上传地址(目录)由点播服务自动分配,暂不支持自由指定。
上传凭证有效期统一为3000秒(50分钟)。
由于视频文件可能较大、上传耗时较长,凭证失效后需要刷新上传凭证,刷新后新的凭证有效期仍是3000秒,且上传地址不变。
图片、辅助媒资(水印、字幕文件等)文件较小,凭证失效后只能重新获取。
使用说明
上传视频、图片和辅助媒资需要调用不同的服务端接口获取对应的上传地址和凭证。在所有面向开发者的上传方式中,仅部分方式需要关心如何获取上传地址和上传凭证。详情如下表所示。
除了通过上传地址和凭证方式,部分场景还支持通过STS临时Token访问点播服务。两种方式的对比请参见凭证方式与STS方式对比。在上传场景下,两种方式在操作上的区别如下:
使用上传凭证在构造上传请求时可直接传入阿里云账号AK或者RAM用户AK。
使用STS临时Token在构造上传请求时需要传入提前获取的STS临时Token。更多信息请参见STS临时Token。
上传方式 | 是否需要自行获取上传地址和凭证 | 是否需要自行解析上传地址和凭证 |
| 否 重要 上传SDK在服务端当前仅支持四种语言:
| 否 |
| 是 说明 只需要下发给客户端即可。 | 否 |
否 | 否 | |
是 说明 基于OSS原生SDK上传的实质是集成点播服务端SDK获取上传地址和凭证,使用获取到的上传地址和凭证初始化OSS SDK完成上传逻辑。 | 是 | |
是 | 是 |
获取上传地址和凭证
视频点播提供两种方式供开发者自行获取上传地址和凭证。
具体的代码示例请点击使用说明中对应上传方式跳转至操作步骤中查看。
(推荐)通过视频点播VOD SDK调用API来获取上传地址和凭证。更多内容,请参见SDK概述。
开发语言 | SDK调用示例 |
Java | |
Python |
通过生成HTTP/HTTPS请求获取上传地址和凭证需要自行构造签名,相对复杂。详细信息请参见请求构造指引和获取上传地址和凭证相关接口。
常用接口
解析上传地址和凭证
只有基于OSS原生SDK或API实现上传的方式需要关注如何解析上传地址和凭证。其它上传方式不需要解析上传地址和凭证,也不需要关注其内部逻辑。
将点播服务端返回的上传地址(UploadAddress)和上传凭证(UploadAuth)分别进行Base64解码,可得到OSS的上传地址和授权信息。解析的具体示例请参见基于OSS原生SDK上传视频到点播。