保利威文档中心

帮助中心

获取视频播放凭证

更新时间:2024-08-05 16:37:36

接口描述

1、通过子账号id和视频id,创建加密视频的播放凭证,即 Playsafe Token
2、如果一个凭证token尚未过期,此时使用相同的 videoId、viewerId、viewerIp、iswxa 参数值请求该接口,
   会复用原来的凭证token,并延长原凭证token的有效期
3、接口支持https协议

接口URL

http://hls.videocc.net/service/v2/token/create-child

在线API调用

请求方式

POST

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、该接口目前仅支持子账号。如果要为主帐户创建凭证token ,可以参考【获取视频播放凭证

请求参数描述删除视频

参数名 必选 类型 说明
appId true String 保利威点播子账户appId,获取路径:保利威点播后台->设置->账号管理
ts true Long 当前的时间,13位毫秒级时间戳,10分钟内有效,例如:1617863545204
sign true String 签名,32位大写MD5值【详见MD5签名生成规则
videoId true String 视频的id,获取路径:保利威点播后台->视频列表;
也可以获取自【上传视频】;
例如:1b448be32370f4822ac40fd926112a66_1
viewerId true String 观看者id,要求不同的观看者使用不同的id,由数字字母组成
viewerIp false String 观看者ip,如果为空,会自动获取调用该接口时的ip
viewerName false String 观看者名称
expires false Long 播放凭证token的有效时长,单位为秒。为空时默认为10分钟
disposable false Boolean 播放凭证token是否一次有效,默认为 false
true:表示凭证token仅一次有效,即验证一次后,凭证token就失效了
false:表示在有效期内可以多次验证
iswxa false Integer 是否微信小程序播放,默认为0
1:是
0:否
extraParams false String 自定义的其它参数
securitySeed false String 私有加密视频自定义token加密因子, 用于提高视频播放的安全性, 需搭配指定的播放器使用, 详细使用规则请咨询保利威客服

示例

http://hls.videocc.net/service/v2/token/create-child

表单参数:

viewerName=%E8%A7%82%E7%9C%8B%E8%80%85%E6%98%B5%E7%A7%B0&expires=10000&viewerId=ovtl9t_RxnrTdqkXqkT5Q5lnxp2A&appId=a0Wmol5EwX&viewerIp=59.41.20.74&sign=6804C5B24FED47E49776C2CB85823316&videoId=1b448be32370f4822ac40fd926112a66_1&extraParams=ddd&iswxa=1&disposable=true&ts=1617936971500

响应参数描述

参数名 类型 说明
code Integer 响应状态码,200为成功返回,非200为失败【详见全局错误说明
status String 响应状态文本信息
message String 响应描述信息,当code为400或者500的时候,辅助描述错误原因
data Object 响应成功时返回播放凭证的详细信息【详见data字段说明】,响应失败时返回错误原因

data字段说明

字段 类型 说明
token String 视频播放凭证
userId String 保利威点播账户id
appId String 子账号appId
videoId String 视频id
viewerIp String 观看者ip
viewerId String 观看者id
viewerName String 观看者名称
extraParams String 自定义的其它参数
ttl Long 凭证token 有效时长,单位为毫秒
createdTime Long 凭证token 创建时间
expiredTime Long 凭证token 过期时间
iswxa Integer 是否微信小程序播放
1:是
0:否
disposable Boolean 播放凭证token是否一次有效
true:表示凭证token仅一次有效,即验证一次后,凭证token就失效了
false:表示在有效期内可以多次验证

Java请求示例

快速接入基础代码请下载相关依赖源码点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。

强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

private static final Logger log = LoggerFactory.getLogger(VodSubAccountTest.class);

/**
 * 获取视频播放凭证
 * @throws Exception
 * @throws NoSuchAlgorithmException
 */
@Test
public void testCreateSubToken() throws Exception, NoSuchAlgorithmException {
        //公共参数,填写自己的实际参数
        String appId = super.appId;
        String appSecret = super.appSecret;
        String ts = String.valueOf(System.currentTimeMillis());

        //业务参数
        String url = "http://hls.videocc.net/service/v2/token/create-child";
        String videoId = "1b448be32370f4822ac40fd926112a66_1";
        String viewerId = "ovtl9t_RxnrTdqkXqkT5Q5lnxp2A";
        String viewerIp = "59.41.20.74";
        String viewerName = "观看者昵称";
        String expires = "10000";
        String disposable = "true";
        String isWXa = "1";
        String extraParams = "ddd";

        Map<String, String> requestMap = new HashMap<>();
        requestMap.put("appId", appId);
        requestMap.put("videoId", videoId);
        requestMap.put("ts", ts);
        requestMap.put("viewerId", viewerId);
        requestMap.put("viewerIp", viewerIp);
        requestMap.put("viewerName", viewerName);
        requestMap.put("expires", expires);
        requestMap.put("disposable", disposable);
        requestMap.put("iswxa", isWXa);
        requestMap.put("extraParams", extraParams);

        //用md5进行签名,使用子账号的secretKey签名
        requestMap.put("sign", VodSignUtil.getSignMd5(requestMap, appSecret));

        String response = HttpUtil.postFormBody(url, requestMap);
        log.debug("测试获取视频播放凭证,{}", response);
        //do somethings
}


响应示例

系统全局错误说明详见全局错误说明

成功示例

{
  "code": 200,
  "status": "success",
  "message": "",
  "data": {
    "token": "783428b1-8b92-4c56-b255-9e14214b75b9-eesrv9rRagxTktuXtuT8Q8vgaf2A",
    "userId": "1b448be323",
    "appId": "a0Wmol5EwX",
    "videoId": "1b448be32370f4822ac40fd926112a66_1",
    "viewerIp": "59.41.20.74",
    "viewerId": "ovtl9t_RxnrTdqkXqkT5Q5lnxp2A",
    "viewerName": "观看者昵称",
    "extraParams": "ddd",
    "ttl": 10000000,
    "createdTime": 1617936972611,
    "expiredTime": 1617946972611,
    "iswxa": 1,
    "disposable": true
  }
}

异常示例

{
  "code": 403,
  "status": "error",
  "message": "sign_not_found",
  "data": "sign parameter not found."
}
联系客服,在线咨询