Pentru a urmări un flux SRT, verifică conexiunea și media
Folosește un player nativ când trebuie să vezi chiar fluxul de contribuție. Folosește redarea în browser numai după ce fluxul a fost transformat într-o ieșire compatibilă cu browserul. În ambele situații, o conexiune SRT reușită și o imagine redabilă sunt rezultate separate: modul, gazda, portul UDP, latența, Stream ID și fraza de parolă deschid sesiunea; containerul, pistele, marcajele de timp și codecurile decid dacă aceasta poate fi decodată.
Dacă sarcina este să creezi, să protejezi sau să operezi punctul de recepție, mergi la Callaba SRT Server. Acest ghid pornește de la receptor.
Demo player SRT live
Testați o conexiune de player SRT
Creați o conexiune temporară pentru o oră. Trimiteți un flux SRT la adresa publicatorului în modul Caller, lăsând Stream ID-ul gol. După conectarea publicatorului, urmăriți-l în Multiview mai jos sau conectați un player nativ la adresa receptorului în modul Caller.
Alege playerul potrivit pentru sarcină
ffplay este o verificare rapidă din linia de comandă atunci când versiunea FFmpeg instalată include SRT. OBS Media Source este utilă când vrei o previzualizare grafică și poți seta detaliile intrării SRT. VLC poate fi util pentru o vizualizare locală atunci când versiunea instalată acceptă modul SRT necesar; verifică documentația actuală a aplicației și testează versiunea exactă. Niciuna dintre aceste alegeri nu poate face decodabil un payload necunoscut.
Demonstrația de mai sus creează o pereche SRT Callaba pentru o oră. După conectarea unui publicator de intrare, aceasta creează o previzualizare Multiview. Folosește valorile furnizate pentru a testa perechea și a inspecta imaginea și sunetul rezultate. Este o cale Callaba reală, temporară, nu un player pentru URL-uri SRT externe arbitrare.
Încearcă mai întâi ffplay
Pentru un receptor care apelează un listener cunoscut, înlocuiește substituenții cu un punct final pe care ai voie să îl folosești:
ffplay "srt://LISTENER_HOST:PORT?mode=caller"
Pentru un receptor care așteaptă un apelant:
ffplay "srt://0.0.0.0:PORT?mode=listener"
Nu lipi o frază de parolă în tichete, chat sau într-un istoric de shell pe care nu îl controlezi. FFmpeg documentează opțiunile URL SRT; OBS documentează fluxul de lucru pentru intrarea SRT.
Potrivește Caller și Listener înainte să modifici setările playerului
Aranjamentul obișnuit este simplu: un Listener așteaptă pe un port UDP, iar un Caller se conectează la adresa accesibilă a acestuia. Notează ambele roluri, verifică gazda și portul din rețeaua expeditorului, apoi pornește playerul. Doi listeneri așteaptă; un Caller orientat către o adresă inaccesibilă nu va fi reparat de o setare de codec. Rendezvous este o configurație separată, pe care ambele puncte finale trebuie să o accepte.
Când criptarea este activată, folosește aceeași frază de parolă și setări de cheie compatibile la ambele capete. Dacă un serviciu utilizează un Stream ID pentru a selecta un flux, păstrează-i sintaxa și escape-ul. Tratează-le pe ambele ca date de conexiune: nu include secrete în capturi de ecran și rapoarte și compară o sesiune respinsă cu jurnalele disponibile ale punctului final.
Setează latența pentru recuperare, nu pentru aspect
Latența SRT oferă pachetelor întârziate și retransmisiilor timp să ajungă. Nu reprezintă întreaga întârziere de la sticlă la sticlă; codarea, bufferele decodorului, împachetarea și bufferele spectatorului adaugă propriile întârzieri. Începe cu traseul măsurat, apoi compară condițiile curate și degradate în timp ce urmărești pierderile, retransmisiile, abandonurile și continuitatea decodării.
În URL-urile SRT de tip FFmpeg, latency=200000 înseamnă 200 ms, deoarece valoarea este în microsecunde. Este doar un exemplu. Înregistrează valoarea efectivă la ambele capete și ajusteaz-o pentru traseul real de contribuție.
Inspectează fluxul când se conectează, dar nu redă
SRT transportă pachete, nu o promisiune privind codecul video, codecul audio sau containerul. MPEG-TS este frecvent pentru contribuție, dar are în continuare nevoie de informații de program valide, marcaje de timp și fluxuri pe care playerul ales le poate decoda. Analizează același punct final înainte să modifici din nou latența:
ffprobe -v error -show_format -show_streams "srt://LISTENER_HOST:PORT?mode=caller"
Uită-te la container, codecurile video și audio, profiluri, piste și marcaje de timp. Compară aceste informații cu suportul documentat al playerului.
Dacă bitrate-ul este prezent, dar ecranul rămâne negru
| Ce observi | Ce verifici în continuare |
|---|---|
| Fără conexiune | Rolurile, gazda accesibilă, portul UDP, firewall-ul și datele de acces. |
| Conectat, fără imagine sau sunet | Rulează analiza; verifică informațiile de program, codecurile, pistele și marcajele de timp. |
| Imaginea se întrerupe la pierderi | Compară măsurătorile traseului și latența de recuperare înainte să modifici playerul. |
Această separare împiedică o problemă de payload să devină o succesiune nesfârșită de schimbări ale conexiunii.
Folosește SRT nativ pentru contribuție; folosește o ieșire pentru browser pentru spectatori
Elementele media standard din browser nu deschid nativ un URL srt://. Primește mai întâi contribuția, apoi publică o ieșire compatibilă cu browserul și testeaz-o pe dispozitivul și rețeaua care o vor vizualiza. Folosește Multiview pentru o vizualizare comună de încredere a operatorului și Web Player pentru livrare în browser.
Păstrează o verificare scurtă a receptorului
- Înregistrează rolurile punctelor finale, gazda, portul, latența, politica Stream ID și starea criptării.
- Confirmă că rețeaua reală a expeditorului poate ajunge la receptor.
- Verifică transportul în timpul unui interval curat și în condiția degradată relevantă pentru eveniment.
- Confirmă imaginea decodată și sunetul de program pe playerul destinat.
- Repornește o parte într-un test planificat și verifică din nou suprafața finală a operatorului sau spectatorului.
Pentru detalii despre protocol, consultă documentația SRT live-transmit și ghidul Callaba pentru protocolul SRT.
Întrebări frecvente despre playerul SRT
Poate un browser reda direct un URL SRT?
Nu prin elementul media HTML standard. Primește mai întâi SRT și publică o ieșire compatibilă cu browserul.
De ce o conexiune SRT poate afișa bitrate fără video?
Sesiunea poate funcționa în timp ce playerul nu poate decoda containerul, pistele, marcajele de timp sau profilul codec.
Ar trebui ca playerul să folosească modul Caller sau Listener?
Folosește rolul care completează partenerul convenit și accesibilitatea lui în rețea.
O latență SRT mai mare rezolvă întotdeauna pierderea pachetelor?
Nu. Oferă retransmisiilor mai mult timp, dar nu poate deschide UDP blocat, repara o pierdere susținută de capacitate sau decoda un payload neacceptat.