秒开:
- dns解析优化,提前做dns解析以及测速选线,选择最优线路
- cdn鉴权相关后处理,先返回流,再鉴权
- mp4视频来说,编码上传的mp4视频,moov解码box一般在尾部,这种情况,播放器为了获取解码信息,需要下载更多的数据,因此,为了起播,需要服务端做处理,将moov移到视频头部。
- avformat_find_stream最耗时,根据流信息做优化,可以将要求下载的bufsize设置的小一些;或者直接设置解码信息,设置mp4格式,配置时去掉其他格式。
- 不做音视频同步,直接将解码出的第一帧视频渲染
- 正常情况下,送给解码器多帧,才会输出第一个解码出的视频帧,因此我们可想办法让第一帧快速出来。如连续送两帧关键帧。
- 起播时,使用低码率;起播后,转换为高码率,一般播放器设置buffer,第一帧特殊处理,直接送去解码器,快速解码。
- 预加载
- 转码为265
卡顿:
主要从三个方面考虑:
1.主播端网络不好,导致推流上行不稳定
2.服务端线路质量不好,导致分发不稳定
3.观众端网络不好,导致拉流下行不稳定。
主播端检查方法:
- 探测主播端上行速率,如果小于主播推流码率,则必定卡顿。
- 实时统计主播推流帧率,如果推流帧率小于预设的值,比如预设20帧,
实时统计为5帧,则明显是网络带宽不足导致的。 - CDN厂商后台给出的帧率、推流码率情况。
CDN分发端:
如主播端和观众端测速都无问题,则可能是CDN出现问题,可向厂家反映,由厂家根据网络流量、各节点的连接、负载状况
及到用户的相应时间等综合信息,实时的将用户的请求调度到最佳服务节点上。
播放端打点秒开、卡顿率等信息,提供给CDN厂商进行调整和优化。
优化出最优链路。
观众端:
- 观众端可测速下行网速,与主播端推流码率比较,如果低于推流码率,则必然卡顿,可
切换为其他更优网络播放。 - ping播放域名,丢包情况,一般好的网络,丢包率为0%
- 增大缓存中,减少网络抖动产生的卡顿
- 如果有多码率可切换,卡顿时切换到较低码率播放。
- 还有可能是手机解码性能不足,导致的卡顿,尽量使用硬解码解决。
网友评论