Radio muss im Internet den nächsten Schritt tun, um eine ernstzunehmende Plattform für Hörer, Plattenfirmen, Autoindustrie und alle anderen Markteilnehmer zu bleiben. Dafür ist ein großes Technologie-Upgrade beim Radio unumgänglich. Denn es gibt ein Problem - Radiosender können nicht richtig gut Internet.

Die herkömmlichen Systeme sind in erster Linie auf die Verbreitung über UKW und DAB ausgerichtet.
Sie erstellen ein perfekt produziertes, auf eine große Zielgruppe abgestimmtes Mainstream-Radioprodukt. Im Internet funktioniert so ein Mainstream in Zeiten von Spotify nur bei Nutzern, die es gewohnt sind lineares Radio zu hören. Im Moment versuchen Radiosender mit dem Anbieten von Spartenchannels im Internet gegenzusteuern. Diese Channels sind im Grunde nahezu identisch mit dem Rundfunkprogramm und nur wenig individueller bei der Musikauswahl und werden mit dem gleichen hohen Aufwand und der gleichen alten Technik produziert.

Eine einfache Personalisierung, wie beispielsweise den Audiostream auf Wunsch ohne Verkehrsmeldungen anzubieten, stellt die bestehende Technik vor unlösbare Aufgaben. Um Erfolg im Internet zu haben, benötigen Audioprofis bessere und kostengünstigere Werkzeuge. Ein spezielles Internet-Sendesystem das an diese Anforderungen angepasst ist und eine skalierbare Infrastruktur für Programmerstellung und Audio Streaming ist dabei unumgänglich. QuantumCast ist speziell auf diese Anforderungen hin entwickelt und optimiert wurden.

20180219_quantum-cast-de-auto-systematic.001.jpeg

 

Aus technischer Perspektive wurde für das Internet-Streaming lange Zeit auf ein Konstrukt aus einem großen Master-Server und verschiedenen sogenannten Edge-Servern gesetzt, auf denen eine Streaming-Software (häufig Icecast) läuft. Der Master-Server empfängt dabei die vor Ort im Sendestudio erzeugten und encodierten digitalen Audio-Streams und die Edge-Server verteilen diese an die einzelnen Hörer. Der Großteil des Aufwands beim Erzeugen und Transcodieren der Audio-Streams liegt dabei im Sendestudio. Dort sind die Programmplanungs- und Playout-Systeme positioniert, die aus den einzelnen Audio-Elementen (Musik, Wortbeiträge, Jingles, Promos, Überblendungen usw.) einen fertigen Audio-Stream erzeugen. Dadurch fehlt aber auch eine direkte Verbindung und Interaktionsmöglichkeit zwischen den Hörern und den Inhaltselementen, welche aber die Grundlage für Skipping und Personalisierung sind. Alle Systeme in dieser Kette sind zudem meist statisch aufgebaut und manuell administriert. Für jeden neuen Channel fällt daher ein nicht unwesentlicher initialer Aufwand beim Sender selbst und dem Streaming-Anbieter an.

Dieser Aufbau hat lange Zeit gut funktioniert, ist ausgetestet und stabil aber er bringt auch eine Reihe von Nachteilen und Problemen, die einem modernen Sendesystem mit der Möglichkeit der Personalisierung im Wege stehen:

  • Es gibt keine Separation von Streams und es ist schwierig für verschiedene Streams unterschiedliche Konfigurationen anzuwenden.
  • Speziell Icecast als Streaming-Server ist zwar ausgereift und erprobt. Gleichzeitig aber auch vom Aufbau her relativ alt und nur schwer an moderne Anforderungen wie Skalierung, umfangreiche Metriken und Logging in Echtzeit anzupassen. 
  • Neue Anforderungen wie das Streamen von Inhalten aufgrund der Geo-Position, Skipping, Hörer-spezifische Inhalte benötigen den vollen Zugriff auf die einzelnen Audio-Elemente statt eines vorproduzierten Streams.
  • Mit dem Trend immer mehr und immer speziellere Sidechannels zu produzieren und diese schneller von der Idee zur Aktivierung zu bringen, wird eine automatisch skalierbare und konfigurierbare Infrastruktur benötigt.

    
Um wirklich schnell neue Streams starten zu können, dabei weniger Aufwand und Kosten zu haben und gleichzeitig den Hörern neue und an das veränderte Hörverhalten angepasste Möglichkeiten zu geben, muss die Streaming-Infrastruktur agiler und flexibler werden. Die bereits in anderen Softwarebereichen etablierte und bewährte Microservice-Architektur kann auch beim Audiostreaming völlig neue Wege eröffnen. Die Idee ist dabei, Konzepte aus dem sehr flexiblen Cloud-Computing mit kleinteilig auf viele Dienste verteilten Aufgaben auf bewährte Lösungen im Audio-Streaming anzuwenden.

Statt weniger groß dimensionierter und manuell gepflegter Streaming-Server werden nun viele kleine, über mehrere Rechenzentren verteilte Instanzen eingesetzt. Damit überall die definiert gleiche Version der eingesetzten Software läuft, sind alle Dienste als Docker-Container ausgelegt. Diese werden automatisch bei Updates durch ein Build-System neu erstellt (sogenannte Continous Integration). Das ist selbst mit bestehender externer Software wie Icecast möglich und erlaubt zusätzlich auch während der Entwicklung lokale Tests unter exakt gleichen Bedingungen wie im Live-System. Für die Einrichtung, Administration und Orchestrierung der Dienste auf allen Hosts hat sich Ansible zusammen mit Docker-Compose als ein geeignetes Werkzeug herausgestellt. Jegliche Konfiguration ist dabei als Code verfügbar und in einer Versionsverwaltung wie Git revisionierbar. Im Zusammenspiel mit Tags, also dem Markieren von Programmversionen und Docker-Containern, lässt sich so auch ein einfacher Roll-Back im Fehlerfall realisieren. 

Die Aufteilung in kleine Instanzen mit spezialisierten Micro-Services ermöglicht es zwar, eine höhere Skalierbarkeit und Ausfallsicherheit zu erreichen, um aber gleichzeitig auch individuelle Konfigurationen und schnelle Anpassungen zu ermöglichen, sind weitere Dienste nötig. Einer davon ist ein Service-Discovery-Dienst, eine Software die in einer verteilten Cloud-Architektur Informationen verwaltet, welche Dienste unter welchen Adressen angeboten werden. Der Service-Discovery-Dienst ermöglicht gleichzeitig auch das zentrale Bereitstellen von Konfigurationen über einen integrierten Key-Value-Store. Als zentrales Element in der Infrastruktur ist Consul selbst als hochverfügbarer Cluster ausgelegt.

Icecast bleibt als stabiler Streaming-Server weiterhin im Einsatz, wird aber von einem vorgelagerten Proxy-Dienst ergänzt. Da jede einzelne Hörerverbindung durch einen dieser Proxies im Cluster geleitet wird, ermöglicht dies völlig neue Freiheiten. Neben dem Sammeln vieler Metriken über die Verbindung in Echtzeit, ist es so möglich, Werbung für jeden Hörer individuell in den Stream einzufügen und statistisch auszuwerten. Auch die Metadaten (Song, Artist) die durch die unterschiedlich langen Werbeblöcke für jede Verbindung zu einem individuellen Zeitpunkt anfallen, können so Hörer-individuell ermittelt werden. Nutzt man die IP-Adresse des Hörers oder Standort-Daten aus einer App, die über die Streaming-URL übergeben werden, kann darauf basierend ein anderer Streaminhalt ausgegeben werden. Die Stream-URL bleibt dabei in jedem Fall für alle Hörer identisch. 

Die beim Proxy in großer Anzahl in Echtzeit anfallenden Datensätze werden über einen Messaging-Cluster themenbasiert an alle Dienste verteilt, die diese dann weiterverarbeiten können. Dazu gehört zum Einen das Verteilen der hörerindividuellen Metadaten per API an Player oder externe Webseiten aber auch die statistische Auswertung des Hörverhaltens in Grafiken für Dashboard.

Auch wenn der Streaming-Proxy bereits eine gewisse Personalisierung erlaubt, sind die Möglichkeiten noch begrenzt. Das liegt vor allem daran, dass der Stream an dieser Stelle bereits fertig encodiert als Datenstrom vorliegt. Um jedes Element der Playlist anpassen zu können und das Resultat qualitativ auch wie Radio klingen zu lassen, muss das Playout aus dem Sendestudio an die Streaming-Server heranrücken. Im einfachsten Fall erzeugt das System im Sender nur noch die Planung des Channels, die dann z.B. als Playlist im JSON-Format an die API von QuantumCast übergeben wird. Diese enthält eine Auflistung aller abzuspielenden Audio-Elemente mit Metadaten und vor allem einen Verweis auf die Audio-Datei selbst. Aus den einzelnen Elemente wird der Stream direkt in der Cloud mit der gleichen Qualität wie im Studio produziert. Das schließt für jeden Stream individuell konfigurierbare Überblendungen und Audio-Processing ein. Falls selbst die Erstellung der Playlist nicht mehr im Studio erfolgen soll, ist auch dies web-basiert in vereinfachter Form als Teil des QuantumCast-System möglich. 

Da nun jedes Audio-Element im Roh-Format vorliegt, kann bei der Erstellung des Streams detailliert und in Echtzeit auf die Inhalte eingewirkt werden. So stehen Dienste zur Verfügung, die vor dem Abspielen prüfen, ob externe Audio-Elemente bereitstehen, die in den Stream eingebaut werden sollen. Das können Nachrichten, Wetter, Verkehrsmeldungen aber auch andere Wortbeiträge oder Podcasts sein, die wie geplante Elemente in Echtzeit mit Überblendung und Audio-Processing in den Stream gemischt werden. In der Regel erhalten zwar auch weiterhin die meisten Hörer einen Stream mit den gleichen Audio-Inhalten, aber diese Technologie erlaubt es, für jeden Hörer einen individuellen Stream mit der gleichen Technik und in der gleichen hohen Audioqualität aber mit persönlichen Anpassungen zu erzeugen. Diese Personalisierungen sind dabei nicht nur auf das Einbinden externe Inhalte beschränkt, auch technische Parameter wie Soundqualität und auch die Musikinhalte selbst lassen sich individualisieren. Schließlich ist dies auch die Voraussetzung für das Überspringen von Elementen beim Skipping. Jeder Hörer erhält dann einen für ihn produzierten Stream, der exakt bei der gewünschten Position startet.

In jedem Fall - egal ob es sich um den normalen Stream, einen personalisierten Stream oder einen Skip-Stream handelt - ist das Resultat ein klassischer Icecast-kompatibler Internet-Radiostream, der mit allen üblichen Endgeräten (Wlan-Radios, Smartphones, Webbrowser, Audio-Apps, Autoradios, Smartspeaker) kompatibel ist. Anders als bei On-Demand-Streaming sind für das Abspielen keine speziellen Anpassungen nötig. 


Dipl.-Ing. (FH) Peter Teich
arbeitet als Backend-Entwickler und DevOps-Engineer im Bereich Audio-Streaming und ist CTO von streamABC.


Broadcast systems for radio stations need a technology upgrade to be more flexible to keep up with recent listener's requirements. A scalable cloud-based platform for digital audio allows to easily produce new channels that allow personalized and skippable streaming without limits.