1.SRT协议
SRT是一种用于流媒体传输的开源协议。由Haivision和Wowza共同创建的SRT联盟发起。SRT代表“安全可靠传输”,旨在提供低延迟、高可靠性和安全性的视频流传输。该协议使用UDP协议进行传输,能够成功实现普通互联网环境下、多地之间、高清视频传输与分发,并通过加密和错误校验来保护数据的安全性和完整性。同时,SRT协议还提供了多种功能,例如流量控制、拥塞控制和动态调整码率等,以确保视频流的稳定传输。SRT协议能够同时在不同制造商的产品之间工作,已被广泛应用于直播、远程制作、远程教学和远程医疗等领域。
2.弱网测试
为了测试SRT协议的稳定流畅度,可以通过修改带宽、丢包、抖动参数来进行模拟弱网场景进行测试。方法如下:
- 推流
- 使用obs推流工具
- 文件->设置->直播->服务器 添加推流地址:srt://127.0.0.1:9000?streamid=#!::r=live/test,m=publish
- 添加来源->媒体源
- 开始直播
- 拉流
- 使用vlc播放器
- 偏好设置->串流输出->访问输出->SRT中设置streamid,例如#!::r=live/test
- 网络拉流url中 填入srt://127.0.0.1:9000
- 模拟弱网环境.
可以综合以下工具进行模拟,同样适用于Webrtc弱网测试。
-
- Linux Traffic Control(TC),其参数丰富,可以控制更多细节,能模拟出多种不同的网络情况,基本命令如下:
-
-
- #丢包命令:
-
sudo tc qdisc add dev ens33 root netem loss 5%
-
-
- #列出已设置的丢包:
-
tc -s qdisc ls dev ens33
-
-
- #删除设置
-
tc qdisc del dev ens33 root
-
- Wondershaper限速工具,其本质是对linux的tc命令进行封装后的shell脚本,使用成本比tc更低,更容易上手,基本命令如下:
-
-
- #限制上传带宽为10M
-
wondershaper -a ens33 -u 10240
-
-
- #限制下载带宽为10M
-
wondershaper -a ens33 -d 10240
-
-
- #限制上传和上传均10M
-
wondershaper -a ens33 -d 10240 -u 10240
-
-
- #清除网卡限速规则
-
wondershaper -c -a ens33