腾讯云云点播Key 防盗链_音视频解决方案_同尘科技

云点播 1年前 (2023-10-09) 浏览 93

功能介绍

支持在视频 URL 中指定过期时间,他人获取后无法长期使用。支持在视频 URL 中指定最大允许播放 IP 数,他人获取后不能无限制地分发给更多人观看。支持在视频 URL 中指定试看时长,实现试看功能。支持在视频 URL 中指定地区访问限制,支持黑名单和白名单两种模式。支持在视频 URL 中指定 Referer 黑白名单。开发者使用密钥KEY对视频 URL 签名,并在 URL 中带上签名结果。只要用户密钥不泄露,其他用户无法伪造视频 URL。CDN 节点检查视频 URL 中的参数和签名,对视频播放请求进行控制。如果请求检查不通过,则返回403响应码。支持的文件类型:MP4、TS、M3U8、FLV、AAC、MOV、WMV、AVI、MP3、RMVB、MKV、MPG、3GP、WEBM、M4V、ASF、F4V、WAV、MPEG、VOB、RM、WMA、DAT、M4A、MPD、M4S。说明:开启 Key 防盗链请参见 设置防盗链。目前防盗链 key 的试看功能暂不支持音频格式文件。

防盗链 URL 生成方式

开发者在云点播中的视频均存在视频原始 URL。未开启防盗链时,使用视频原始 URL 即可播放视频。开启 Key 防盗链后,视频原始 URL 不再能播放,此时需要构造视频的防盗链 URL。防盗链 URL 的生成规则是在原始 URL 尾部,以 QueryString 的方式加入防盗链参数,形如:

http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4?t=[t]&exper=[exper]&rlimit=[rlimit]&us=[us]&whreg=[whreg]&whref=[whref]&sign=[sign]

下面详细介绍防盗链 URL 中各个参数的含义和取值方法。

防盗链参数

参数名 必选 说明
KEY 开启 Key 防盗链时填写的密钥。必须由大小写字母(a – Z)或者数字(0 – 9)组成,长度在8 – 20个字符之间。建议在控制台中单击【生成KEY】生成,具体操作步骤请参见 设置防盗链。
Dir 视频原始 URL 的 PATH 中除去文件名的那部分路径。如果原始 URL 为 http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4,则播放路径为 /dir1/dir2/。
t 播放地址的过期时间戳,单位为秒,以 Unix 时间的十六进制小写形式表示。过期后该 URL 将不再有效,返回403响应码。考虑到机器之间可能存在时间差,防盗链 URL 的实际过期时间一般比指定的过期时间长5分钟,即额外给出300秒的容差时间。建议过期时间戳不要过短,确保视频有足够时间完整播放。
exper 试看时长,单位为秒,以十进制表示,不填或者填0表示不试看(即返回完整视频)。试看时长不要超过视频原始时长,否则可能导致播放失败。
rlimit 最多允许多少个不同 IP 的终端播放,以十进制表示,最大值为9,不填表示不做限制。当限制 URL 只能被1个人播放时,建议 rlimit 不要严格限制成1(例如可设置为3),因为移动端断网后重连 IP 可能改变。
us 链接标识,用于随机化一个防盗链 URL,增强链接的唯一性。建议每次生成防盗链 URL 时,指定一个随机的 us 值。
whreg 允许访问的地区列表,支持1条 – 10条,用半角逗号分隔,取值为 ISO 3166-1三位字母代码。
bkreg 禁止访问的地区列表,支持1条 – 10条,用半角逗号分隔,取值为 ISO 3166-1三位字母代码。
whref 允许访问的域名列表,支持1条 – 10条,用半角逗号分隔。域名前不要带协议名(http://和https://),域名为前缀匹配(如填写 abc.com,则 abc.com/123 和 abc.com.cn也会匹配),且支持通配符(如 *.abc.com)。
bkref 禁止访问的域名列表,支持1条 – 10条,用半角逗号分隔。域名前不要带协议名(http://和https://),域名为前缀匹配(如填写 abc.com,则 abc.com/123 和 abc.com.cn也会匹配),且支持通配符(如 *.abc.com)。
sign 防盗链签名,以32个字符长的十六进制数表示,用于校验防盗链 URL 的合法性签名校验失败将返回403响应码。下面将介绍 签名计算公式。
uv 6 位十六进制字符,用于 溯源水印 场景。

签名计算公式

sign = md5(KEY + Dir + t + exper + rlimit + us + whref + bkref + whreg + bkreg + uv)

公式中的+代表字符串拼接,选填参数可以为空字符串。

防盗链 URL 生成示例

如果某个开发者在云点播中有一个视频,视频的原始播放 URL 是 http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4。该开发者开通了 Key 防盗链,生成的密钥是24FEQmTzro4V5u3D5epW,生成的随机字符串为 72d4cd1101,现有如下需求:1. 为这个视频生成防盗链 URL,URL 的过期时间是2018年01月31日20:00(Unix 时间为1517400000)。2. 生成一个试看 URL,试看时长为视频的前5分钟(视频原始时长大于5分钟)。3. 限制 URL 可播放的 IP 数,允许最多3个不同 IP 的终端可以播放该 URL。下面分别对“视频播放地址有效时间控制”、“视频播放地址允许最多播放 IP 数”和“视频允许播放时长控制”的场景,介绍如何生成防盗链 URL。

示例1:播放地址有效时间控制

步骤1:确定防盗链参数

参数名 取值 说明
KEY 24FEQmTzro4V5u3D5epW 开发者开通 Key 防盗链时选择的密钥
Dir /dir1/dir2/ 原始播放 URL 的 PATH 中除去 myVideo.mp4 的剩余部分
t 5a71afc0 过期时间戳1517400000的十六进制表示结果
us 72d4cd1101 生成的随机字符串

步骤2:计算签名

sign = md5("24FEQmTzro4V5u3D5epW/dir1/dir2/5a71afc072d4cd1101") = "3d8488faeb37d52d6bf63b63c1b171c3"

步骤3:生成防盗链 URL

将防盗链参数拼接到视频原始 URL 的 QueryString 中,得到视频防盗链 URL:

http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4?t=5a71afc0&us=72d4cd1101&sign=3d8488faeb37d52d6bf63b63c1b171c3

示例2:播放地址最多可播放 IP 数

步骤1:确定防盗链参数

参数名 取值 说明
KEY 24FEQmTzro4V5u3D5epW 开发者开通 Key 防盗链时选择的密钥
Dir /dir1/dir2/ 原始播放 URL 的 PATH 中除去myVideo.mp4的剩余部分
t 5a71afc0 过期时间戳1517400000的十六进制表示结果
rlimit 3 限制最多允许3个不同的 IP 播放 URL
us 72d4cd1101 生成的随机字符串

步骤2:计算签名

sign = md5("24FEQmTzro4V5u3D5epW/dir1/dir2/5a71afc0372d4cd1101") = "c5214f0d5961b13acd558b4957c4dfc5"

步骤3:生成防盗链 URL

将防盗链参数拼接到视频原始 URL 的 QueryString 中,得到视频防盗链 URL:

http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4?t=5a71afc0&rlimit=3&us=72d4cd1101&sign=c5214f0d5961b13acd558b4957c4dfc5

示例3:允许播放时长控制

步骤1:确定防盗链参数

参数名 取值 说明
KEY 24FEQmTzro4V5u3D5epW 开发者开通 Key 防盗链时选择的密钥
Dir /dir1/dir2/ 原始播放 URL 的 PATH 中除去 myVideo.mp4 的剩余部分
t 5a71afc0 过期时间戳1517400000的十六进制表示结果
exper 300 试看前5分钟,即300秒
us 72d4cd1101 生成的随机字符串

步骤2:计算签名

sign = md5("24FEQmTzro4V5u3D5epW/dir1/dir2/5a71afc030072d4cd1101") = "547d98c4b91e81b5ea55c95cef63223f"

步骤3:生成防盗链 URL

将防盗链参数拼接到视频原始 URL 的 QueryString 中,得到视频防盗链 URL:

http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4?t=5a71afc0&exper=300&us=72d4cd1101&sign=547d98c4b91e81b5ea55c95cef63223f

Key 防盗链生成和校验工具

云点播为开发者提供了 Key 防盗链 URL 的生成工具和校验工具,开发者可以使用该工具快速准确地生成和校验符合要求的防盗链 URL。Key 防盗链生成工具Key 防盗链校验工具

注意事项

该功能为可选项,默认不启用。启用该功能后,视频原始 URL 将不再能直接播放,需要按规则生成合法的防盗链 URL。密钥KEY必须由大小写字母(a – Z)或者数字(0 – 9)组成,长度在8 – 20个字符之间。若防盗链 URL 过期,或者签名不能通过,将无法播放视频,并返回403响应码。防盗链 URL 中 QueryString 的各参数必须按照 texperrlimitussign 的顺序出现,如果顺序不正确将无法播放视频。如果使用试看功能,需确保试看时长不大于视频时长,否则将导致视频无法播放。试看对视频的格式有较严格的要求(仅支持 H.264,视频元信息在视频文件的头部等),不符合格式要求的原始视频使用试看功能将产生异常。建议使用云点播转码功能进行转码,对转码后视频设置试看(转码后的格式均符合试看格式要求)。

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?