View
216
Download
0
Category
Preview:
Citation preview
Audio Streaming mit Java- die Technik hinter WWR2
Bernhard Frötschl
Freie Universität BerlinInstitut für Informatik
froetsch@inf.fu-berlin.dewww.inf.fu-berlin.de/~froetsch
World Wide Radio 2
TCP/IP und Java 1.1 basiertLive aufnehmen oder fortlaufend sendenAuf Benutzer-Abruf mit dem Senden eines
bestimmten Titels beginnenIn den Audio-Stream können auch
Internet-Adressen eingebettet sein
Hören von WWR2: WWR2-Client
Computer mit SoundkarteAktueller Java-fähiger Web-Browser Internetzugang
Eintippen von www.javaradio.de
=> Radiosendung beginnt
WWR2-Client - Vorteile
Keine Installation: kein Programm oder Plugin herunterladen und konfigurieren
Großes Problem, das jeder Internetsurfer kennt: stockende Übertragung der Daten
=> WWR2 gleicht dies mit einer Zwischenspeicher-Technologie aus.
WWR2-Client - Details
10 KB großes Client-Applet wird übertragen.Applet startet in der virtuellen Java-
Maschine des Browsers .Übertragung der Audio-Daten in einen
Puffer. Nachdem der Puffer ausreichend geladen
ist, beginnt das Abspielen.
WWR2-Client - Pufferzeiten
Bei einem 200MHz-PC und guter Internet-Anbindung dauert es vom Eintippen bis zum ersten Ton ca. 6 Sekunden.
Der Puffer wird im folgenden weiter geladen und dient dazu Sende-unterbrechungen von bis zu 40 Sekunden abzufangen.
WWR2-Client - Übertragungsraten
15 Kbps für verständliche Übertragung
Bessere Qualität bei 20 Kbps, 30 Kbps und 50 Kbps
Übertragung mit 30 Kbps, unterscheidet sich in der Hörqualität kaum von der Übertragung mit 50 Kbps.
WWR2-Client - Weiterleitung
Internetanbindung zum aktuellen WWR2-Server zu langsam oder abgebrochen=> Client kann sich mit einer alternativen Internet-Adresse verbinden.
Dort kann z.B. ein weiterer WWR2-Server zur Verfügung stehen oder andere Informationen in Form einer Webseite geboten werden.
WWR2-Client - Internetadressen-Einbettung
In den Audio-Daten-Strom können Internet-Adressen eingebettet werden.
Anzeige synchron zum Audio-Strom im Webbrowser=> Präsentationen, Vorträge, interaktive Online-Tutorials
Beispielvortrag ist abrufbar unter www.javaradio.de/lecture
WWR2-Client - MASI
Synchronisationsschnittstelle für weitere Medien-Applets: MASI = Media Applet Synchronisation Interface
Andere Applets können sich mit demWWR2-Stream synchronisieren.
=> Realisierung anspruchsvoller Animationen
WWR2-Client - Tafel
Beispiel für die Anwendung von MASI
Schreibvorgang eines elektronischen Stiftes auf interaktiver virtueller Tafel
Unter www.javaradio.de/board wurde ein Vortrag mit dieser Technik aufgezeichnet.
WWR2-Client - Zukunft
Prinzipiell auch Bilder übertragbar
=> Durch die Synchronisation von tonlosen Bild-Streams mit Audio-Streams entstehen Video-Streams.
Erste Demos werden gezeigt unter www.javavideo.de
Senden mit WWR2: WWR2-Server
Beim Sender wird ein vorkonfigurierter Webserver (z.B. Apache)
gestartet, ein Mikrofon an die Soundkarte
angeschlossen und der WWR2-Server unter Java gestartet.
=> WWR2 ist auf Sendung!
WWR2-Server - Sendematerial
Live sendenAus einer Audio-Datei abspielenAudio-Dateien in Schleife beliebig oft
wiederholen - auch für gerade zu Ende gegangene Live-Sendung, die parallel aufgezeichnet wurde.
WWR2-Server - Systemvorausetzungen
Für Live-Sendungen: Linux oder Unix
Zum Abspielen von Audio-Dateien: alle Betriebssysteme, die Java unterstützen, also z.B. Linux, Unix, alle Windows-Derivate oder MacOS
WWR2-Server - Start des Servers
Zum Senden wird das Javaprogramm 'wwrserver' verwendet, das Konfigurations-daten aus einer Parameterdatei liest.
Optionen auf den folgenden Folien
WWR2-Server - Weiterleitung
Hörerzahl erreicht konfigurierbare Schwelle:
=> neu hinzu kommende Hörer werden automatisch an einen anderen Server weitergereicht
Hörer bemerkt davon nichts.
WWR2-Server - Übertragungsraten
Die Sendungen können zur Zeit mit einer Bandbreite von 15 , 20, 25, 30 oder 50 Kbps übertragen werden.
Java 1.1 besitzt die Beschränkung, Audio mit maximal 8 kHz Mono abspielen zu können.
Diese Qualität wird bereits mit 50 Kbps verlustlos übertragen.
WWR2-Server - Java 2
Erst ab Java 2, das die meisten Browser nicht direkt unterstützen (erst über ein spezielles Plugin), ist höhere Audio-Qualität (z.B. CD-Qualität) abspielbar.
Sobald solche Browser verbreitet sind, werden wir entsprechende Codierungen anbieten.
WWR2-Server - Internetadressen-Einbettung
Zu vorbestimmbaren Zeitpunkten in den Internet-Adressen einbettbar (siehe Client)
Zeitpunkte vor Abspielen von Audio-Dateien in Konfigurationsdatei abgelegt.
Zukunft: interaktive Sende-Steuerung, die die Einbettung während einer Live-Aufnahme erlaubt.
WWR2-Server - Fernsteuerung
Echte Online-Administration = Kommandos an den Server während des Betriebs:
Gesamte Serverkonfiguration ist über einen Service-Port wartbar, der mit einem Passwort gesichert ist.
ToDo: Benutzeroberfläche dazu -bisher nur Kommdos über Telnet an den Serviceport
Radio-Verteiler-Software: WWR2-Broadcaster
Für sehr großen und weltweit verteilten Hörerkreis muß Routing mit Verteilern eingesetzt werden:
Auf weit voneinander entfernten Servern werden WWR2-Verteiler (Broadcaster) eingerichtet, so daß der Audio-Datenstrom erst nach dem Verteiler vervielfacht wird.
WWR2-Broadcaster - Diagramm
WWR2-Broadcaster - Funktionsweise
WWR2-Sender kann an beliebig viele WWR2-Broadcaster senden, Verteiler wiederum an die Hörer, aber auch an beliebig viele andere Verteiler=> sehr große Masse an Hörern erreichbar
unabhängig von der verfügbaren Bandbreite des Sendersystems
WWR2-Broadcaster - Software
Vorausetzung: Betriebssystem mit Java 1.1
Unterstützt auch alle vorher genannten Arten von Datenströmen
Ab bestimmter Hörerzahl können neue Hörer an einen anderen Broadcaster oder Server weitergeleitet werden.
WWR2-Broadcaster - Betriebsmodi
Flexible Verbindung (On-Demand-Mode): Verbindung zu Server erst, wenn sich mindestens ein Hörer anmeldet.
Permanente Verbindung (Permanent-Mode): Broadcaster hat ständige Verbindung zum Server, auch wenn kein Hörer beim Broadcaster angemeldet ist.
WWR2-Broadcaster - Beispiel
Live-Übertragung von kulturellem EreignisNur geringe Bandbreite vor Ort: ISDNWWR2-Server: einfacher Linux-PC mit
ISDN-Karte und Mikrofon vor OrtÜberträgt Signal an einen WWR2-
Broadcaster in der Zentrale mit großer Bandbreite
WWR2-Broadcaster - Beispiel
Alternativ kann ein Internet-Provider diese Aufgabe übernehmen.
Bei Bedarf werden in anderen Städten, Ländern oder Kontinenten weitere WWR2-Broadcaster aufgestellt.
Die Zugriffsstatistik des Webservers zeigt u.a. die Herkunftsorte der Hörer, wodurch flexibel auf erhöhte Anforderungen reagiert werden kann.
WWR2 auf Abruf: WWR2-Encoder
Für jederzeit abrufbare WWR2-AufnahmenAudio-Dateien im WWR2-Format codiert Kann ohne WWR2-Server von jeder
normalen Internet-Webseite zur Verfügung gestellt werden
Datei enthält neben den Audio-Daten den sehr kleinen WWR2-Client (10 KB)
Mit allen Java-fähigen Browsern abspielbar
WWR2-Encoder - Internet-Adresseneinbettung
Internet-Adressen in den Audio-Daten-Strom einbettbar
=> Benutzer kann Musikstücke mit Texten und Bildern oder animierte Vorträge zu beliebiger Zeit starten.
Beispielanwendung: Learning on Demand
wwr@inf.fu-berlin.dewww.javaradio.de
Gerald Friedland, Bernhard FrötschlOlav Surawski, Prof. Dr. Raúl Rojas
Recommended