专栏首页即时通信与音视频Key防盗链排查文档
原创

Key防盗链排查文档

这篇文档从腾讯云Web端超级播放器使用Key防盗链的角度来列举使用过程中可能会遇到的问题及容易踩的坑:

key防盗链相关链接传送门:

1、点击跳转带KEY防盗链的播放器页面生成工具;

2、点击跳转带KEY防盗链的视频播放地址的校验工具;

3、点击跳转带KEY防盗链的视频播放地址的生成工具;

4、点击跳转Key防盗链功能介绍;

5、点击跳转查看Web播放器播放Key防盗链视频初始化代码。

常见问题

1、原始视频配置试看时间参数后无法播放

案例:将上传后未转码的视频,配置试看时间参数后无法播放。

案例解析:试看对视频的格式有较严格的要求(仅支持 H.264,视频元信息在视频文件的头部等),不符合格式要求的原始视频使用试看功能将产生异常。建议使用云点播转码功能进行转码,对转码后视频设置试看(转码后的格式均符合试看格式要求)。

解决方案:对原始视频进行转码操作。

2、sign的计算方式不一致

案例:通过Web播放器播放Key防盗链视频,但是sing的计算方式是按照Key防盗链文档上计算的,导致视频无法播放。

案例解析:sign为防盗链签名,以32个字符长的十六进制数表示,用于校验防盗链 URL 的合法性。

通过播放器播放Key防盗链视频,sign的计算方式跟防盗链文档的不一致,需要按照播放器文档的操作方式来计算sign,否则后台会校验失败。sign计算方式如:

通过Web播放器播放Key防盗链视频的sign的计算方式:

sign = md5(KEY + appId + fileId + t + exper + us)

Key防盗链文档的sign计算方式:

sign = md5(KEY + Dir + t + exper + rlimit + us)

PS:其中exper为试看参数,如不需要试看功能,直接去掉该参数即可。

解决方案:根据对应的使用环境,选择对应的sign计算方式。

3、加了试看时间后无法播放

案例:以chrome为测试环境,如果Key防盗链试看时间为0可以正常播放,试看时间为具体的数值则无法播放,播放器界面返回code:4,network里面拉取视频的接口返回206状态码,则一般是试看时间导致的无法观看。

案例解析:后台拖拽库问题,需手动改配置。

解决方案:联系在线技术人员或提工单反馈该问题,需腾讯云点播后台人员发配置。

加了试看时间无法播放的页面表现

4、开启试看后播放器仍会显示视频原始时长(在 Chrome 和 Firefox 播放 HLS 格式的试看视频会显示试看时长)。

案例:开启试看后播放器页面显示的不是试看时长,而是视频原始时长。

案例解析:一条完整视频和被截取的试看视频都是属于同一条视频,并且有同一个视频元数据(元数据包含视频时长、宽高等信息),加载试看视频时也会加载视频元数据,所以显示的是视频原始时长。

解决方案:客观逻辑,暂无处理方案。

5、设置的试看时间与实际截取的时间不一致

案例:视频设置的试看时间是30秒,但是页面播放时试看时间只有26秒。

案例解析:试看时间的截取是以关键帧为准的,一条视频大概是每隔几秒有一个关键帧,若设置的试看时间为30秒,而视频在30秒处没有关键帧,则会寻找离30秒处最近的关键帧来截取视频。

解决方案:客观逻辑,暂无处理方案。

6、Key防盗链设置的过期时间过短

案例:一条过期时间为5分钟的视频,刚开始可以播放,播放几分钟或暂停几分钟再播放就无法播放了。

案例解析:这种是设置的视频过期时间到了,视频失效,无法再播放。可点击此处查看视频过期时间。

点击解析即可查看视频过期时间

解决方案:设置视频的过期时长大于视频的播放时长。

7、设置Key的密钥不符合要求

案例:如未按要求设置8 - 20位由字母和数字组成的防盗链Key密钥,其他参数及操作都正确,也会导致视频无法播放。

配置规范的Key防盗链密钥
配置不规范的Key防盗链密钥

案例解析:开启 Key 防盗链时设置的密钥,业务预设的逻辑要求防盗链的Key密钥由8 - 20位字母和数字组成,如不按规则设置,会导致签名计算错误,后台校验不通过,从而不返回视频,无法播放。

解决方案:直接在控制台中单击【生成KEY】来生成。

点击生成随机Key

8、防盗链中t参数的值要以十六进制小写形式表示

案例:t参数的值没有转换成十六进制小写形式表示(如下图),导致视频无法播放。

案例解析:业务预设的逻辑需要转成十六进制的小写形式,如不按规则进行转换,会导致签名计算错误,后台校验不通过,从而不返回视频,无法播放。

未转换成十六进制小写形式的t参数的值
已转换成十六进制小写形式的t参数的值

解决方案:自行通过js代码将t参数转换成十六进制或在线生成,点击此处直接在线生成。

转换代码如下:

var t = 1999999999;//将t转换成了16进制
document.write(t.toString(16));
在线生成的t参数值已转换成十六进制的形式.png

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一场微秒级的同步事故

    导读:诺兰导演作品《星际穿越》里面有这样一个片段,母舰损坏以后,处于高速旋转状态,库珀为了登上母舰,必须使自己的飞船也高速旋转, 与母舰同步成一样的旋转状态,才...

    glumes
  • Pornhub Web 开发者访谈

    无论你对色情内容采取何种立场,都无法否认成人网站行业对推动互联网发展具有巨大影响。从将浏览器的视频限制推送到通过WebSocket推送广告,以便广告拦截器无法检...

    madneal
  • 从零开始仿写一个抖音App——视频编辑SDK开发(一)

    本文首发于微信公众号——世界上有意思的事,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274

    何时夕
  • <video>标签

    Html5知典
  • 仿抖音上下滑动分页视频

    用户4302887
  • 新浪微博:大规模离线视频处理系统的架构设计

    大家好,我是来自新浪微博视频平台和微博平台研发部的架构师霍东海,从2017年加入微博,目前在微博视频平台负责微博视频离线处理系统架构等相关工作,包括大规模离线微...

    LiveVideoStack
  • H5多媒体能力

    ###事件 | 事件 | 描述 | | —- | —- | | abort | 在播放被终止时触发。| | canplay | 在媒体数据已经有足够的数据(至少...

    Tiffany_c4df
  • 教育局互动录播系统解决方案

    为进一步加快学校教育信息化建设步伐,某市教育局根据实际情况对全区中小学课堂进行录播教学的建设,实现全市400多所学校录播教室的互动课堂。

    中云微迅
  • 基于腾讯x5开源库,提高60%开发效率

    用户4302887

扫码关注云+社区

领取腾讯云代金券