客户端上传,是指通过在终端(Android、iOS、Web 等)应用集成上传 SDK,将媒体文件直接上传到视频点播服务。相对于服务端代理上传,客户端上传避免了业务服务器中转文件,节省了服务器资源。客户端上传适用于 UGC(用户生产内容)、PGC(专业生产内容)、运营后台等使用场景。本文为您介绍客户端上传的鉴权机制、上传流程和接入指引。
在客户端直接将音视频文件上传至视频点播服务时,点播服务会对客户端进行鉴权。由于 AK/SK 权限过大,泄露到客户端会导致严重的安全问题。因此,客户端上传不能直接使用 AK/SK 进行鉴权。您需要搭建在应用服务端搭建一个授权服务,通过应用服务端和应用客户端之间的信息通道来传递临时上传 Token。 临时上传 Token 具有以下优势:
为方便您的使用,视频点播服务端 SDK 对临时上传 Token 的签发进行了封装。建议您在应用服务端集成视频点播服务端 SDK 用于签发临时上传 Token,然后直接下发给客户端。详见以下链接:
客户端上传的具体流程如下图所示:
流程说明如下:
不同客户端上传 SDK 的集成与使用方法不同,请根据需要点击以下链接跳转至具体的操作指引:
上传策略是媒资上传时附加的一组配置信息。您可在使用视频点播服务端 SDK 签发临时上传 Token 时签入上传策略。视频点播支持以下上传策略:
SpaceNames([]string{})
指定。KeyPtn("")
指定。FileName 介绍和字符规则请见 FileName。例如设置 "test/*"
表示上传时指定的文件路径必须包含 "test/"
前缀,设置 "test/123.mp4"
表示只允许上传时指定的文件路径为 "test/123.mp4"
。UploadPolicy()
传入上传策略参数实现。您可以通过上传策略参数限制允许上传的文件类型和文件大小。具体参数说明如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
ContentTypeBlackList | Array of String | 否 | 限制用户上传的文件类型 Content-Type 黑名单。示例如下:
|
ContentTypeWhiteList | Array of String | 否 | 允许用户上传的文件类型 Content-Type 白名单。 说明
|
FileSizeUpLimit | String | 否 | 上传文件大小的上限,必须为正整数,单位为字节。 |
FileSizeBottomLimit | String | 否 | 上传文件大小的下限,必须为正整数,单位为字节。 |
目前仅服务端 Go SDK 和 PHP SDK 支持设置上传策略。示例代码具体请见: