RoarAudio: Unterschied zwischen den Versionen

Aus UUGRN
K (→‎Unterthemen: + prog intro)
K (→‎Unterthemen: anzeige bugs...)
Zeile 78: Zeile 78:
  
 
== Unterthemen ==
 
== Unterthemen ==
 +
<!-- splist ist irgendwie kaputt, es ignoriert redirekts, und hat komische anzeige Fehler bei Unterunterseiten -->
 +
 
<splist />
 
<splist />
* [[RoarAudio/Programmieren/Intro|RoarAudio Einleitung zur Programmierung]]
 
 
* [[RAUM]] (Media Container)
 
* [[RAUM]] (Media Container)
 
* [[µRoar]] (Bibliothek)
 
* [[µRoar]] (Bibliothek)

Version vom 8. Februar 2010, 01:01 Uhr

RoarAudio ist ein Sound-Server für alle POSIX konformen Betriebssysteme (GNU/Linux, *BSD, Mac OS X und andere) unter aktiver Entwicklung. Er ist als Ersatz für den Enlightened Sound Daemon (ESD, EsounD) gedacht und bietet zusätzliche Funktionen für den Studio Betrieb.

RoarAudio Logo


Ein Sound-Server mischt Audio Daten, die von verschiedenen Applikationen auf einer Soundcard abgespielt werden sollen. RoarAudio erweitert dieses Konzept indem er auch andere so genannte Output Streams haben kann als Soundcards: unter anderem Dumps in Dateien, Pipes oder Streaming an einen (Web-)Streaming Server. Auch ist es möglich Daten nicht nur von Applikationen zu beziehen sondern die Input Streams auch Daten aus Dateien oder über das Netzwerk beziehen zu lassen. Ebenso ist es möglich Daten über Geräte wie Soundcards und ISDN Adaptern zu beziehen.

Ein weiterer Unterschied zu herkömmlichen Sound-Servern ist, dass RoarAudio auch verschiedene komprimierte Codecs unterstützt wie Vorbis, Speex, CELT und andere.

RoarAudio ist dafür entworfen eine sehr niedrige Latenz aufzuweisen. Sie liegt zwischen < 1ms und 10ms. Auch besteht volle Netzwerk-Transparenz. Dass heißt das Applikationen nicht zwangsweise auf dem selben Rechner laufen müssen wie RoarAudio selbst. Die Applikationen (Clients) können sich auch via IP oder DECnet auf den Server miteinander verbinden.


Kompatibilität

RoarAudio bringt diverse Plugins sowie Kompatibilitäts-Layer (Bibliotheken + Binarys) mit. Zu den wichtigsten zählt die libroaresd, welche es jeder Applikation, die EsounD Unterstützung besitzt, ermöglicht RoarAudio zu nutzen. Da diese Bibliotheken Binär-kompatibel sind ist es nicht nötig die Applikation erneut aus dem Source-Code heraus zu kompilieren. Weitere Plugins sind unter anderem für MPlayer, XMMS und gstreamer (GNOME) verfügbar. An einem Ersatz für aRts (KDE) wird gearbeitet.

Lizensierung

Im Moment ist das Projekt unter der GPLv3 und LGPLv3. Auf Grund diverser Lizenz Probleme unterliegen alle Binär Versionen der GPLv3. Es besteht das Streben die Lizensierung auf eine weniger strikte Lizenz umzustellen.

Um Programmen unter nicht kompatibler Lizenz den Zugriff auf RoarAudio zu ermöglichen wurde µRoar geschrieben. Es handelt sich hierbei um eine minimalistsche Bibliothek welche den Zugriff, vor allem auf win32, ermöglicht.

Projekt Geschichte

Das Projekt hatte am Son den 31 August 2008 sein initialen Release.

Architektur

RoarAudio ist in mehrere unabhänigen Komponenten eingeteilt. Diese werden intern mit einem weitgehend Objekt Orientierten Design umgesetzt.

RoarAudio im OSI Modell

Schicht Schicht Name Objekte Modul(e) Beispiele
7 Anwednung Stream Mixer Musik Stück
6 Präsentation Codec Codec Filter PCM, A-Law, Vorbis, ...
5 Sitzung Client, Message Steuer Logik Befehle: QUIT, NEW_STREAM, ...
4 Transport VIO, Socket IO TCP, NSP, ...
3 Netzwerk VIO IO IP, DRP, ...
2 Sicherung Ethernet, RS232, I2C, CAN, ...
1 Physikalisch Kupfer, LWL, Funk

Unterthemen

  • RAUM (Media Container)
  • µRoar (Bibliothek)
  • RoarAudio PlayList Daemon (Player Backend)
  • Romie (Web basierender Player)
  • RoaringBox
  • Weblinks

    Offizielle Webpräsenz „RoarAudio”

    UUGRN-Wiki verbessern („Stub”)

    Dieser Artikel ist leider sehr kurz. Also: Sei mutig und mache aus ihm bitte einen guten Artikel, wenn du mehr zum Thema „RoarAudio” weißt.