我在使用媒体播放器库时遇到HLS播放问题,至少从v0.3.0开始,一直持续到当前版本(v0.5.0)。我知道播放器库处于测试阶段,因此我想知道其他人是否看到了我所看到的内容。
基本上,问题表现在一段时间后,Chromecast设备变得反应迟钝。调试器停止显示任何输出,关闭它并再次尝试访问它会导致超时错误。有时,一段时间后,设备只会崩溃到主屏幕(没有脑风)。
在此之前我尝试查看配置文件和时间表,但我没有看到任何异常的峰值。我确实注意到日志中有一些错误(但它们可能与此无关),如下所示:
An attempt was made to use an object that is not, or is no longer, usable
唯一的"不寻常的"我正在做的事情是我在每个视频timeupdate
事件上广播状态。这不会在正常播放中引起任何此类问题。
答案 0 :(得分:0)
希望您已经解决了这个问题,我为遇到同样问题的人提供了一种解决方法。
我有一个接收器流式传输HLS(正确编码,使用CORS头和AES加密)。我注意到有时Chromecast会因为大段(> 25Mo)而疯狂,因此在追加后一段时会使其(几乎)随机崩溃。
相信我可能会对这个小型设备提出太多要求,有两种解决方案可以降低设备负载:
关于解决方案2,这很有效:
window.host = new cast.player.api.Host({'mediaElement':mediaElement, 'url':url});
window.protocol = cast.player.api.CreateHlsStreamingProtocol( host );
window.host.getQualityLevel = function(streamIndex, qualityLevel){
var lowestQuality = protocol.getStreamInfo()["bitrates"].length-1;
var plusOneQuality = (qualityLevel == lowestQuality)?qualityLevel:qualityLevel+1;
console.log( "original QualityLevel : " + qualityLevel, "returned QualityLevel", plusOneQuality );
return plusOneQuality;
}
我很想得到一些关于此的反馈。是否有人必须使用这样的技巧来阻止HLS HD流崩溃设备?