Streaming-Client: Decoder am Ankunftsort

Der Streaming-Client nimmt die übertragenen Daten aus dem Netzwerk entgegen und setzt sie in ein Audiosignal um. Eventuell kommen die Medien-Daten ungleichmäßig an. Der Client verwendet zum Abspielen des empfangenen Streams einen Puffer. Dieser wird befüllt und entleert, während laufend neue Mediendaten eintreffen. Die neuen Daten werden ebenfalls zwischengespeichert und nachgeschoben.

TCP und der Puffer

Bei TCP werden Pakete nochmals versendet, die auf dem Weg zum Client verloren gegangen sind. Bei schlechten TCP-Verbindungen kann sich das nachteilig auswirken, da es mitunter zu vielen Rückfragen kommt. Wenn der Zwischenspeicher (engl.: cache; bzw. 'buffer') leergelaufen ist ('buffer underrun'), hat die laufende Aus- und Wiedergabe keine Daten mehr zum Abspielen. Im Falle von TCP ist der zeitnahe Erhalt ALLER Daten des Streams von großer Wichtigkeit. (Mehr dazu in Kapitel '4.4.3 TCP versus UDP'.)

Puffern und abspielen

Generell ist ein zeitnaher Erhalt der Medien-Daten wichtig, um eine korrekte Wiedergabe am Streaming-Client sicher zu stellen. Treffen zu wenige Pakete beim Streaming-Client ein, um das Audiosignal abspielen zu können, läuft der Datenpuffer leer ('buffer underrun'). Dieser Datenmangel macht sich hörbar bzw. sichtbar durch Aussetzer. Der Zwischenspeicher/ Puffer ('Cache'/ 'Buffer') spielt dabei die entscheidende Rolle. Wenn es gelingt, diesen laufend wieder zu befüllen, wird der Hörer nichts bemerken.

Ein großer Puffer verbessert die Möglichkeit, Übertragungs-Probleme auszugleichen, aber auch die Latenz (zeitlicher Versatz gegenüber dem Echtzeitsignal)1 steigt.

In der Anlage 'Beispiel Streaming-Client-Software mplayer' ist erklärt, wie sich in 'mplayer' der Puffer konfigurieren lässt und wie viel davon befüllt wird.

Puffer und Latenz sind ein weiteres Kompromiss-Thema, bei dem je nach Anwendung abgewogen werden sollte.

 

1Vgl. http://www.elektronik-kompendium.de/sites/kom/1303291.htm „Übertragungstechnik“ , 2014-12-31