Live Echtzeit-Übertragung und die Latenz

Auktionen, Konferenzen, Podiumsdiskussionen
Auktionen, Konferenzen, Podiumsdiskussionen

Die zeitliche Verzögerung zwischen dem realen Geschehen vor der Kamera und der Anzeige auf dem Bildschirm des Zuschauer wird "Latenz" genannt.

Viele Kunden nennen dies auch "Delay" oder "Echtzeit Übertragung". Wichtig ist dies bei Liveübertragungen mit Rückfragen von anderen Standorten, für Online-Auktionen, Versteigerungen, etc.

Die Latenz beim Streaming entsteht im wesentlichen an 3 Punkten:
1) Live-Encoder vor Ort: 0,1 bis 5 Sekunden
2) Streamingserver: 0,1 bis 5 Sekunden
3) Videoplayer ca. 4 bis 30 Sekunden per HTML5
(und per Flash- und VLC-Videoplayer ca. 0,1 bis 4 Sek.)

 

Lösung für Punkt 1: Live-Encoder vor Ort
Ihre Livebild wird vom Live-Encoder verarbeitet und an den Streamingserver geschickt. Ein Hardware-Encoder ist in der Regel sehr schnell (0,1 - 1,5 Sek.). Software Live-Encoder wie Wirecast oder OBS können auf 0,1 bis 0,5 Sek. konfiguriert werden.
Es gibt aber auch sehr langsame Live-Encoder Hardware (5 Sek.) und langsame Live-Encoding Software wie der Adobe "Flash Media Live Encoder" (2-7 Sek.).

Lösung für Punkt 2: Streamingserver
Wir können die Bufferzeiten auf dem Streamingserver auf ca. 0,1 Sek. reduzieren. Zu empfehlen ist eine Bufferzeit von 0,5 Sek. als Mindestmaß. Im Fall einer Übertragung von Ihnen zum Streamingserver per LTE sollte 1 Sekunde konfiguriert werden. Im Fall einer Satellitenübertragung (Sendewagen) sind 2 Sekunden Buffer zu empfehlen. Diese Konfiguration nehmen wir für Sie vor!

Lösung für Punkt 3: Player
Auf der Webseite im Videoplayer können wir die Latenz des normalen Streaming per HTML5 auf ca. 4 bis 10 Sekunden einstellen. Der Wert ist variabel je nach Browser, Mobilgerät, etc. 

Die Latenz im Flashplayer können wir auf bis zu 0,1 Sek. reduzieren. Dies führt jedoch schnell zu Hängern und "Stottern" in der Wiedergabe sobald irgendetwas nicht 100% sauber läuft. Beispielsweise ruft Ihr Virenkiller ein Update ab oder jemand im gleichen Netzwerk verwendet mehr Bandbreite - es wird dann sofort sichtbar im Bild.  Wir empfehlen 1 Sek.


Soweit es an uns liegt, können Sie mit einer Verzögerung von unter 1 Sekunde übertragen. Das entspricht beispielsweise einer Skype-Verbindung.
Auf die verfügbare Playertechnologie im Browser des Zuschauers haben wir jedoch keinen Einfluss. Hier steht heutzutage in der Regel nur HTML5 zur Verfügung um über 99% der Zuschauer zu erreichen!

 

Was Sie erwarten können

Bei einer Standard-Konfiguration:
Die normale Latenz von Livestream auf allen unseren Accounts beträgt ca. 12 - 25 Sekunden per HTML5 Video.

Bei einer Konfiguration für geringe Latenz:
In der Summe lässt sich die Übertragungs-Latenz für die breite Masse der Zuschauer auf 4-10 Sekunden reduzieren. Für den Flashplayer sogar auf ca. 1 Sekunde.

Je nach älterem Browser und/oder Mobilgerät sowie anderen technischen Umständen kann es Abweichungen nach oben geben. Zudem ist die Verzögerung durch den Live-Encoder bei Ihnen vor Ort zu beachten.

 

Warum wird nicht immer für eine geringe Latenz konfiguriert?

Der Streamingserver als auch der Videoplayer verwenden normalerweise eine Bufferzeit. Daten werden vorgeladen um Leitungsschwankungen auszugleichen. Datenpakete werden im Internet nicht 100% gleichmäßig übertragen. Für einzelne Datenpakete beträgt die Übertragungszeit nur 10 ms (Millisekunden) für andere 500 ms (0,5 Sek.). Im Fall einer Verbindung per 3G / UMTS oder LTE (und noch stärker bei einer Satellitenverbindung) kommen manche Datenpakete erst nach 1 bis 2 Sekunden an. 

- Für herkömmliche Downloads und das Laden einer Webseite mit Text und Bildern ist dies wenig relevant, da die Daten beim Empfänger (unabhängig von der Übertragsungszeit) einfach beim Eintreffen zusammen gesetzt werden. Der Inhalt der Webseite baut sich mit den empfangenen Daten Stück für Stück auf. Es entscheidet primär die Datenmenge die ingesamt übertragen wird, nicht die Zeit die einzelne Datenpakete benötigen.
- Beim Live-Streaming kommen spät ankommende Datenpakete jedoch "zu spät". Wenn der Stream zeitlich die Position bereits abgespielt hat, zu dem gehörig ein Datenpakete verspätet ankommen, sind die Daten nutzlos. Der Zuschauer hat dann ggf. ein Rucken/Hängen im Video wahrgenommen. Wenn Datenpakete nicht nur einzeln, sondern reihenweise zu spät kommen, bleibt der Livestream zum Nachladen stehen, ggf. fehlen dann Abschnitte bei der Wiedergabe oder der Stream kann im schlimmsten Fall gar nicht mehr abgespielt werden.

Durch Bufferzeiten wird dies fast vollständig vermieden! Spät eintreffende Datenpakete werden noch rechtzeitig verarbeitet.  

Was ist notwendig bei Ihnen?

Einstellungen im Live-Encoder ohne die eine geringe Latenz nicht möglich ist:
- Stellen Sie bitte den Keyframe-Abstand auf 1 Sek. (falls Sie nur GOP einstellen können: ca. 30).
- Encoding-Profil: "Main"
- Wir empfehlen eine Übertragung mit 720p bis 1080p mit einer Bitrate von 1500 bis maximal 3500 kbit/s. Die Auflösung ist nicht relevant, sollte aber zum Bildinhalt und der Datenrate passen.
- Live-Encoder wie OBS und Wirecast können für das Encoding auf "Low Latency" eingestellt werden.