Typische Herausforderungen

Livestream mit Nachladen oder hängender Übertragung

 a)
Wenn Sie sowohl über die selbe Leitung senden als auch empfangen (zur Kontrolle), kann unter Umständen die Kapazität der Internetleitung nicht ausreichen. Angenommen Ihr DSL-16000 Anschluss hat eine Upload-Leistung von 1.000 kbit/s und Download von 16.000 kbit/s, dann werden diese Werte nicht gleichzeitig erreicht, sondern behindern sich ein wenig gegenseitig.

Zudem erreicht z.B. ein regulärer DSL-16000 Anschluss oft nicht diese Maximalwerte, sondern sendet und empfängt evtl. real deutlich weniger als die angegebenen Leistung.

b)
Bei einem S-DSL Anschluss ist dieser Effekt besonders stark. Eine 3000er S-DSL-Leitung stellt die Kapazität nur ein mal zur Verfügung. Wenn sie mit 2000 kbit/s senden, können Sie nur noch mit 1000 kbit/s herunterladen. Senden Sie aber in der Praxis den 2000er Stream und öffnen den Player noch parallel herunter, bleibt für das Senden nur noch 1000 kbit/s übrig und es kommt zu Aussetzern.

c)
Achten Sie auch auf andere Nutzer im selben Netzwerk (insbesondere WLAN oder Funkstrecke). Auch wenn sich während der Übertragung alle Kollegen aus dem Internet fernhalten, könnte ein Windows- oder Virenkiller-Update im Hintergrund geladen werden. Ein Mailserver könnte Mails mit größeren Anhängen senden oder empfangen, etc.

Unsere Kunden hatten auch mehrfach die Beobachtung gemacht, das wenn an einem stark besuchten Veranstaltungsort das WLAN "sichtbar" ist, sich die Handys der Menschenmassen ständig versuchen zu verbinden... dies funktioniert ohne Zugangsdaten zwar nicht, kann aber das WLAN Netz bzw. die Arbeit des Routers so stark beeinflussen, das ein ständiger Packet-Loss entsteht und/oder die real nutzbare Datenrate für das Streaming deutlich sinkt.

d)
Bei mobilen Verbindungen wie UMTS/3G und LTE ist besonders darauf zu achten, das die Verbindung sich ändern kann. An öffentlichen Orten wie einem Messezentrum oder einem Stadion sind die Sendemasten oft besonders schnell mit dem Internet verbunden. Alle Nutzer des Sendemasten teilen sich jedoch dessen Leitungsgeschwindigkeit (vom Masten bis ins Internet).  Beim Testen vor Ihrer Übertragung ist der Datendurchsatz ggf. extrem gut. Wenn jedoch viele Personen im Bereich der Funkzelle ihre Smartphones verwenden, YouTube Videos ansehen, eigene Fotos oder Videos nach Facebook hochladen oder ggf. Ihren Stream vor Ort abrufen kann die Kapazität des Sendemasten schnell überlastet sein. (Hierfür gibt es z.B. bei Vodafone und der Telekom spezielle Verträge, in denen eine priorisierte Nutzung an einem Ort ermöglicht wird.)
Wichtig: in einem solchen Moment ist die Anzeige der Verbindung von Ihrem Gerät bis zum Sendemasten ausgezeichnet! Auf einem Handy werden alle Balken angezeigt. Die mögliche Datenrate der Übertragung ist aber möglicherweise im Bereich von unter einem 1 Mbit/s.
 

e)
Sie können den Speed der Internetverbindung gut über diese Webseite testen: www.speedtest.net (es gibt auch eine App vom selben Anbieter). Beim Ergebnis der Upload-Rate sollte mind. eine 15% Reserve eingeplant werden. Beträgt die Uploadrate z.B. 2800 kbit/s, sollte im Live-Encoder kein Wert über 2400 kbit/s eingestellt werden.

f)
Wenn Sie selbst eine extrem gute Upload-Kapazität zur Verfügung haben, beachten Sie bitte auch die Möglichkeiten Ihrer Zuschauer. Einen Stream von 3000 bis 6000 kbit/s werden viele Zuschauer nicht ohne weiteres abrufen können (beschränkte Verbindungen außerhalb von Ballungsgebieten, mobiler Empfang, Geschwindigkeit des Abspielgerät, ...). Wenn Sie dennoch einen HD-Stream mit top Qualität mit hohen Datenraten verwenden möchten, empfehlen wir verschiedene Stream-Qualitäten parallel zu verwenden. Siehe hier.

Mikro-Ruckler des Videos im Player

Mit "Mikroruckler" sind keine Nachladezeiten in der Videowiedergabe gemeint. Wenn die Wiedergabe für mehrere Sekunden pausiert um Daten zu laden ist dies kein Mikroruckeln. 

Mikroruckler fallen im laufenden Video nur manchen Zuschauern auf. Das Bild bleibt für 0,1 Sek. stehen und läuft dann sofort wieder weiter. Dies kann mehrfach in der Sekunde entstehen oder auch mit längeren Zwischenzeiten bis es erneut auftritt und die Wiedergabe optisch kurz hängt.

Dies ist ein wichtiger Unterschied zu Nachladezeiten, bei denen die Wiedergabe für meistens mehrere Sekunden stehen bleibt um neu Daten zu laden. Bei den Mikrorucklern entsteht das Problem nicht durch Nachladezeiten! (Nachladen steht normalerweise im Zusammenhang mit einer Videodatenrate die höher ausfällt als die Download-Geschwindigkeit des Wiedergabegerät.)

Es gibt typische Gründe für Mikroruckler:

a)
Das abspielende Gerät kann den Videostream nicht sauber mit der Framerate des Stream abspielen. (Das heißt es werden nicht alle 25, 30 oder 60 Bilder in der Sekunde ausgegeben die Sie senden, sondern es fallen einige dieser Bilder aus). Dies passiert beispielsweise häufig bei FullHD Stream auf einem alten PC, Mobilgerät oder einem aktuellen Android-Gerät aus der 70 Euro Preisklasse.
In diesem Fall treten die Mirkoruckler nur hier auf, auf einem parallel laufenden anderen Gerät läuft der Stream aber sauber ab.

b)
Das Problem kann auch bei allen Zuschauern gleichzeitig (an der selben Videoposition) sichtbar werden, wenn die Bildaussetzer bereits im Videostream enthalten sind. Mögliche Ursachen:
- Ihre Kamera ist auf 25, 30 oder 60 fps eingestellt. Sie übertragen das Bild in den PC und die Video-Eingangskarte erkennt das Bild mit einer leicht anderen Framerate (oder wurde z.B. auf 30 fps eingestellt, die Kamera läuft aber mit 29,97 fps).
- Die Kamera läuft mit 60 fps, Ihr Encoding wurde aber auf 25 statt 30 oder 60 fps eingestellt. Die manchmal hierbei entstehenden Hänger im Bildablauf sehen aber normalerweise nur Profis.
- Der Encoder läuft nicht im Optimum und die Bewegungserkennung ist nicht perfekt (ähnliche Bildstrukturen die sich von Bild zu Bild an einen anderen Ort bewegen). Wer gezielt auf die Bildqualität achtet wird dies wahrnehmen. Steht die Kamera fest, aber es bewegt sich ein Bildinhalt (wie ein fahrendes Auto) einmal durchs Bild , bewegt sich dieses leicht sprunghaft, statt flüssig. Hier hilft es die Encoding-Bildrate auf die selben fps wie die Kamera einzustellen.
Für die Bildästhetik ist es oft sinnvoll den Shutter der Kamera etwas länger einzustellen. Standbilder aus dem Video sind dann zwar an bewegten Objekten weniger scharf, dafür wirken Bewegungen im Bild aber "weicher" und weniger künstlich... dies ist aber unabhängig vom Streaming und gilt für jede Videoaufnahme.
- Für Encoder wird empfohlen das die CPU-Auslastung beim Encoding nicht über 70% gehen sollte. Ist bei einem Livestream die CPU im Bereich 75 bis 85% ausgelastet, kann dies dazu führen das eine kompliziertere Bildfolge (Kameraschwenk, Schnitt, viel Bewegung im Bild, etc.) gelegentlich nicht ganz sauber kodiert wird.
Steigt die CPU Auslastung auf 90 oder mehr Prozent, sind die Mikroruckler ständig zu sehen. Möglicherweise gibt es auch "Drop Frames" bei dem Bilder ausgelassen werden, weil sie nicht mehr bearbeitet werden konnten. Dies können je nach "Drop Frame" Anzeige sowohl verpasste Bilder beim Empfang von der Kamera oder nicht kodierte Bilder beim Videoencoding sein.
- Sollte die eingestellte Zieldatenrate bzw. die Kapazität der Internetleitung bei der aktuellen Datenrate nicht ausreichen, bleibt die Wiedergabe kurz stehen (für den Zuschauer). Der Encoder überträgt weiter die Daten, bekommt aber nicht alles durch den Flaschenhals der eingestellten Datenrate oder die Internetleitung hochgeladen. Dies kann zu Mikrorucklern bis hin zu kurzen Aussetzern führen (der Player lädt in dieser Zeit nicht nach, im Sinne von einem leeren Buffer, da er auf dem aktuellen Stand vom Streamingserver ist... dieser die Daten aber einfach in diesem Zustand erhält und weiterleitet.)
Manche Encoder wie der "Flash Media Live Encoder" bieten für eine solche Situation die "Auto Adjust" Funktion. Hier lässt sich gezielt einstellen ob im Zweifelsfall eher weniger Bilder je Sekunde oder lieber eher eine verminderte Videoqualität kodiert werden soll (wenn die Daten nicht durch die Leitung passen bzw. die eingestellte Datenrate zu gering ausfällt im Verhältnis zur Auflösung und Bildinhalt passt). Unsere Empfehlung: wir halten die Option 'degrade Qualität' statt 'drop frames' für die immer bessere Lösung. Führt dies dazu, dass das Bild sichtbar schlechter wird, weil eine gute Bildqualität permanent nicht durch Ihre Internetleitung passt, dann reduzieren Sie die Auflösung. Ein gutes Bild bei nicht optimaler Auflösung ist im Zweifelsfall besser als eine hohe Auflösung bei nicht ausreichender Bildqualität.

Livestream mit zeitlichem Versatz (Latenz, keine Echtzeit)

Auf mobilen Geräten und am PC ohne Flashplayer wird für Livestreaming HTML5 HLS oder MPEG DASH verwendet. Dies entspricht dem aktuellen Stand der Technik und hat keine sinnvollen Alternativen.

Die Übertragungstechnik basiert darauf einen Livestream in kleine Videoabschnitte zu "zerschneiden" (vergleichbar kleinen Videodateien). Diese werden übertragen und im Videoplayer ohne sichtbaren oder hörbaren Übergang durchgehend abgespielt.

Diese Abschnitte (Segmente) wurden von Apple (die HLS als erstes eingeführt haben) ursprünglich auf 30 Sekunden definiert und im Standard mehr oder weniger vorgeschrieben. Wir reduzieren die Länge der Segmente bereits je nach Account auf 5 bis 15 Sekunden.
Der Livestream muss daher nach dem Start im Live-Encoder bereits ca. 10-20 Sekunden übertragen werden, bis der erste Abschnitt fertig zur Verfügung steht und an den Player übertragen werden kann. Der Stream hängt dann ca 5-20 Sekunden der Realzeit hinterher (Latenz). Ggf. bis zu 60 Sekunden je nach Konfiguration.

Lösung: wir können die Länge der Segmente für Sie optimieren. Dies reduziert die Latenz deutlich - muss aber besprochen werden.

Der Livestream erst nach 10-30 Sekunden nach Beginn der Liveübertragung abrufbar

Siehe vorheriger Punkt.

Ein Videostream startet nicht auf mobilen Geräten

Aktuelle Mobilgeräte unterstützten HTML5 HLS: iOS (iPhone, iPad, etc.), Android seit 2-3 Jahren, Blackberry, Kindle HD, etc.

Allerdings gibt es auf diesen Geräten gelegentlich Browser die die vom Gerät und Betriebssystem bereitgestellte Videoengine nicht verwenden und statt dessen eigene Lösungen einbauen. Wenn diese kein HTML5 HLS unterstützen wird es schwierig. Leider gehört der Firefox zu diesen Browsern.

Lösung: wir verwenden eine Browserweiche in unserem Player um diese Geräte zu erkennen. Es wird dann versucht eine per JavaScript nachprogrammierte Unterstützung für HTML5 HLS zu verwenden (Opensource Player cappr). Allerdings benötigt dies eine moderne JavaScript Engine im Browser. Der Browser muss daher aktuell und leistungsfähig sein.

 

Kein Livestream auf iOS oder aktuellen Android Geräten?
- Audio sollte "Stereo" übertragen werden, da manche iOS Versionen beim einem HLS-Stream mit Mono-Tonspur einen Bug haben.
- Video muss im Live-Encoder per "H.264" kodiert werden; Profil "Baseline" oder "Main", aber nicht "High". (Baseline funktioniert überall. Main auf den Mittelklasse bis Highend Geräten der letzten 2 Jahre. "High" oftmals nur auf wenigen Highend-Geräten.)
- Ist Live-Transcoding aktiv, befindet sich ggf. eine "livestream.smil" Datei auf Ihrem FTP-Account. Diese darf nicht gelöscht werden.

Streaming per JVC Stream Kamera

Leider zeigen die JVC Camcorder nur bedingt Fehler oder Übertragungs-Beschränkungen an.

Die Übertragung per UDP ist grundsätzlich kein Problem (RTSP und RTMP sind auch gerne möglich). Jedoch bemerkt die Kamerasteuerung es nicht, wenn die Datenrate zu hoch eingestellt ist. Der Videostream kann nicht in der Geschwindigkeit durch die Leitung übertragen werden, wie neue Daten entstehen. Es stockt, etc. und die Kamera sendet einfach immer weiter.

 Dies ist zumindest ein schon häufiger aufgetretenes Problem bei unseren Kunden mit dieser Kamera. Der Flashplayer kann in diesem Fall aus einem unvollständigem Stream mit kleinen Aussetzern gelegentlich noch ein Bild generieren, das kleine Hänger oder Bildfehler enthält. Auf mobilen Geräten bricht die Wiedergabe jedoch ab oder kann gar nicht erst aufgebaut werden.

Falls ähnliche Symptome bei Ihrem Testen bestehen, empfehlen wir im ersten Schritt die Auslösung und Datenrate testweise stark herabzusetzen. Z.B. auf 320x180 Pixel bei 300 kbit/s (0,3 MBit/s). Hier geht es nicht um die Qualität, sondern lediglich darum zu prüfen ob die Übertragung dann funktioniert. Wenn ja, können Sie die Datenrate und Auflösung Schritt für Schritt erhöhen und testen.

Als Bandbreiten-Test können wir die Webseite www.speedtest.net empfehlen. Es sollten mind. 15% der maximalen Upload-Geschwindigkeit als Reserve betrachtet werden. Bei mobilen Verbindungen gerne mehr.

360 Grad Video & VR

Sie können 360 Grad Video streamen: sowohl Videodateien als auch live!

Die 360 Grad Darstellung wird dann von einem speziellen Player oder Ihrer VR (virtual reality) Umgebung/Software vorgenommen.
Für das Internet empfehlen wir hierzu beispielsweise diesen Player: http://demo.theoplayer.com/vr-and-360

 

Im Fall von aufgezeichneten Videos werden diese oft mit einem Kamera-Array produziert. Meistens werden hierzu ActionCams (GoPro, etc.) zusammengefügt um eine Aufnahme von einem möglichst großen Blickwinkel zu ermöglichen. Das aufgezeichnete Material der Kameras wird dann mit Spezialsoftware zu einem 360 Grad Video zusammengefügt. 

Es gibt jedoch auch Kameras die speziell für diesen Zweck gebaut werden und die beispielsweise zwei 180 Grad Linsen nutzen um das Bild bereits direkt in der Kamera zu einem 360 Grad Video zusammenzufügen. Für Livestreaming sind diese Kameras normalerweise die Voraussetzung, da sich der Videostrom von mehreren normalen Kameras nicht in Echtzeit zu einem 360 Grad Video zusammen fassen lässt. Dies wäre nur mit erheblichem Aufwand möglich.

Das entscheidende: ein 360 Grad Video wird als 'rechteckiges Videoformat' gespeichert. Aus technischer Sicht handelt es sich um einen normalen Videostream!
Lediglich der Player muss den Videoinhalt speziell darstellen, um den 360 Grad Eindruck zu vermitteln. (Das Video wird im Original verzerrt gespeichert und beim Abspielen wieder entzerrt abhängig von der Blickrichtung des Zuschauers dargestellt).

Zu bedenken ist, das ein Videostream eine relativ hohe Auflösung haben muss, um in der 360 Grad Ansicht detailliert und scharf zu wirken. Je nach Kamera benötigen Sie daher eine hohe Auflösung von dem Videostream.