视频加密

更新时间: 2023/11/15 03:08:20

视频加密是一种保护视频内容安全的功能。通过将视频的内容进行加密,用户必须使用网易云信播放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 请求的次数超过了配额限制

请求示例

shellcurl -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"
}

此文档是否对你有帮助?
有帮助
去反馈
  • 功能逻辑
  • 创建加密视频
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例
  • 更新加密视频
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例
  • 获取加密视频信息
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例
  • 删除加密视频
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例
  • 获取传输令牌
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例
  • 通过源视频获取加密视频
  • 接口描述
  • 请求参数
  • 返回参数
  • 响应状态码
  • 请求示例
  • 返回示例