在播放我們自己的一些受 DASH+widevine 保護(hù)的直播流時(shí),在 Askey Android 電視盒 (Android 9) 上,視頻幾秒鐘后就會(huì)凍結(jié),而音頻仍在繼續(xù)。我還看到視頻塊仍在獲取中。到目前為止,我們使用的所有其他 Android 設(shè)備上都可以成功播放相同的流。在嘗試了幾個(gè) ExoPlayer 版本(v2.7.3、v2.9.x)之后,我將播放代碼集成到了 github 上的 ExoPlayer 演示播放器(v2.10.5)中。這里會(huì)出現(xiàn)同樣的問(wèn)題:視頻凍結(jié),音頻繼續(xù)。由于其他直播流在 Askey AndroidTV 盒子上運(yùn)行沒(méi)有問(wèn)題,因此結(jié)論可能是該流的配置以某種方式觸發(fā)了此問(wèn)題。但是流配置對(duì)于工作/失敗的流來(lái)說(shuō)是相同的,并且播放器日志沒(méi)有顯示任何關(guān)于為什么會(huì)發(fā)生這種情況的線索。除了這個(gè)經(jīng)常出現(xiàn)的錯(cuò)誤之外,當(dāng)玩家不活躍時(shí)也是如此:E libc : Access denied finding property "persist.vaudio.debug.search"W HwBinder:3034_1: type=1400 audit(0.0:285045): avc: denied { read } for name="u:object_r:default_prop:s0" dev="tmpfs" ino=13267 scontext=u:r:hal_audio_default:s0 tcontext=u:object_r:default_prop:s0 tclass=file permissive=0以下是視頻凍結(jié)的播放日志。凍結(jié)發(fā)生在時(shí)間線更改的時(shí)間戳 4.34 之后。該流有 4 個(gè)視頻軌道:400x224,0.40 Mbps600x360,0.80 Mbps704x396,1.10 Mbps1024x576,1.60 Mbps除了 0.40Mpbs 之外,所有軌道都會(huì)出現(xiàn)凍結(jié)問(wèn)題。視頻在這里繼續(xù),但非常斷斷續(xù)續(xù)。在這種情況下,日志顯示幀被丟棄:D/EventLogger: state [773.80, -4.02, window=0, period=0, true, READY]D/EventLogger: timelineChanged [775.48, -4.45, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC period [?]D/EventLogger: window [29.99, true, true] ]D/EventLogger: droppedFrames [776.74, -3.19, window=0, period=0, 50]D/EventLogger: timelineChanged [777.49, -4.45, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC period [?] window [29.99, true, true] ]D/EventLogger: timelineChanged [779.49, -4.46, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC period [?]D/EventLogger: window [29.98, true, true] ]D/EventLogger: droppedFrames [779.90, -4.03, window=0, period=0, 50]D/EventLogger: timelineChanged [781.48, -4.47, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMICD/EventLogger: period [?] window [29.98, true, true] ]那么我應(yīng)該如何繼續(xù)調(diào)查這個(gè)問(wèn)題呢?
Askey Android 電視盒上的 ExoPlayer 直播凍結(jié),音頻繼續(xù)
寶慕林4294392
2023-11-01 21:04:19