audio streaming mit java - die technik hinter wwr2 bernhard frötschl freie universität berlin...
TRANSCRIPT
![Page 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 froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/1.jpg)
Audio Streaming mit Java- die Technik hinter WWR2
Bernhard Frötschl
Freie Universität BerlinInstitut für Informatik
[email protected]/~froetsch
![Page 2: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/2.jpg)
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
![Page 3: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/3.jpg)
Hören von WWR2: WWR2-Client
Computer mit SoundkarteAktueller Java-fähiger Web-Browser Internetzugang
Eintippen von www.javaradio.de
=> Radiosendung beginnt
![Page 4: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/4.jpg)
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.
![Page 5: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/5.jpg)
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.
![Page 6: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/6.jpg)
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.
![Page 7: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/7.jpg)
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.
![Page 8: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/8.jpg)
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.
![Page 9: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/9.jpg)
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
![Page 10: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/10.jpg)
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
![Page 11: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/11.jpg)
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.
![Page 12: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/12.jpg)
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
![Page 13: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/13.jpg)
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!
![Page 14: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/14.jpg)
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.
![Page 15: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/15.jpg)
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
![Page 16: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/16.jpg)
WWR2-Server - Start des Servers
Zum Senden wird das Javaprogramm 'wwrserver' verwendet, das Konfigurations-daten aus einer Parameterdatei liest.
Optionen auf den folgenden Folien
![Page 17: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/17.jpg)
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.
![Page 18: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/18.jpg)
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.
![Page 19: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/19.jpg)
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.
![Page 20: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/20.jpg)
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.
![Page 21: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/21.jpg)
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
![Page 22: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/22.jpg)
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.
![Page 23: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/23.jpg)
WWR2-Broadcaster - Diagramm
![Page 24: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/24.jpg)
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
![Page 25: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/25.jpg)
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.
![Page 26: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/26.jpg)
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.
![Page 27: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/27.jpg)
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
![Page 28: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/28.jpg)
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.
![Page 29: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/29.jpg)
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
![Page 30: Audio Streaming mit Java - die Technik hinter WWR2 Bernhard Frötschl Freie Universität Berlin Institut für Informatik froetsch@inf.fu-berlin.de froetsch](https://reader035.vdocuments.site/reader035/viewer/2022081520/570491c61a28ab14218daedf/html5/thumbnails/30.jpg)
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