FMUSER Wireless Video- und Audioübertragung einfacher!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
Das Audio- und Video-Live-Übertragungssystem ist ein komplexes technisches System. Um eine Live-Übertragung mit sehr geringer Verzögerung zu erreichen, ist eine komplexe Optimierung der Systemtechnik und die Kenntnis der verschiedenen Komponenten erforderlich. Hier sind einige allgemeine Tuning-Tipps:
Codierungsoptimierung
1. Stellen Sie sicher, dass der Codec die Einstellung der minimalen Verzögerung aktiviert. Codec verfügt im Allgemeinen über einen Optimierungsschalter für niedrige Latenz, insbesondere für H.264. Viele Menschen wissen möglicherweise nicht, dass der H.264-Decoder vor der Anzeige eine bestimmte Anzahl von Videobildern zwischenspeichert. Bei Videos mit QCIF-Auflösung (176 × 144) werden 16 Bilder zwischengespeichert, bei 720p-Videos werden 5 Bilder zwischengespeichert. Beim ersten Lesen des Frames ist dies eine große Verzögerung. Wenn Sie H.264 nicht zum Kodieren und Komprimieren Ihres Videos verwenden, stellen Sie sicher, dass Sie keine B-Frames verwenden, da dies auch einen größeren Einfluss auf die Verzögerung hat, da die Dekodierung von B-Frames im Video davon abhängt Videobilder vorher und nachher, was die Verzögerung erhöht.
2. Der Encoder weist normalerweise eine durch die Codesteuerung verursachte Verzögerung auf, die auch als Initialisierungsverzögerung oder Puffergröße von VBV bezeichnet wird. Es handelt sich um den Puffer zwischen dem Encoder- und Decoder-Bitstrom, der so klein wie möglich eingestellt werden kann oder die Verzögerung reduziert, ohne die Videoqualität zu beeinträchtigen.
3. Wenn die erste Verzögerung nur optimiert wird, können weitere Schlüsselbilder zwischen den Videobildern eingefügt werden, damit der Client den Videostream so schnell wie möglich nach dem Empfang dekodieren kann. Wenn wir jedoch die kumulative Verzögerung im Übertragungsprozess optimieren müssen, sollten wir so wenige Schlüsselbilder wie möglich verwenden, also I-Frames (GOP wird größer). Um die gleiche Videoqualität sicherzustellen, gilt: Je mehr I-Frames, desto höher die Bitrate und desto mehr Netzwerkbandbreite ist für die Übertragung erforderlich, was bedeutet, dass die kumulative Verzögerung größer sein kann. Dieser Optimierungseffekt ist im System mit einer Verzögerung von einer Sekunde möglicherweise nicht offensichtlich, aber im System mit einer Verzögerung von 100 ms oder noch weniger ist er offensichtlich. Versuchen Sie gleichzeitig, den Acc-LC-Codec zum Codieren von Audio zu verwenden. Obwohl he-acc oder he-acc 2 über eine hohe Codierungseffizienz verfügen, dauert die Codierung länger und die durch eine größere Audiomenge verursachte Übertragungsverzögerung hat weniger Auswirkungen auf die Übertragung des Videostreams.
4. Verwenden Sie kein MJPEG-Videokomprimierungsformat, sondern zumindest das MPEG4-Videokomprimierungsformat ohne B-Frame (einfaches Profil) und noch besser das H.264-Basisprofil (x264 verfügt außerdem über einen Optimierungsschalter „Tune Zerolatency“). Eine solch einfache Optimierung kann die Latenz reduzieren, da sie Videos mit voller Bildrate mit einer niedrigeren Bitrate kodieren kann.
5. Wenn ffmpeg verwendet wird, reduzieren Sie die Werte von „- probesize“ und „-analysate duration“, die für die Überwachung der Videobildinformationen und die Überwachungszeit verwendet werden. Je größer die beiden Werte sind, desto größer ist der Einfluss auf die Codierungsverzögerung. In der Live-Szene ist es nicht einmal erforderlich, den Parameter „Analysedauer“ für den Videostream festzulegen.
6. CBR mit fester Rate kann den Einfluss von Netzwerk-Jitter bis zu einem gewissen Grad eliminieren. Wenn die Codierung mit variabler Rate (VBR) verwendet werden kann, kann dadurch unnötige Netzwerkbandbreite eingespart und bestimmte Verzögerungen reduziert werden. Daher wird empfohlen, so weit wie möglich VBR für die Codierung zu verwenden.
Optimierung des Transportprotokolls
1. Versuchen Sie, für die Übertragung zwischen Serverknoten RTMP anstelle des auf HTTP basierenden HLS-Protokolls zu verwenden, um die Gesamtübertragungsverzögerung zu verringern. Dies richtet sich hauptsächlich an Endbenutzer, die HLS zum Spielen verwenden.
2. Wenn der Endbenutzer RTMP zum Abspielen verwendet, sollte die Transkodierung am Empfangsknoten in der Nähe des Streaming-Endes durchgeführt werden, sodass der übertragene Videostream kleiner als der ursprüngliche Videostream ist.
3. Bei Bedarf kann das angepasste UDP-Protokoll verwendet werden, um das TCP-Protokoll zu ersetzen, und die erneute Übertragung von Paketverlusten unter der schwachen Netzwerkverbindung kann eliminiert werden, wodurch die Verzögerung verringert werden kann. Der Hauptnachteil besteht darin, dass die Übertragung und Verteilung benutzerdefinierter Videoströme auf Basis des UDP-Protokolls nicht universell genug ist und CDN-Hersteller Standardübertragungsprotokolle unterstützen. Ein weiterer Nachteil besteht darin, dass es aufgrund von Paketverlusten zu Spritzern oder Unschärfen kommen kann (fehlende Schlüsselbild-Dekodierungsreferenz), was von der Protokollanpassungspartei eine gute Arbeit bei der Paketverlustkontrolle auf der Basis von UDP erfordert.
Optimierung des Übertragungsnetzes
1. Wir haben das Echtzeit-Streaming-Netzwerk eingeführt, ein neuartiges Netzwerkübertragungsnetzwerk mit selbstorganisierten Knoten. Es eignet sich nicht nur für die Übertragungsoptimierung inländischer Multi-Betreiber-Netzwerke, sondern auch für die Anforderungen vieler Live-Übertragungen im Ausland.
2. Zwischenspeichern Sie die aktuelle GOP im Serverknoten und arbeiten Sie mit dem Player zusammen, um die Videoöffnungszeit zu optimieren.
3. Der Server zeichnet die Bildrate und Coderate der zweiten Ebene auf, wenn jeder Videostream in Echtzeit zu jeder Verbindung fließt, und überwacht die Schwankung der Coderate und Bildrate in Echtzeit.
4. Der Client (Push-Stream und Play) erhält den aktuellen optimalen Knoten in Quasi-Echtzeit, indem er den Server abfragt (einmal alle 5 Sekunden), und der aktuelle Fehlerknoten und die aktuelle Fehlerleitung sind quasi in Echtzeit offline.
Streaming- und Wiedergabeoptimierung
1. Das System kann Daten zwischenspeichern, bevor Daten gesendet werden. Auch bei der Abstimmung dieses Parameters muss ein Gleichgewicht gefunden werden.
2. Auch die Puffersteuerung des Players hat großen Einfluss auf die erste Verzögerung des Videos. Wenn nur die erste Verzögerung optimiert wird, können die Daten bei einem Puffer von 0 sofort bei ihrem Eintreffen dekodiert werden. In einer schwachen Netzwerkumgebung ist es jedoch erforderlich, einen bestimmten Cache festzulegen, um die Auswirkungen von Netzwerk-Jitter zu beseitigen. Daher müssen wir ein Gleichgewicht zwischen der Stabilität der Live-Übertragung und der Optimierung der ersten Öffnungsverzögerung finden und diese anpassen optimierte Puffergröße.
3. Die dynamische Pufferstrategie des Spielers ist eine verbesserte Version der oben genannten Spieler-Cache-Steuerung. Wenn wir nur zwischen 0-Cache und Cache mit fester Größe wählen, um ein Gleichgewicht zu finden, werden wir letztendlich einen Cache mit fester Größe wählen, was 100 Millionen Benutzern mobiler Internetterminals gegenüber nicht fair ist. Ihre unterschiedlichen Netzwerkbedingungen führen dazu, dass der Cache mit fester Größe nicht vollständig geeignet ist. Daher können wir eine „dynamische Pufferstrategie“ in Betracht ziehen. Wenn der Player eingeschaltet ist, verwenden wir eine Strategie mit sehr kleinem Puffer oder sogar Nullpuffer. Die Puffergröße der nächsten Zeitscheibe wird durch die Zeit bestimmt, die zum Herunterladen des ersten Videos benötigt wird. Gleichzeitig wird das aktuelle Netzwerk während des Wiedergabevorgangs in Echtzeit überwacht und die Puffergröße während des Wiedergabevorgangs in Echtzeit angepasst. Auf diese Weise kann die erste Öffnungszeit sehr gering sein und der Einfluss von Netzwerk-Jitter weitestgehend eliminiert werden.
4. Dynamische Spielstrategie. Zusätzlich zur Strategie der dynamischen Anpassung der Puffergröße können wir auch die Echtzeitüberwachungsnetzwerkinformationen verwenden, um die Bitrate während des Wiedergabevorgangs dynamisch anzupassen. Bei unzureichender Netzwerkbandbreite können wir die Bitrate zum Abspielen reduzieren und die Verzögerung verringern.
Das Obige ist Teil der Optimierungstechniken mit geringer Latenz. Tatsächlich konzentrieren wir uns bei der Optimierung niedriger Latenz nicht nur auf „niedrige Latenz“, sondern versuchen, eine niedrige Latenz unter der Bedingung zu erreichen, dass andere Bedingungen das Benutzererlebnis nicht beeinträchtigen. Daher umfasst sein Inhalt ein breites Themenspektrum.
|
Geben Sie eine E-Mail-Adresse ein, um eine Überraschung zu erhalten
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
FMUSER Wireless Video- und Audioübertragung einfacher!
Kontakt
Adresse
Nr.305 Zimmer HuiLan Gebäude Nr.273 Huanpu Road Guangzhou China 510620
Kategorien
Newsletter