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 oft nur einem Teil der Zuschauer auf. Das Bild bleibt für beispielsweise 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!

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 Streams auf einem alten PC, Mobilgerät oder auch bei aktuellen Android-Geräten der 100 Euro Preisklasse.
In diesem Fall treten die Mirkoruckler nur hier auf, auf einem parallel laufenden anderen Gerät läuft der Stream sauber. Hier liegt es an den schwachen Geräten. Sie können daran nur wenig ändern. Ggf. ist es sinnvoll im Live-Encoder von Profil "Main/Haupt" auf Profil "Baseline/Einfach" zu wechseln.

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 (Längere Belichtung je Einzelbild). Das Bild wirkt "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 70 bis 100 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.

Revision #1
Created 22 September 2020 20:15:56 by Daniel McDonald
Updated 22 September 2020 20:17:07 by Daniel McDonald