一些客户在现场活动期间遇到了此错误,一些客户刷新了页面并恢复了。我们查看了上游 CDN/打包服务,没有发现任何错误。什么可能导致此错误?
VIDEOJS:,WARN:,Segment with index 9 from playlist 0-index_131.m3u8 has a duration of
95449.7176888889 when the reported duration is 6 and the target duration is 6. For HLS
content, a duration in excess of the target duration may result in playback issues. See
the HLS specification section on EXT-X-TARGETDURATION for more details:
https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.3.1
在 VideoJS open issues 页面上有一些对此错误的参考。我无法重现该错误。
查看代码,
duration
是从audioTimingInfo: segmentInfo.audioTimingInfo, videoTimingInfo: segmentInfo.videoTimingInfo
检索的,这是否意味着编码器发送了不正确的计时信息?
播放器版本:7.20.3
您从 Video.js 看到的警告表明 HLS(HTTP 实时流媒体)播放列表中视频片段的报告持续时间与播放列表中指定的目标持续时间之间存在差异。这种差异可能会导致播放问题,这是需要解决的关键点,尤其是在现场活动期间。
您可以采取一些步骤来调查并可能解决此问题:
1。查看 HLS 播放列表:
检查HLS播放列表文件(在本例中为index_131.m3u8)以查看报告的视频片段持续时间是否存在任何异常。您可以使用文本编辑器打开播放列表并检查每个片段的 EXTINF 标签。
2。验证编码器设置:
正如您所提到的,持续时间是从audioTimingInfo和videoTimingInfo中检索的。与您的编码系统或服务提供商确认他们在 HLS 流中提供准确且一致的计时信息。
3.更新编码器或 CDN 配置:
如果您发现编码器确实发送了不正确的计时信息,请与您的编码服务或 CDN 合作解决该问题。这可能涉及调整配置、更新编码软件或寻求服务提供商的支持。
4。检查服务器端错误:
检查服务器日志和错误消息,以确保服务器端不存在可能影响 HLS 流生成的问题。
5。播放器兼容性:
确保您使用的 Video.js 版本与 HLS 流兼容,并且您已应用任何必要的更新或补丁。
6。浏览器兼容性:
检查问题是否特定于浏览器。不同的浏览器可能以不同的方式处理 HLS 流。确保您使用的浏览器与您正在使用的 Video.js 版本兼容。
7。不同环境下的测试:
尝试在本地和不同网络的不同环境中重现该问题,以排除现场活动期间任何与网络相关的问题。
8。查阅 Video.js 文档和社区:
查看 Video.js 文档,了解与 HLS 流和持续时间差异相关的任何已知问题。此外,请查看相关论坛或社区,了解类似问题和潜在解决方案的讨论。
如果问题仍然存在并且您无法在本地重现它,请考虑联系 Video.js 支持或更广泛的社区寻求帮助。他们也许能够根据解决类似问题的经验提供见解或推荐具体的故障排除步骤。