Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik

Ähnliche Präsentationen


Präsentation zum Thema: "Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik"—  Präsentation transkript:

1 Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de www.inf.fu-berlin.de/~froetsch

2 World Wide Radio 2 zTCP/IP und Java 1.1 basiert zLive aufnehmen oder fortlaufend senden zAuf Benutzer-Abruf mit dem Senden eines bestimmten Titels beginnen zIn den Audio-Stream können auch Internet-Adressen eingebettet sein

3 Hören von WWR2: WWR2-Client zComputer mit Soundkarte zAktueller Java-fähiger Web-Browser zInternetzugang zEintippen von www.javaradio.de => Radiosendung beginntwww.javaradio.de

4 WWR2-Client - Vorteile zKeine Installation: kein Programm oder Plugin herunterladen und konfigurieren zGroßes Problem, das jeder Internetsurfer kennt: stockende Übertragung der Daten => WWR2 gleicht dies mit einer Zwischenspeicher-Technologie aus.

5 WWR2-Client - Details z10 KB großes Client-Applet wird übertragen. zApplet startet in der virtuellen Java- Maschine des Browsers. zÜbertragung der Audio-Daten in einen Puffer. zNachdem der Puffer ausreichend geladen ist, beginnt das Abspielen.

6 WWR2-Client - Pufferzeiten zBei einem 200MHz-PC und guter Internet- Anbindung dauert es vom Eintippen bis zum ersten Ton ca. 6 Sekunden. zDer Puffer wird im folgenden weiter geladen und dient dazu Sende-unterbrechungen von bis zu 40 Sekunden abzufangen.

7 WWR2-Client - Übertragungsraten z15 Kbps für verständliche Übertragung zBessere Qualität bei 20 Kbps, 30 Kbps und 50 Kbps zÜbertragung mit 30 Kbps, unterscheidet sich in der Hörqualität kaum von der Übertragung mit 50 Kbps.

8 WWR2-Client - Weiterleitung zInternetanbindung zum aktuellen WWR2- Server zu langsam oder abgebrochen => Client kann sich mit einer alternativen Internet-Adresse verbinden. zDort kann z.B. ein weiterer WWR2-Server zur Verfügung stehen oder andere Informationen in Form einer Webseite geboten werden.

9 WWR2-Client - Internetadressen-Einbettung zIn den Audio-Daten-Strom können Internet-Adressen eingebettet werden. zAnzeige synchron zum Audio-Strom im Webbrowser => Präsentationen, Vorträge, interaktive Online-Tutorials zBeispielvortrag ist abrufbar unter www.javaradio.de/lecture www.javaradio.de/lecture

10 WWR2-Client - MASI zSynchronisationsschnittstelle für weitere Medien-Applets: MASI = Media Applet Synchronisation Interface zAndere Applets können sich mit dem WWR2-Stream synchronisieren. => Realisierung anspruchsvoller Animationen

11 WWR2-Client - Tafel zBeispiel für die Anwendung von MASI zSchreibvorgang eines elektronischen Stiftes auf interaktiver virtueller Tafel  Unter www.javaradio.de/board wurde ein Vortrag mit dieser Technik aufgezeichnet.www.javaradio.de/board

12 WWR2-Client - Zukunft zPrinzipiell auch Bilder übertragbar => Durch die Synchronisation von tonlosen Bild-Streams mit Audio-Streams entstehen Video-Streams. zErste Demos werden gezeigt unter www.javavideo.de www.javavideo.de

13 Senden mit WWR2: WWR2-Server Beim Sender wird ein zvorkonfigurierter Webserver (z.B. Apache) gestartet, zein Mikrofon an die Soundkarte angeschlossen und der zWWR2-Server unter Java gestartet. => WWR2 ist auf Sendung!

14 WWR2-Server - Sendematerial zLive senden zAus einer Audio-Datei abspielen zAudio-Dateien in Schleife beliebig oft wiederholen - auch für gerade zu Ende gegangene Live-Sendung, die parallel aufgezeichnet wurde.

15 WWR2-Server - Systemvorausetzungen zFür Live-Sendungen: Linux oder Unix zZum Abspielen von Audio-Dateien: alle Betriebssysteme, die Java unterstützen, also z.B. Linux, Unix, alle Windows-Derivate oder MacOS

16 WWR2-Server - Start des Servers zZum Senden wird das Javaprogramm 'wwrserver' verwendet, das Konfigurations- daten aus einer Parameterdatei liest. zOptionen auf den folgenden Folien

17 WWR2-Server - Weiterleitung zHörerzahl erreicht konfigurierbare Schwelle: => neu hinzu kommende Hörer werden automatisch an einen anderen Server weitergereicht zHörer bemerkt davon nichts.

18 WWR2-Server - Übertragungsraten zDie Sendungen können zur Zeit mit einer Bandbreite von 15, 20, 25, 30 oder 50 Kbps übertragen werden. zJava 1.1 besitzt die Beschränkung, Audio mit maximal 8 kHz Mono abspielen zu können. zDiese Qualität wird bereits mit 50 Kbps verlustlos übertragen.

19 WWR2-Server - Java 2 zErst 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. zSobald solche Browser verbreitet sind, werden wir entsprechende Codierungen anbieten.

20 WWR2-Server - Internetadressen-Einbettung zZu vorbestimmbaren Zeitpunkten in den Internet-Adressen einbettbar (siehe Client) zZeitpunkte vor Abspielen von Audio-Dateien in Konfigurationsdatei abgelegt. zZukunft: interaktive Sende-Steuerung, die die Einbettung während einer Live-Aufnahme erlaubt.

21 WWR2-Server - Fernsteuerung Echte Online-Administration = Kommandos an den Server während des Betriebs: zGesamte Serverkonfiguration ist über einen Service-Port wartbar, der mit einem Passwort gesichert ist. zToDo: Benutzeroberfläche dazu -bisher nur Kommdos über Telnet an den Serviceport

22 Radio-Verteiler-Software: WWR2-Broadcaster zFür sehr großen und weltweit verteilten Hörerkreis muß Routing mit Verteilern eingesetzt werden: zAuf weit voneinander entfernten Servern werden WWR2-Verteiler (Broadcaster) eingerichtet, so daß der Audio-Datenstrom erst nach dem Verteiler vervielfacht wird.

23 WWR2-Broadcaster - Diagramm

24 WWR2-Broadcaster - Funktionsweise zWWR2-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 zunabhängig von der verfügbaren Bandbreite des Sendersystems

25 WWR2-Broadcaster - Software zVorausetzung: Betriebssystem mit Java 1.1 zUnterstützt auch alle vorher genannten Arten von Datenströmen zAb bestimmter Hörerzahl können neue Hörer an einen anderen Broadcaster oder Server weitergeleitet werden.

26 WWR2-Broadcaster - Betriebsmodi zFlexible Verbindung (On-Demand-Mode): Verbindung zu Server erst, wenn sich mindestens ein Hörer anmeldet. zPermanente Verbindung (Permanent- Mode): Broadcaster hat ständige Verbindung zum Server, auch wenn kein Hörer beim Broadcaster angemeldet ist.

27 WWR2-Broadcaster - Beispiel zLive-Übertragung von kulturellem Ereignis zNur geringe Bandbreite vor Ort: ISDN zWWR2-Server: einfacher Linux-PC mit ISDN-Karte und Mikrofon vor Ort zÜberträgt Signal an einen WWR2- Broadcaster in der Zentrale mit großer Bandbreite

28 WWR2-Broadcaster - Beispiel zAlternativ kann ein Internet-Provider diese Aufgabe übernehmen. zBei Bedarf werden in anderen Städten, Ländern oder Kontinenten weitere WWR2- Broadcaster aufgestellt. zDie Zugriffsstatistik des Webservers zeigt u.a. die Herkunftsorte der Hörer, wodurch flexibel auf erhöhte Anforderungen reagiert werden kann.

29 WWR2 auf Abruf: WWR2-Encoder zFür jederzeit abrufbare WWR2-Aufnahmen zAudio-Dateien im WWR2-Format codiert zKann ohne WWR2-Server von jeder normalen Internet-Webseite zur Verfügung gestellt werden zDatei enthält neben den Audio-Daten den sehr kleinen WWR2-Client (10 KB) zMit allen Java-fähigen Browsern abspielbar

30 WWR2-Encoder - Internet-Adresseneinbettung zInternet-Adressen in den Audio-Daten- Strom einbettbar => Benutzer kann Musikstücke mit Texten und Bildern oder animierte Vorträge zu beliebiger Zeit starten. zBeispielanwendung: Learning on Demand

31 wwr@inf.fu-berlin.de www.javaradio.de Gerald Friedland, Bernhard Frötschl Olav Surawski, Prof. Dr. Raúl Rojas


Herunterladen ppt "Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik"

Ähnliche Präsentationen


Google-Anzeigen