服务端上传,是指通过应用服务端(App Server)将视频文件上传到视频点播服务,一般用于自动化上传或视频迁移。本文为您介绍服务端上传方式、上传流程和接入指引。
视频点播目前支持以下两种服务端上传方式。
直接上传是指通过 OpenAPI 和服务端 SDK 直接将应用服务器上的视频上传到视频点播服务。具体流程如下图所示:
流程说明如下:
说明
视频点播服务会为上传的媒资自动创建一个媒资 ID。根据媒资的类型不同,这个 ID 有不同的称呼:
此外,对于习惯使用标准对象存储的用户,视频点播还提供 DirectUrl 模式,以文件路径 FileName 作为媒资对象在点播存储桶中的唯一标识。更多信息,请见 Vid 模式与 DirectUrl 模式的全链路说明。
URL 批量拉取上传是指将存储在第三方服务的媒体文件离线拉取上传到视频点播服务。您只需要将 URL 列表发送给视频点播,视频点播服务端会自动触发拉取 URL 并上传。这种方式可以免去先将文件下载到本地服务器后再上传到视频点播的过程,主要适用于离线搬站场景。
说明
URL 批量拉取上传是异步任务,不保证时效性。一般提交后会在数小时内完成上传。如果对时效性要求较高,建议使用其他上传方式。
具体流程如下图所示:
流程说明如下:
说明
任务 ID 只在视频点播服务端存储 7 天。
为方便您的使用,视频点播提供服务端 SDK,封装了获取上传地址和凭证、分片上传等逻辑。您只需设置 AK/SK 并进行简单配置,即可开始上传媒资。推荐你创建 IAM 子账号,使用子账号的 AK/SK 访问视频点播服务。各语言服务端 SDK 的媒资上传示例代码请见以下文档:
在通过 URL 批量拉取方式将 HLS 协议视频上传至视频点播服务时,您需要先上传 M3U8 文件,视频点播服务再根据这个 M3U8 文件中记录的 TS 分片的文件路径,将这些 TS 分片也拉取至点播存储中。本文为您介绍 M3U8 文件在点播存储中的文件路径、M3U8 文件中记录的 TS 分片的文件路径以及 TS 分片在点播存储中的实际路径这三者的关系。
说明
本文所述规则仅适用于 URL 批量拉取上传,不适用于本地上传。
M3U8 文件和 TS 文件在点播存储中的路径首先取决于您在上传 M3U8 文件时是否指定 M3U8 文件的文件路径。具体说明如下:
如果您在上传 M3U8 文件时没有指定 FileName,视频点播服务会将 M3U8 文件和拉取的 TS 分片存储在同一个文件夹下。文件夹以 32 位随机字符串命名。假设您上传了一个名为 main.m3u8
的文件,则:
/{32位随机字符串}/main.m3u8
。/{和m3u8相同的32位随机字符串}/1.ts
、 /{和m3u8相同的32位随机字符串}/2.ts
等。如果您在上传 M3U8 文件时指定了 FileName,视频点播服务将根据此 M3U8 文件中记录的 TS 分片的文件路径存储 TS 文件。具体可分为以下三种情况:
M3U8 文件中的 TS 分片路径 | 示例 |
---|---|
相对路径 | 假设:
则 TS 分片在点播存储中的文件路径为 |
根目录 | 假设:
则 TS 分片在点播存储中的文件路径为 |
绝对路径 | 假设:
则 TS 分片在点播存储中的文件路径为 |
DirectUrl 模式下上传 HLS 协议视频存在以下限制:
测试.ts
)或者文件路径为根目录(例如 /a/b/c/0.ts
) ,视频文件不支持播放。