文档首页/ 视频直播 Live/ 故障排除/ 直播播放时出现卡顿
更新时间:2024-05-07 GMT+08:00

直播播放时出现卡顿

问题描述

直播推流成功后,在播放端播放直播视频时出现卡顿现象。直播的整个主流程涉及推流端、播放端和直播源站(CDN),因此每个阶段都可能会有因素导致视频播放卡顿,如图1所示。建议您参照如下方法初步排查直播视频卡顿的原因。

图1 直播主流程图

检查推流端

视频播放时出现卡顿,有一部分原因是由于直播推流时出现了卡顿影响了片源质量。其中,设备的配置、视频采集参数的设置、网络环境等因素都可能导致推流端出现卡顿。当推流端出现卡顿时,您可以参照如下几方面逐一排查问题。
  • 设备配置

    推流过程中会占用一定比例的CPU,硬件配置较差的低端设备,在推流过程中若整体CPU使用率超过80%以上,画面会出现不同程度的卡顿,花屏等现象,会影响到视频的采集,导致片源质量下降影响用户端的观看。您可以通过更换设备配置、系统版本等较高的设备,以保障推流端设备的稳定性尽量避免可能导致卡顿的因素产生。

  • 推流开发工具配置

    由于编码端设置的码率、帧率以及编码档位过高,且受硬件条件限制,会导致编码速度变慢,无法达到流畅播放的帧率要求。因此对于推流设备的使用,iOS版的移动端建议您使用硬编码,因为iOS系统和硬件设备统一性高,而且省电。而Android版的移动端因为机型复杂,CPU类型众多,支持程度不一,推荐4.3及以上版本使用硬编码。

  • 视频采集参数配置

    一般情况下,为保障视频的流畅度帧率会设置在每秒15帧以上,如果帧率低于每秒10帧,画面就会出现较明显的卡顿,如无特殊情况,尽量将视频帧率设置在每秒15-30帧之间。帧率超过每秒30帧后,人眼就无法识别出画面的效果,且帧率增加后视频传输的带宽成本也会上升,建议您合理设置视频的采集参数。

  • 网络带宽大小

    使用在线带宽测试检查推流端的上行网络带宽情况 ,一般建议上行带宽最好稳定在10M以上。

  • 系统资源占用

    检查后台是否运行了大量的程序,建议删除和停止正在运行的程序,空出资源。

检查播放端

  • 大部分播放器都有接收缓存的,缓存收满后,才进行解码显示,这部分接收缓存的大小也会影响播放的卡顿情况,建议通过调整接收缓存的大小,减少卡顿影响。
  • 如果播放设备使用的是硬编码,在网络环境较差的情况下,为减少卡顿影响,可以实时改变硬编码率,即降低码率,进行丢帧处理,在丢帧的同时也可降低音频的码率。
  • 使用在线带宽测试检查播放端下行网络带宽情况,若播放端的带宽不够或发生抖动,会导致播放画面出现卡顿。同时,检查是否有下载数据占用网络带宽,建议在同一网络环境下,不要有大量的带宽占用行为出现,比如下载等。
  • 若您使用第三方工具OBS推流,请您参照以下步骤设置参数。
    1. 选择“输出 > 高级”。
    2. 将“关键帧间隔(秒,0=自动)”设置为“2”。
      图2 OBS推流延时设置

检查直播源站或直播CDN

若推流端和播放端的排查结果均正常,请检查源站和加速区域的设置是否正确,详情请参考如何选择直播源站和加速区域?

若检查结果均正常,请提交工单联系技术客服排查直播源站或直播CDN是否存在问题。

提交工单时,需附上如下信息:

  • 问题发生时间。
  • 故障现象,并提供访问异常或慢的URL地址、直播推流或拉流地址。
  • 故障节点信息,并提供Ping域名的返回结果图。
  • 用户出口IP和出口DNS,示例如:http://dns-detect-portal.n.cdnhwc5.cn/?domain=xx.xx.xx。并提供相应的访问截图。