FMUSER Wirless Trasmetti video e audio più facilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanese
ar.fmuser.org -> Arabo
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaigiano
eu.fmuser.org -> Basco
be.fmuser.org -> bielorusso
bg.fmuser.org -> Bulgaro
ca.fmuser.org -> Catalano
zh-CN.fmuser.org -> Cinese (semplificato)
zh-TW.fmuser.org -> Cinese (Tradizionale)
hr.fmuser.org -> croato
cs.fmuser.org -> ceco
da.fmuser.org -> danese
nl.fmuser.org -> Olandese
et.fmuser.org -> Estone
tl.fmuser.org -> Filippino
fi.fmuser.org -> finlandese
fr.fmuser.org -> Francese
gl.fmuser.org -> Galiziano
ka.fmuser.org -> georgiano
de.fmuser.org -> tedesco
el.fmuser.org -> Greca
ht.fmuser.org -> Creolo haitiano
iw.fmuser.org -> Ebraico
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandese
id.fmuser.org -> Indonesiano
ga.fmuser.org -> Irlandese
it.fmuser.org -> Italiano
ja.fmuser.org -> giapponese
ko.fmuser.org -> coreano
lv.fmuser.org -> Lettone
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedone
ms.fmuser.org -> Malese
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiano
pl.fmuser.org -> polacco
pt.fmuser.org -> portoghese
ro.fmuser.org -> Romeno
ru.fmuser.org -> Russo
sr.fmuser.org -> Serbo
sk.fmuser.org -> slovacco
sl.fmuser.org -> Sloveno
es.fmuser.org -> spagnolo
sw.fmuser.org -> Swahili
sv.fmuser.org -> svedese
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> Ucraino
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> Gallese
yi.fmuser.org -> Yiddish
Il sistema di trasmissione live audio e video è un sistema ingegneristico complesso. Per ottenere una trasmissione dal vivo con un ritardo molto basso, è necessaria una complessa ottimizzazione dell'ingegneria di sistema e familiarità con i vari componenti. Ecco alcuni suggerimenti comuni per l'ottimizzazione:
Ottimizzazione della codifica
1. Assicurati che il codec attivi l'impostazione del ritardo minimo. Codec ha generalmente un interruttore di ottimizzazione a bassa latenza, specialmente per H.264. Molte persone potrebbero non sapere che il decodificatore H.264 memorizzerà nella cache un certo numero di fotogrammi video prima della visualizzazione. Per i video con risoluzione QCIF (176 × 144), memorizzerà nella cache 16 fotogrammi e per i video 720p, memorizzerà nella cache 5 fotogrammi. Per il primo frame letto, questo è un grande ritardo. Se non usi H.264 per codificare e comprimere il tuo video, assicurati di non usare fotogrammi B, avrà anche un impatto maggiore sul ritardo, perché la decodifica dei fotogrammi B nel video dipende dal fotogrammi video prima e dopo, il che aumenterà il ritardo.
2. L'encoder di solito ha il ritardo causato dal controllo del codice, chiamato anche ritardo di inizializzazione o dimensione del buffer di VBV. È considerato come il buffer tra il codificatore e il flusso di bit del decodificatore, che può essere impostato il più piccolo possibile o ridurre il ritardo senza influire sulla qualità del video.
3. Se il primo ritardo è solo ottimizzato, è possibile inserire più fotogrammi chiave tra i fotogrammi video, in modo che il client possa decodificare il flusso video il prima possibile dopo averlo ricevuto. Tuttavia, se dobbiamo ottimizzare il ritardo cumulativo nel processo di trasmissione, dovremmo utilizzare il minor numero possibile di fotogrammi chiave, ovvero I-frame (il GOP diventa più grande). Nel caso di garantire la stessa qualità video, maggiore è il numero di fotogrammi I, maggiore è il bit rate e maggiore è la larghezza di banda di rete richiesta per la trasmissione, il che significa che il ritardo cumulativo potrebbe essere maggiore. Questo effetto di ottimizzazione potrebbe non essere evidente nel sistema con un secondo ritardo, ma sarà evidente nel sistema con un ritardo di 100 ms o anche inferiore. Allo stesso tempo, prova a utilizzare il codec acc-lc per codificare l'audio. Sebbene he-acc o he-acc 2 abbia un'elevata efficienza di codifica, la codifica richiede più tempo e il ritardo di trasmissione causato da un volume audio maggiore ha un impatto minore sulla trasmissione del flusso video.
4. Non utilizzare il formato di compressione video MJPEG, almeno utilizzare il formato di compressione video MPEG4 senza frame B (profilo semplice) e ancora meglio utilizzare il profilo di base H.264 (x264 ha anche un interruttore di ottimizzazione "tune zerolatency"). Un'ottimizzazione così semplice può ridurre la latenza perché può codificare video con frame rate completo a un bit rate inferiore.
5. Se viene utilizzato ffmpeg, ridurre i valori di "- probesize" e "- analizzare la durata", che vengono utilizzati per il monitoraggio delle informazioni sul frame video e il tempo di monitoraggio. Più grandi sono i due valori, maggiore è l'impatto sul ritardo di codifica. Nella scena live, non è nemmeno necessario impostare il parametro di durata dell'analisi per il flusso video.
6. La codifica a tasso fisso CBR può eliminare in una certa misura l'influenza del jitter di rete. Se è possibile utilizzare la codifica a velocità variabile VBR, è possibile risparmiare una larghezza di banda di rete non necessaria e ridurre alcuni ritardi. Pertanto, si suggerisce di utilizzare VBR per la codifica il più possibile.
Ottimizzazione del protocollo di trasporto
1. Provare a utilizzare RTMP invece del protocollo HLS basato su HTTP per la trasmissione tra i nodi del server, il che può ridurre il ritardo di trasmissione complessivo. Questo è principalmente rivolto agli utenti finali che utilizzano HLS per giocare.
2. Se l'utente finale utilizza RTMP per la riproduzione, la transcodifica deve essere eseguita sul nodo ricevente vicino all'estremità dello streaming, in modo che il flusso video trasmesso sia più piccolo del flusso video originale.
3. Se necessario, il protocollo UDP personalizzato può essere utilizzato per sostituire il protocollo TCP e la ritrasmissione della perdita di pacchetti sotto il collegamento di rete debole può essere eliminata, il che può ridurre il ritardo. Il suo principale svantaggio è che la trasmissione e la distribuzione di un flusso video personalizzato basato sul protocollo UDP non è abbastanza universale e i produttori di CDN supportano il protocollo di trasmissione standard. Un altro svantaggio è che potrebbero esserci schizzi o sfocature causati dalla perdita di pacchetti (mancanza di riferimento per la decodifica del fotogramma chiave), che richiede che la parte di personalizzazione del protocollo svolga un buon lavoro nel controllo della perdita di pacchetti sulla base di UDP.
Ottimizzazione della rete di trasmissione
1. Abbiamo introdotto la rete di streaming in tempo reale, che è un nuovo tipo di rete di trasmissione di rete con nodi auto-organizzati. Non è solo adatto per l'ottimizzazione della trasmissione della rete multi operatore domestica, ma è anche adatto per le esigenze di molte trasmissioni in diretta all'estero.
2. Memorizza nella cache il GOP corrente nel nodo del server e collabora con il giocatore per ottimizzare il tempo di apertura del video.
3. Il server registra la frequenza dei fotogrammi di secondo livello e la velocità del codice quando ogni flusso video scorre in ogni collegamento in tempo reale e monitora la fluttuazione della frequenza del codice e della frequenza dei fotogrammi in tempo reale.
4. Il client (push stream e play) ottiene il nodo ottimale corrente quasi in tempo reale interrogando il server (una volta ogni 5 secondi) e il nodo e la linea di errore correnti sono offline quasi in tempo reale.
Ottimizzazione dello streaming e della riproduzione
1. Il sistema può memorizzare nella cache i dati prima di inviare i dati. Anche la regolazione di questo parametro deve trovare un equilibrio.
2. Il controllo del buffer del lettore ha anche una grande influenza sul primo ritardo del video. Se viene ottimizzato solo il primo ritardo, i dati possono essere decodificati immediatamente quando arrivano nel caso di buffer 0. Ma in un ambiente di rete debole, al fine di eliminare l'impatto del jitter di rete, è necessario impostare una certa cache, quindi dobbiamo trovare un equilibrio tra la stabilità della trasmissione dal vivo e l'ottimizzazione del primo ritardo di apertura e regolare il dimensione del buffer ottimizzata.
3. Strategia di buffer dinamico del giocatore, che è una versione migliorata del controllo della cache del giocatore sopra. Se scegliamo solo tra 0 cache e cache a dimensione fissa per trovare un equilibrio, alla fine sceglieremo una cache a dimensione fissa, che non è giusto per 100 milioni di utenti di terminali Internet mobili. Le loro diverse condizioni di rete determinano che la cache a dimensione fissa non è completamente adatta. Pertanto, possiamo considerare una "strategia di buffer dinamico". Quando il giocatore è acceso, usiamo una strategia di buffer molto piccola o addirittura zero. La dimensione del buffer della successiva porzione di tempo è determinata dal tempo impiegato per scaricare il primo video. Allo stesso tempo, la rete corrente viene monitorata in tempo reale durante il processo di riproduzione e la dimensione del buffer viene regolata in tempo reale durante il processo di riproduzione. In questo modo, il tempo di prima apertura può essere molto basso e l'influenza del jitter di rete può essere eliminata il più possibile.
4. Strategia di gioco a tasso dinamico. Oltre alla strategia di regolazione dinamica della dimensione del buffer, possiamo anche utilizzare le informazioni di rete di monitoraggio in tempo reale per regolare dinamicamente il bit rate durante il processo di riproduzione. In caso di larghezza di banda di rete insufficiente, possiamo ridurre il bit rate per la riproduzione e ridurre il ritardo.
Quanto sopra fa parte delle tecniche di ottimizzazione a bassa latenza. Infatti, quando ottimizziamo la bassa latenza, non ci concentriamo solo sulla "bassa latenza", ma cerchiamo di ottenere una bassa latenza a condizione che altre condizioni non influiscano sull'esperienza dell'utente. Pertanto, il suo contenuto coinvolge una vasta gamma di argomenti.
|
Inserisci l'email per ricevere una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albanese
ar.fmuser.org -> Arabo
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaigiano
eu.fmuser.org -> Basco
be.fmuser.org -> bielorusso
bg.fmuser.org -> Bulgaro
ca.fmuser.org -> Catalano
zh-CN.fmuser.org -> Cinese (semplificato)
zh-TW.fmuser.org -> Cinese (Tradizionale)
hr.fmuser.org -> croato
cs.fmuser.org -> ceco
da.fmuser.org -> danese
nl.fmuser.org -> Olandese
et.fmuser.org -> Estone
tl.fmuser.org -> Filippino
fi.fmuser.org -> finlandese
fr.fmuser.org -> Francese
gl.fmuser.org -> Galiziano
ka.fmuser.org -> georgiano
de.fmuser.org -> tedesco
el.fmuser.org -> Greca
ht.fmuser.org -> Creolo haitiano
iw.fmuser.org -> Ebraico
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandese
id.fmuser.org -> Indonesiano
ga.fmuser.org -> Irlandese
it.fmuser.org -> Italiano
ja.fmuser.org -> giapponese
ko.fmuser.org -> coreano
lv.fmuser.org -> Lettone
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedone
ms.fmuser.org -> Malese
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiano
pl.fmuser.org -> polacco
pt.fmuser.org -> portoghese
ro.fmuser.org -> Romeno
ru.fmuser.org -> Russo
sr.fmuser.org -> Serbo
sk.fmuser.org -> slovacco
sl.fmuser.org -> Sloveno
es.fmuser.org -> spagnolo
sw.fmuser.org -> Swahili
sv.fmuser.org -> svedese
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> Ucraino
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> Gallese
yi.fmuser.org -> Yiddish
FMUSER Wirless Trasmetti video e audio più facilmente!
Contatti
Indirizzo:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Cina 510620
Categorie
Newsletter