Studienarbeit
Realisierung einer flexiblen Multicast-Audiostreaming-Quelle
Completion
2005/03
Students
Daniel Graupner
student
Enrico Minack
student
Advisers
Description (German)
Motivation Radio-UNiCC, das Uniradio an der TU Chemnitz, sendet neben dem Unicast Internetstream auch via Multicast im Studentennetz der TUC. Für den permanenten Sendeeinsatz (10h/tag 4Tage die Woche ... steigend) hat sich derzeit nur ein Tool als praktikabel erwiesen. Der LiveCaster von live.com. Dieses Tool hat allerdings einige entscheidende Nachteile (siehe unten). Deshalb soll in dieser Studienarbeit ein Programm entwickelt werden, welches diese Nachteile eliminiert und auch anwendungsspezifische Erweiterungen einführt. Einsatzszenarien * Radio Stationen, die Ihren Content bandbreitenschonend in lokale Netze (oder auch MBone) einspeisen wollen * Echtzeit-Nachrichtendienste * Übertragung von Vorlesungen in z.B. Studentennetze, oder auch Schulungen in Firmennetze etc. Grundfunktionalität (grob) Das Tool agiert als Multicast Quelle, die Pakete an eine MCast-Adresse verschickt. Es müssen die Audiodaten (mp3, ogg) in rtp-Pakete verpackt werden und (bei entsprechender Synchronisation) an die Gruppe gesendet werden. Der Hörer kann mit geeigneten Programmen (realplayer, zinf, etc.) und der jeweiligen Multicast Adresse die Pakete empfangen und den Audiostream rekonstruieren -> hören. Weitere Anforderungen * trotz Quellfunktion (push), soll das Tool wie ein klassischer Server agieren (Daemonisierung, Signale, Konfiguration, Logfiles, Unterstützung einer Vielzahl von Streams) um den administrativen Aufwand im dauerhaften Sendebetrieb möglichst gering zu halten * da der Server aktiv sendet ist es notwendig ein geeignetes Zeitmanagemant und Steuerungsansätze zu entwickeln (wann wird gestreamt? wer darf welche "streams" wie beeinflussen?) * Vertrieb unter einer GPL ähnlichen Lizenz, die freie Nutzung durch dritte muß gewährleistet sein * beliebige Audioquellen wählbar (http-stream eines Unicast-Servers, Datei auf HDD, ...) * Session Announcement (z.B. via SAP/SDP) Entwicklungsansätze In der Studienarbeit soll auch einige neue Aspekte untersucht werden: * Nutzung des freien Formates (und qualitativ besser als mp3) OGG-Vorbis (wird bisher durch kein Multicast-Tool unterstützt) * Untersuchung von Möglichkeiten zur Realisierung von Authentifizierung, Authorisation und Accounting mittels Verschlüsselung: gezielten Verteilung an bestimmte Hörer (Abonnements), Anwendung: z.B. Kurse an denen nur zahlende Hörer teilnehmen dürfen, Verbreitung sensibler Informationen an bestimmte Gruppe etc. Das entstehende Tool soll insofern offen gestaltet werden, dass Erweiterungen/Weiterentwicklungen einfach zu realisieren sind. Existierende Produkte Recherche hinsichtlich existierender Ansätze, u.a. * liveCaster von live.com, liefert die oben beschriebene Grundfunktionalität, nichts weiter * kommandozeilenorientiert, kein Zeitmanagement -> Framework für Sendebetrieb notwendig * kommerziell (30 Tage Testversion) * diverse Conferencing-Tools (vic, vat aus den mbone tools) o verfolgen anderes Konzept (andere Einsatzszenarien) o gleiche Defizite wie auch bei liveCaster o es gibt viele freie Bibliotheken, die sich dem Problem rtp, rtp+mp3 widmen (rtplib, jrtplib, ortp, liveMedia ... ) + liefern unterstützung bei Nutzung des RTP-Protokolls (liefern Stack) + einige unterstützen sogar mp3 in rtp direkt -> ABER kein OGG-Vorbis Support + stellen keine Lösung für beschriebene Szenarien dar -> helfen aber bei der Realisierung Aufgabenverteilung: * Enrico Minack: o AAA (gezielte Verteilung an best. Hörer) o Recherche existierender Tools o SAP/SDP * Daniel Graupner: o OGG-Vorbis Unterstützung o Organisation Studienarbeit (subversion repository, groupware, etc.) o Zeitmanagement/Servermanagement