问题来了: 收到用户反馈观看直播卡顿
推流端(发布端)---自建流媒体/CDN---拉流端(观看端)
出现卡顿,三个端都有出问题的可能
画面明显感觉到不流畅,偶尔一个画面卡住1~3秒或卡住一会才会继续播放
网络质量(上行带宽)
硬件性能
网络质量(上下行带宽)
硬件性能
网络质量(下行带宽)
硬件性能
因为无法远程发布端电脑,所以我先从服务器开始排查的。
首先登陆直播服务器,查看系统硬件资源使用情况
cpu: top
内存: free -h
带宽: dstat
磁盘io: iotop, iostat
CPU,内存使用率不高,磁盘io也没有出现排队,出入带宽也不大,在10Mb左右
排除服务器硬件性能问题
准备一台测试服务器,安装好iperf
①. 流媒体服务器当server,测试服务器当client
②. 流媒体当client,测试服务器当server
上下行带宽在100Mb以上
wget下载一个大的文件,查看下载速度
每秒在6~8MB/s
iperf -s -p 1935
iperf -c ip -p 1935
排除服务器网络不足问题
查看流媒体当前最新的一条流id,用vlc播放,发现卡顿严重
发现下载带宽在20-30 Mb左右,满足观看直播所需要的带宽
排除观看端网络不足问题
排除服务器网络不足问题
fmpeg -re -i 02.flv -vcodec copy -acodec copy -f flv -y rtmp://ip:1935/live/789
用以上两种方式推流时,用vlc测试播放,发现有卡顿现象,再次确认跟网络,硬件性能无关
再次查看日志的时候,发现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