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