点播
视频加密
更新时间: 2022/09/28 19:25:16
视频加密是一种保护视频内容安全的功能。通过将视频的内容进行加密,用户必须使用网易云信播放SDK才能实现视频的观看,从而有效保护视频内容。
功能逻辑
- 终端用户登录,注册终端信息至用户业务服务器;
- 用户业务服务器注册终端用户信息至网易云信API服务器;
- 业务服务器返回accid和token给终端用户;
- 业务服务器向点播API获取传输令牌并下发给终端用户;
- 终端用户使用accid、token和传输令牌获取传输密钥进行解密。
注:accid、token的获取方法请参见移动端终端用户管理
注:以下API的调用方式和请求头参数均和官网一致。
创建加密视频
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/create
用于将视频进行内容加密。
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
vid | Long | 是 | 视频 ID |
style | Int | 是 | 视频格式:0标识源视频、 4标识流畅flv、5标识标清flv、6标识高清flv、14标识超清flv、 7标识流畅hls、8标识标清hls、9标识高清hls、15标识超清hls、19自适应hls(目前仅支持flv和hls类型视频加密) |
algo | Int | 否 | 加密算法类型,1表示RC4_ALL,2表示RC4_PART,默认为1 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Int | 状态码 |
encryptId | String | 加密视频 ID |
msg | String | 错误信息 |
注:此请求返回成功表示加密请求发送成功,视频加密完成通过转码回调地址回调相关信息(包括加密URL)。
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"vid":22,"style":0,"algo":1}' https://vcloud.163.com/app/vod/encrypt/create
返回示例
{
"code" : 200,
"ret" : {
"encryptId" : "sdfds****gsgsg"
}
}
更新加密视频
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/update
用于将加密视频进行更新,更新后加密视频ID不变,加密内容改变,需要重新获取传输密钥进行解密。
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
encryptId | String | 是 | 加密视频 ID |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Int | 状态码 |
msg | String | 错误信息 |
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"encryptId":"sdfdsgsgegegsgsg"}' https://vcloud.163.com/app/vod/encrypt/update
返回示例
{
"code" : 200,
"ret" : {}
}
获取加密视频信息
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/getInfo
获取加密视频信息。
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
encryptId | String | 是 | 加密视频 ID |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Int | 状态码 |
vid | Long | 视频 ID |
style | Int | 视频格式:0标识源视频、 1标识流畅mp4、2标识标清mp4、3标识高清mp4、 4标识流畅flv、5标识标清flv、6标识高清flv、 7标识流畅hls、8标识标清hls、9标识高清hls、19自适应hls(目前仅支持flv和hls类型视频加密) |
algo | Int | 加密算法类型,1表示RC4_ALL,2表示RC4_PART |
playUrl | String | 加密视频播放地址 |
downloadUrl | String | 加密视频下载地址 |
status | Int | 加密视频的状态,10表示初始,20表示加密失败,30表示加密中,40表示加密成功 |
msg | String | 错误信息 |
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"vid":22,"style":0}' https://vcloud.163.com/app/vod/encrypt/getInfo
返回示例
{
"code" : 200,
"ret" : {
"vid" : 21,
"style" : 0,
"algo" : 1,
"playUrl" : "http://vodk***xdf.vod.126.net/vodk***xdf/dcffdc0d-***-d1d19450137f.flv",
"downloadUrl" : "http://vodk***xdf.vod.126.net/vodk***xdf/dcffdc0d-***-d1d19450137f.flv"
}
}
删除加密视频
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/delete
删除加密视频。
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
encryptId | String | 是 | 加密视频 ID |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Int | 状态码 |
msg | String | 错误信息 |
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"encryptId":"sdfs****gweg"}' https://vcloud.163.com/app/vod/encrypt/delete
返回示例
{
"code" : 200,
"ret" : {}
}
获取传输令牌
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/getToken
业务服务器获取传输令牌,用于下发给终端用户播放器请求获取传输密钥。
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
encryptId | String | 是 | 加密视频 ID |
expireTime | Long | 否 | 过期时间(单位秒),默认为2小时 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Int | 状态码 |
transferToken | String | 获取到的传输令牌 |
msg | String | 错误信息 |
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"encryptId":"adfs****gsdf","expireTime":7200}' https://vcloud.163.com/app/vod/encrypt/getToken
返回示例
{
"code" : 200,
"ret" : {
"transferToken" : "tag=sdfesttgh&time=14**2939&expire=123*67&nonce=aaffd****je&algo=1&checksum=sdfs****geojo"
}
}
通过源视频获取加密视频
接口描述
域名:vcloud.163.com
接口名:/app/vod/encrypt/getPlayInfo
获取某个源视频的所有加密视频信息
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
vid | Long | 是 | 源视频ID |
返回参数
参数 | 类型 | 说明 |
---|---|---|
list | Array | 加密视频列表 |
- encryptId | String | 加密视频id |
- definition | String | 清晰度,origin表示源视频,sd表示流畅,hd表示标清,shd表示高清 |
- format | String | 格式,如flv、hls |
- playUrl | String | 播放地址 |
- downloadUrl | String | 下载地址 |
- encryptStatus | Int | 加密状态,10表示成功,20表示失败,30表示处理中,0表示已经删除 |
- size | Int | 视频文件大小(单位:字节) |
响应状态码
HTTP状态码 | 含义 |
---|---|
200 | 操作成功 |
400 | 请求报文格式错误,报文构造不正确或者没有完整发送 |
700 | 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决 |
710 | 权限认证失败,请参考文档中的接口鉴权部分 |
720 | 访问失败,余额不足。 |
721 | 服务未开通,请前往开通页面申请服务开通 |
722 | 服务开通审核中,请联系客服人员开通服务 |
723 | 请求的次数超过了配额限制 |
请求示例
curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 02733****bc9d6af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028****abe7ae13" -d '{"vid":3729}' https://vcloud.163.com/app/vod/encrypt/getPlayInfo
返回示例
{
"ret": {
"list": [{
"definition": "sd",
"downloadUrl": "http://voduzutnam1.nosdn.127.net/encrypt_****_sd_encrypt.flv",
"encryptId": "7fb542e7-200a-4236-b1df-ca5a625b2fa4",
"encryptStatus": 10,
"format": "flv",
"playUrl": "http://voduzutnam1.vod.126.net/voduzutnam1/encrypt_****_sd_encrypt.flv",
"size": 479227
}, {
"definition": "shd",
"downloadUrl": "http://voduzutnam1.nosdn.127.net/encrypt_****_shd_encrypt.flv",
"encryptId": "8a32ec23-ae24-4bb2-9b21-342d9891adf8",
"encryptStatus": 10,
"format": "flv",
"playUrl": "http://voduzutnam1.vod.126.net/voduzutnam1/encrypt_****_shd_encrypt.flv",
"size": 1240842
}]
},
"code": 200,
"requestId": "vod29a577ca****977e9cc5b590"
}
此文档是否对你有帮助?
有帮助
我要吐槽