2014-04-24 38 views
0

我至少從v0.3.0開始使用媒體播放器庫進行HLS播放,直到當前版本(v0.5.0)出現問題。我知道玩家圖書館是在測試版,所以我想知道如果別人看到我看到的。Chromecast上的HLS播放性能和穩定性

基本上,問題表現爲一段時間後,Chromecast設備變得無響應。調試器停止顯示任何輸出,關閉它並嘗試再次訪問它會導致超時錯誤。有時候,一段時間後,設備會崩潰到主屏幕(無腦凍結)。

我試着在發生這種情況之前查看配置文件和時間表,但沒有看到任何異常尖峯。我也注意到在日誌中的一些錯誤(但可能是無關的這一點),說是這樣的:

An attempt was made to use an object that is not, or is no longer, usable 

唯一的「不尋常」的事情我做的是,我在每個視頻timeupdate事件廣播的狀態。儘管如此,這在正常播放中不會導致任何此類問題。

+0

有多長「一段時間」?你可以用任何日誌和複製的步驟問題追蹤器一起發佈樣品流:https://code.google.com/p/google-cast-sdk/issues/list –

+0

比方說,量級爲分鐘。我還需要收集一些數據,並嘗試更精確地分離的再現步驟。在那之前,我想知道是否有人經歷過類似的事情。 – alh84001

回答

0

希望你已經解決了這個問題,我提出了一個解決方案,爲有同樣問題的人。

我有一個接收器流式HLS(正確編碼,使用CORS頭和AES加密)。我注意到,有時候Chromecast會隨着巨大的細分市場(大於25Mo)而瘋狂地將其追加到後面的細分市場,從而隨機(幾乎)隨機崩潰。

相信我大概問過這種小型設備的,有兩種解決方案,以降低裝置負荷:

  1. 禁用AES加密(並不總是可以接受的)
  2. 減小段質量

關於解決方案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流媒體高清崩潰的設備?