Condivisione della tecnologia

Registrazione dei problemi di larghezza di banda dello streaming intranet di trasmissione in diretta SRS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Contesto del problema

SRS-SDistribuito su un server cloud, CPU a 32 core, memoria 64G, larghezza di banda 300M.
Il client estrae il flusso da srs e rileva che il client di rete esterno estrae il flusso.processore e la larghezza di banda sono normali. Tuttavia, se il client intranet estrae lo streaming e il numero di persone che eseguono lo streaming supera le 5, la larghezza di banda aumenterà alle stelle.
Inserisci qui la descrizione dell'immagine

Risoluzione dei problemi

Utilizza srs-bench per eseguire stress test SRS, streaming SRS del lettore vlc e streaming SRS del client

Spingi lo streaming

Per inviare lo streaming, seleziona ffmpeg per inviare lo streaming.

ffmpeg -re -i C:UserswDesktoptest.mp4 -vcodec copy -acodec copy -f flv -y rtmp://27.128.236.38/live/livestream
  • 1

A.srs-panchina pull flow

./objs/srs_bench -sr webrtc://27.128.236.38/live/livestream -nn 10
  • 1

Articoli di riferimento per la compilazione e la distribuzione di srs-bench:Test da sforzo SRS – Banco SRS

Flusso di pull B.vlc

媒体->打开网络串流
输入url:https://ip:8088/live/livestream.flv
  • 1
  • 2

Condotti stress test srs-bench, client e vlc rispettivamente a Xi'an, Nanchino e Pechino
I verbali delle prove sono i seguenti:

ambiente1 persona5 persone6 persone10 persone30 persone
Segmento A della rete dello stress test del server Xi'annormalenormaleanormaleanormaleanormale
Segmento B della rete dello stress test del server Xi'annormalenormalenormaleinstabileinstabile
Xi'an vero clientenormalenormalenormaleanormaleanormale
Test di pressione del cliente Xi'annormalenormalenormaleanormaleanormale
Server di Nanchinonormalenormalenormalenormalenormale
Vero cliente di Nanchinonormalenormalenormalenormale/
Test di pressione del cliente di Nanchinonormalenormalenormalenormale/
Server di Pechinonormalenormaleanormaleanormaleanormale
Vero cliente di Pechinonormalenormalenormalenormale/
Prova di pressione della rete esternanormalenormalenormalenormalenormale
prova di pressione vlcnormalenormalenormalenormale/

Risultati della convalida

Test di stress dell'ambiente di rete esterno, la larghezza di banda è normale, la CPU è normale
Test di stress dell'ambiente Intranet, se sono presenti più di 5 persone, la larghezza di banda aumenterà fino a 10 volte

Confronto sull'acquisizione di pacchetti

Inserisci qui la descrizione dell'immagine

analizzare

Il tasso di ritardo in ambienti anomali è superiore a quello degli ambienti normali e si verificano perdita e ritrasmissione dei pacchetti.

Controlla il sito ufficiale dell'SRSsito ufficiale dell'SRS
Protocollo core: configurazione della parte webrtc di config in webrtc

La prima parte, rtc_server, è la configurazione globale del server RTC. Alcune configurazioni chiave includono:

enabled:是否开启RTC服务器,默认是off。
listen:侦听的RTC端口,注意是UDP协议。
candidate:服务器提供服务的IP地址,由于RTC的特殊性,必须配置这个地址。详细参考Config: Candidate
tcp.listen: 使用TCP传输WebRTC媒体数据,侦听的TCP端口。详细参考WebRTC over TCP
  • 1
  • 2
  • 3
  • 4

La seconda parte, configurazione RTC in ciascun vhost, alcune configurazioni chiave includono:

rtc.enabled:是否开启RTC能力,默认是off。
rtc.rtmp_to_rtc:是否开启RTMP转RTC。
rtc.rtc_to_rtmp:是否开启RTC转RTMP。
rtc.stun_timeout:会话超时时间,单位秒。
rtc.nack:是否开启NACK的支持,即丢包重传,默认on。
rtc.twcc:是否开启TWCC的支持,即拥塞控制的反馈机制,默认on。
rtc.dtls_role:DTLS角色,active就是DTLS Client(主动发起),passive是DTLS Server(被动接受)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Si è riscontrato che la configurazione rtc.nack è attiva per impostazione predefinita, il che significa che se SRS rileva una perdita di pacchetti, ritrasmetterà continuamente i dati.

Insomma

Dopo aver esaminato l'ambiente Intranet dell'azienda, abbiamo scoperto che l'ambiente Intranet presenta limitazioni di larghezza di banda. Quando la larghezza di banda di streaming del client supera una determinata dimensione, lo streaming viene limitato.
In questo momento, SRS considera la rete anomala e i pacchetti vengono persi e ritrasmessi, quindi la larghezza di banda continua ad aumentare.

risolvere

Opzione 1: allentare le restrizioni sulla larghezza di banda nell'ambiente Intranet

Vantaggi: Garantire la stabilità dello streaming live
Svantaggi: le aziende non possono monitorare la larghezza di banda del cliente, aumentando i costi

Scenario 2:

Vantaggi: in circostanze normali sulle reti interne ed esterne, lo streaming live è normale e il consumo di larghezza di banda è ridotto.
Difetto: anomalia della rete, SRS non ritrasmette i pacchetti persi e potrebbero verificarsi problemi come mosaici e ritardi.