这篇文档从腾讯云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的计算方式:
代码语言:javascript复制sign = md5(KEY appId fileId t exper us)
Key防盗链文档的sign计算方式:
代码语言:javascript复制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密钥由8 - 20位字母和数字组成,如不按规则设置,会导致签名计算错误,后台校验不通过,从而不返回视频,无法播放。
解决方案:直接在控制台中单击【生成KEY】来生成。
8、防盗链中t参数的值要以十六进制小写形式表示
案例:t参数的值没有转换成十六进制小写形式表示(如下图),导致视频无法播放。
案例解析:业务预设的逻辑需要转成十六进制的小写形式,如不按规则进行转换,会导致签名计算错误,后台校验不通过,从而不返回视频,无法播放。
解决方案:自行通过js代码将t参数转换成十六进制或在线生成,点击此处直接在线生成。
转换代码如下:
代码语言:javascript复制var t = 1999999999;//将t转换成了16进制
document.write(t.toString(16));