问题描述
视频直播生成推流地址并推流成功后,无法播放视频。
解决方案
请参见以下步骤进行排查:
- 确认推流正常:
登录视频直播控制台,单击流管理,选择目标域名,确认可以查询到在线流的信息,说明推流正常。如果无法查询到在线流的信息,说明推流异常,您可以参见视频直播推流时出现异常,进行排查。 - 打开浏览器,单击F12键,打开开发者工具,播放直播视频,切换到Network标签页,单击所请求的视频地址,在Headers标签页的Response Header中查看是否有X-Tengine-Error信息,在Request Header中是否有Referer头。
-
若存在以下信息,说明是鉴权相关的问题,您可以参见配置URL鉴权,调整您的鉴权配置。
- 出现以下信息,说明开启了鉴权,但是没有使用鉴权地址进行播放。
X-Tengine-Error: denied by req auth: no url arg auth_key
- 出现以下信息,说明开启了鉴权,但是auth_key过期导致播放失败。
X-Tengine-Error: denied by req auth: expired timestamp
- 出现以下信息,说明鉴权计算错误。如果鉴权的MD5计算不正确,建议先登录视频直播控制台,选择工具箱>地址生成器,生成URL后对比自己的鉴权代码,或者参见鉴权示例代码。
X-Tengine-Error: denied by req auth: invalid md5hash
- 出现以下信息,说明开启了鉴权,但是没有使用鉴权地址进行播放。
- 若存在以下信息,说明是防盗链相关的问题,将Referer的值添加到防盗链白名单即可,或者勾选允许通过浏览器地址栏直接访问资源URL进行临时的测试。如何添加域名,请参见防盗链。
X-Tengine-Error: deniedby Referer ACL
-
- 切换到Console标签页,查看是否存在”No ‘Access-Control-Allow-Origin’header“的报错,该报错就是跨域的问题。
登录视频直播控制台,单击域名管理,在域名管理页面单击目标播流域名,然后单击HTTP头配置,找到Access-Control-Allow-Origin,并配置为*
或需要访问的完整域名。详细操作请参见配置HTTP消息头。 - 检查播放地址是否正确:
- 确认您的播流域名没有配置证书,在阿里云视频直播控制台预览时默认是使用HTTPS协议播放,如果没有配置证书会播放失败,如何配置HTTPS证书请参见配置HTTPS安全加速。
- 您需要确认您的播放地址是否正确,AppName和StreamName要和推流地址一致。若您使用了URL鉴权功能,则需要使用鉴权URL来播放视频。您可以通过控制台快速获取播放地址进行确认,详情请参见如何获取播放地址。
- 确认您的播流域名没有配置证书,在阿里云视频直播控制台预览时默认是使用HTTPS协议播放,如果没有配置证书会播放失败,如何配置HTTPS证书请参见配置HTTPS安全加速。
- 格式编码问题:
视频直播支持MP4、m3u8、flv视频格式和mp3音频格式,支持H264视频编码和AAC音频编码,其他格式的音视频可能会导致播放失败。 - 本地网络问题:
请检查您本地播放端的网络是否有问题,可以尝试在其他网络环境中测试是否可以正常播放。 - 通过以上步骤排查后,若问题仍然存在,您可以尝试通过视频直播控制台的地址生成器生成的推流地址进行测试。
相关文档
适用于
- 视频直播