服务端 API 文档

客户端上传指引

最近更新时间:2019-11-29 12:23:06

操作场景

客户端视频上传是指 App 的最终用户将本地视频上传到云点播平台,其流程图如下。本文将为您介绍如何使用客户端上传视频。

前提条件

1. 开通服务

开通云点播服务,详细请参见 购买指引

2. 获取云 API 密钥

获取调用服务端 API 所需的安全凭证,即 SecretId 和 SecretKey,具体步骤如下:

  1. 登录控制台,选择【云产品】>【访问管理】>【API密钥管理】,进入“API 密钥管理”页面。
  2. 获取云 API 密钥。如果您尚未创建密钥,则单击【新建密钥】即可创建一对 SecretId 和 SecretKey。

操作步骤

1. 申请上传签名

客户端需要向 App 的签名派发服务器申请上传签名,签名生成步骤请参见 客户端上传签名。多语言签名生成示例请参见:

说明:

  • 由于客户端上传是直接将视频文件从客户端上传到云点播平台,无需 App 服务端中转,所以云点播必须对发起请求的客户端进行鉴权。
  • 由于 SecretKey 权限过大,App 不能将该信息泄露到客户端,否则会造成严重的安全问题,所以客户端发起上传前需要申请上传签名。

2. 使用 SDK 上传视频

为了方便客户端的视频上传,云点播提供多平台 SDK 方便客户接入,详细请参见:

高级功能

  • 上传时指定任务流
    如果开发者需要在视频上传完成后自动发起 视频处理任务流(例如转码、截图等),可以在生成 上传签名 时通过procedure参数来实现,参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名,发起任务流时,可以用任务流模板名来表示要发起的任务。
  • 上传时指定存储地域
    云点播默认提供的存储地域设置在重庆,如果需要存储到其他区域,可以在控制台上自助添加其他存储地域,详细请参见 上传存储设置。设置完成后,在生成 上传签名 时通过storageRegion参数来指定,参数值为存储地域的 英文简称
  • 上传时附带封面
    云点播允许在视频上传过程中,携带封面上传,即在上传 SDK 接口中填写相关的封面路径,详细请参见:
  • 单次有效签名
    在视频上传过程中,App 后台派发的签名默认在有效期内是可以多次使用的。如果 App 对视频上传安全性要求很高,可以指定签名单次有效。
    单次有效签名的使用方式:在 App 后台派发签名时,指定参数oneTimeValid为1即可,详细请参见 客户端上传签名
    说明:

    单次有效签名有且只能被使用一次,该签名方式虽然更加安全,但是需要 App 做额外的异常处理,例如,上传出错时,不能简单地重复使用 SDK 上传视频,还需要重新申请上传签名。

  • 断点续传
    在视频上传过程中,如果上传意外终止,用户再次上传该文件,则可以从中断处继续上传。
    说明:

    断点续传的有效时间为1天,即同一个视频上传被中断,那么1天内再次上传可以直接从断点处上传,超过1天则默认会重新上传完整视频。

    App 开启断点续传功能的方式如下:
  • 暂停/恢复/取消上传
    在视频上传过程中,云点播 SDK 允许暂停、恢复或取消上传,详细请参见:

常见问题

  • 如何在视频上传完成后自动发起转码
    通过客户端上传签名中 procedure参数指定视频上传完成后的处理方式,详细请参见 上传时指定任务流
  • App 后台收到视频上传完成的通知后,如何识别是哪个客户上传的
    在客户端上传签名中增加sourceContext参数,通过该参数来携带用户身份信息,上传完成通知会将该参数传递给 App 后台,详细请参见 事件通知

3. 事件通知

视频上传完成之后,云点播会给 App 后台发起 事件通知 - 视频上传完成,App 后台可通过该事件感知到视频上传行为。如果要接收事件通知,则 App 需要到 控制台 - 回调设置 开启事件通知。事件通知 - 视频上传完成 主要包含如下信息:

  • 新视频文件的 FileId 和 URL。
  • 云点播支持在视频上传时指定透传字段,事件完成将透传字段通知到 App 后台。在事件通知中有如下字段:
    • SourceType:该字段被腾讯云固定成ServerUpload,表示上传来源为服务端上传。
    • SourceContext:用户自定义透传字段,App 后台在派发签名时指定的透传内容,对应签名中的sourceContext参数。
  • 云点播支持在视频上传完成时自动发起视频处理,如果上传时指定了 视频处理任务流,则在事件通知内容中也会携带任务 ID,即事件通知中的data.procedureTaskId字段。

更多信息请参见:

目录