
一. 播放链路图
播放链路涉及网络错综复杂,我们看到如图所示的简单链路图,推流->云端->播放。
二. 常发生的那些事
1.云端问题
- 转码问题
SOC节点转码错误,导致某些流的PTS的处理有误,从而音视频的PTS相差很大,导致卡顿黑屏等现象。
-
高负载导致机器无响应
比如:
看超时反馈的大部分江西的用户, 麻烦优先扩容支持下,另外我们最近晚高峰赛事挺多的,也要优先保证下。 -
运营商多出口
这里一般是小运营商和三大运营商之间有限速,可以让用户自行报障给运营商解决
2.本地播放问题
1. 网络
可以用本地->HTTPDNS->配置移动域名商解析的方式去挨个去配置,减少黑屏的问题
2. HLS
- disconmunity的流的不连续问题没有处理好
- pts到了极限值为进行合理的处理
3. 音画同步
丢包以及duration问题没有处理好
4. jitterbuffer
需要考虑去兼容云端的PTS逻辑去进行重启,不然很可能出现用户播放着就突然卡了,永久转菊花。此时如果加上重启逻辑,美滋滋。
5. 渲染的卡死
这里需要参照苹果的官方文档去处理,搜索opengl去看文档就行,里面很明白的说了退出后台的处理方式。
其次排查一次是否是软解还是硬解
6. 多线程问题
这里太过复杂