【网络通信 -- 直播】SRS 实战记录 -- 基于 RTMP 推流与 WEBRTC 拉流方案画面失真问题

【网络通信 -- 直播】SRS 实战记录 -- 基于 RTMP 推流与 WEBRTC 拉流方案画面失真问题

【1】问题现象描述

基于 SRS 流媒体服务器搭建直播项目,推流使用 RTMP 协议,拉流使用 WebRTC 协议,直播过程中出现画面失真,画面显示如下;

【2】解决过程简记

【2.1】确定视频流中有无 B 帧 -- WebRTC 不支持 B 帧

FFMPEG 拉取 RTMP 流存储为 FLV 文件

ffmpeg -i (RTMP-URL) -f flv (文件路径/flv 文件)

flvAnalyser 分析 FLV 文件

VideoEye 分析

【2.2】确定 UDP 的丢包现象 -- WebRTC 基于 UDP 传输

UDP 测试丢包率

使用工具 : iperf
服务端测试命令
iperf -s -p 41132 -d -u -i 2
参数说明
-s : 以 Server 模式启动
-p : 端口号
-d : 同时进行双向传输测试
-u : 使用 UDP 协议
-i : 以秒为单位显示报告间隔

客户端测试命令
iperf -c 172.16.0.103 -t 30 -i 2 -p 41132 -m -u
参数说明
-c : 服务器端的 IP 地址
-p : 端口号
-u : 使用 UDP 协议
-t : 总的发送时间(单位 : 秒)
-i : 以秒为单位显示报告间隔
-m : 显示 TCP 最大 MTU 值

测试结果分析

客户端测试结果

测试结果显示,从左到右依次为 : 线程 ID,时间,传输数据,带宽

服务端测试结果

测试结果显示,从左到右依次为 : 线程 ID,时间,接收数据大小,带宽,时延,丢包/总包,丢包率;

参考与致谢

本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。

【1】使用iperf 检测UDP丢包情况

【2】记一次UDP丢包严重的坑,通过iperf3测试,以及iperf3的程序下载和使用

【3】用iperf测udp

【4】flvAnalyser 0.0.2.004 工具使用说明书

【5】VideoEye -- 我的开源视音频项目汇总

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值