一次直播卡顿问题排查处理记录

问题来了: 收到用户反馈观看直播卡顿

一、直播数据流

推流端(发布端)---自建流媒体/CDN---拉流端(观看端)
出现卡顿,三个端都有出问题的可能

二、卡顿现象:

画面明显感觉到不流畅,偶尔一个画面卡住1~3秒或卡住一会才会继续播放

三、排查思路:

推流端(发布端)

网络质量(上行带宽)
硬件性能

自建流媒体/CDN

网络质量(上下行带宽)
硬件性能

拉流端(观看端)

网络质量(下行带宽)
硬件性能

模拟推拉流测试

四、排查过程:

因为无法远程发布端电脑,所以我先从服务器开始排查的。

1. 排查服务器端

1.1 服务器硬件性能

首先登陆直播服务器,查看系统硬件资源使用情况
cpu:  top
内存: free -h
带宽:  dstat
磁盘io: iotop, iostat
CPU,内存使用率不高,磁盘io也没有出现排队,出入带宽也不大,在10Mb左右

排除服务器硬件性能问题

1.2 服务器网络

1.2.1 iperf测试
准备一台测试服务器,安装好iperf
①. 流媒体服务器当server,测试服务器当client
②. 流媒体当client,测试服务器当server
上下行带宽在100Mb以上
1.2.2 wget
wget下载一个大的文件,查看下载速度
每秒在6~8MB/s
1.2.3 停掉流媒体程序,iperf监听在流媒体端口,排除端口限速
iperf -s -p 1935
iperf -c ip -p 1935

排除服务器网络不足问题

2. 排查播放端

2.1 用vlc播放流地址,查看卡顿现象

查看流媒体当前最新的一条流id,用vlc播放,发现卡顿严重

2.2 www.speedtest.cn测试带宽

发现下载带宽在20-30 Mb左右,满足观看直播所需要的带宽

排除观看端网络不足问题

2.3 查看CPU,内存使用率,不高

排除服务器网络不足问题

3. 模拟推拉流测试

3.1 使用ffmpeg推流

fmpeg -re -i 02.flv -vcodec copy -acodec copy -f flv -y rtmp://ip:1935/live/789

3.2 OBS推流

用以上两种方式推流时,用vlc测试播放,发现有卡顿现象,再次确认跟网络,硬件性能无关

再次查看流媒体日志(看日志不仔细,第一次看日志只关注了ERROR相关,漏掉了其他信息)

再次查看日志的时候,发现status: data not enough, fps: need(32,30) recv(10,11), rate:3775, speed:980错误,收到的数据不足
查看流媒体服务版本,是老版本,进行升级
升级完程序版本后,再进行测试推拉流,发现观看流畅,没有明显卡顿。
日志中也没有看到data not enough错误

参考链接
https://www.cnblogs.com/qiniu/p/6773045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值