RoarAudio/Installation und Einrichtung
RoarAudio ist ein mächtiger Multi Plattform Soundserver. Im folgenden Artikel sollen Installations- und Konfigurations-Hinweise gegeben werden. Für eine Beschreibung der Software siehe Artikel RoarAudio.
Weitere Informationen finden sich auf der Homepage unter Documentation and Wikis. Hier Gibt es auch ein englisch sprachiges Handbuch.
Installation
Installation aus den Sourcen heraus
Als erstes sollte man auf die Homepage gehen und sich die aktuellen Sources herunterladen. Von dort kann man sich zum Beispiel mittels wget die Sourcen herunterladen:
$ wget http://roaraudio.keep-cool.org/dl/roaraudio-0.3beta2.tar.gz
Danach muss das Archiv mittels tar entpackt werden:
$ tar -xzvf roaraudio-0.3beta2.tar.gz
Dann wechselt man in das neue RoarAudio Verzeichnis und führt 'configure' aus:
$ ./configure
Die Übersetzung kann nun erfolgen:
$ make
Im nächsten Schritt wird das frisch gebackene Binary nun im System installiert.
$ su # make install
beziehungsweise vereinfacht mittels sudo:
$ sudo make install
Aufräumen ...
$ make clean
archlinux
...
OpenBSD
...
Konfigurieren
Benutzen
Plugins
libao
Nach der erfolgreichen Installation sollte das libao Plugin 'roar' zur Verfuegung stehen. Um es als Standard Ausgabe zu benutzen muss folgendes in die Datei /etc/libao.conf geschrieben werden:
default_driver=roar
XMMS
Ist das XMMS Plugin installiert so lässt es sich unter XMMS einfach in den Plugin Einstellungen auswählen: Man drückt Strg+P und kann es dann unter Output Plugin finden. Nach dem Klicken auf OK einfach den laufenden Titel neu starten und das Plugin sollte verwendet werden.
Findet XMMS das Plugin nicht sollte überprüft werden ob roard läuft und XMMS muß gegebenfalls nach dem Starten von roard neu gestartet werden da XMMS dazu neigt, Plugins für nicht beim Start laufende Ausgaben zu verstecken.
Da das Plugin noch keinen Optionen Dialog hat muss der Server gegeben falls wie in Abschnitt Server ohne Optionen des Players auswählen gezeigt eingestellt werden.
Audacious
Zum einrichten des Audacious kann die Anleitung für das XMMS Plugin hergenommen werden. Die aus zu führenden schritte sind die selben.
Basis Tools
RoarAudio kommt mit diversen Basis Tools welche dazu genutzt werden können Dateien abzuspielen, Webradio zu hören und die gemischten Audio Daten wieder weiter zu verwenden.
Musik abspielen
Audio Dateien (nicht nur RIFF/WAVE) lassen sich am einfachsten mittels roarcatplay abspielen:
$ roarcatplay foo.wav
Für Ogg/Vorbis Dateien gibt es ein weiteres Programm namens roarvorbis welches auch Meta Informationen anzeigt:
$ roarvorbis bar.ogg
Zum Abspielen von Musik im Hintergrund ohne einen Player im Vordergrund zu benötigen benutzt man roarradio:
$ roarradio http://www.mein-webradio.org/blubb.ogg
Musik speichern und streamen
RoarAudio kann Musik nicht nur an Soundcards schicken sondern auch in Dateien oder zu einem icecast oder ähnlichen Streaming-Server.
Zum Speichern und Auslesen von Musik kann das Programm roarmon eingesetzt werden:
$ roarmon --codec vorbis output.ogg
roarmon kann auch in Pipes eingesetzt werden:
$ roarmon | myenc -o bla.ext -
Zum Streamen mittels libshout kann roarshout eingesetzt werden.
$ roarshout myserver.de 8000 hackme /roar.ogg
Die Parameter sind mit denen von oggfwd kompatibel und lassen sich mittels --help nachschlagen.
Auch ist es möglich das roard selbst einen Streaming-Server mittels libshout ansprechen kann:
$ roard -oN -o shout -O http://source:hackme@myserver.de:8000/roar.ogg
Hier erzeugt das -oN ein neues Output (output New) mit dem Treiber shout. Die URL gibt die Adresse des Servers an. Der Eintrag ist gleichbedeutend mit dem aus dem Beispiel von roarshout. Das Wort source ist hier der Benutzername, er wird bei roarshout nicht angeben da er der Standard Wert ist muss hier aber angegeben werden Grunds der syntaktischen Korrektheit.
Steuerung mittels roarctl
Server Status
Der Server lässt sich mittels folgendem Befehlen beenden:
$ roarctl exit # Sofort beenden $ roarctl terminate # Beenden sobald alle Clients disconnected sind (Bei vielen Playern: Nach dem aktuellen Titel)
Auserdem kann der Server in den Standby Mode versetzt werden:
$ roarctl standby # oder.. $ roarctl off # In den Standby gehen $ roarctl resume # oder ... $ roarctl on # In den normal Modus gehen
Abgefragt werden kann der aktuelle Status mittels des Befehls standbymode:
$ roarctl standbymode
Client und Stream Informationen Auslesen
Mit dem Befehl allinfo lassen sich nahe zu alle Informationen über Clients und Streams ausgeben:
$ roarctl allinfo
Es gibt auch spezialisiertere Befehle:
$ roarctl serveroinfo # Informationen über des Servers Mischer $ roarctl listclients # Informationen über die Clients (Player) $ roarctl liststreams # Informationen über die Streams
Die Befehle lassen sich mit dem Parameter -v (verbose - Erweiterte Anzeige) kombinieren.
Clients und Streams Manipulieren
Es gibt mehrere Manipulation die zur Laufzeit erfolgen können. Eine der wichtigsten ist es einen Client oder Stream zu kicken:
$ roarctl kick client 123 $ roarctl kick stream 123
Weitere Optionen können für Streams verändert werden. Eine weitere wichtige ist die Lautstärke. Sie lässt sich mittels volume verstellen:
$ roarctl volume 123 mono 50%
Dieser Befehl setzt die Lautstärke auf 50% für den Stream 123. Zu beachten ist hier das mono. Es gibt an das man die Lautstärke für einen Kanal setzen will. Wenn der Stream mehr Kanäle hat, meist 2 für Stereo, so versucht roarctl sinnvoll fortzusetzen: in diesem Falle wird die Lautstärke für alle Kanäle gesetzt.
Möchte man den Pegel für den rechten und linken Kanal getrennt steuern so kann man das Schlüsselwort stereo verwenden:
$ roarctl volume 123 stereo 80% 30%
Dies setzt die Lautstärke auf 80% Links und 30% Rechts. Hat man mehr als 2 Kanäle kann man auch die Anzahl der Kanäle explizit angeben. In diesem Falle muss die Anzahl der weiteren Parametern exakt der Kanalanzahl entsprechen, zum Beispiel:
$ roarctl volume 123 4 20% 40% 60% 80%
Anstatt prozentualer Angaben können auch absolute gemacht werden. Die Skala reicht von 0 bis 65535 (inklusive):
$ roarctl volume 123 mono 8192
Weiterhin ist es mit Neueren Versionen auch möglich angaben in dB zu benutzen sofern Unterstützung für die Standard Mathematik Bibliothek mit einkompiliert wurde:
$ roarctl volume 123 mono -12dB
Zwei Soundserver miteinander verbinden
RoarAudio kann zwei Soundserver mit einander in verschiedensten weisen Koppeln. Hierzu dient das Tool roarinterconnect.
Um dies zu tun muss man die Adressen der Server angeben und Informationen über den Type der Verbindung. Sollten keine Server angegeben werden wird als lokaler Server der default Server benutzt und der entfernte Server wird versucht via OpenSLP auf zu lösen.
Typen
Die Typenangabe ist in zwei teile aufgeteilt: der Server Type (Protokoll) und der Verbindungs Type (Stream Type). Die Folgenden Server Typen gibt es im Moment:
- roar für RoarAudio Server
- esd für EsounD Server
Die Verbindungs Typen sind die folgenden:
- bidir für eine bidirektionale Verbindung (nur RoarAudio, default)
- filter um einen Soundserver als Filter für den Anderen zu verwenden
- transmit um lediglich die Lokale Ausgabe auf den entfernten Server zu spiegeln
- receive um die Ausgabe des entfernten Servers auf den lokalen zu spiegeln
Beispiele
$ roarinterconnect --type transmit --remote stereoanlage.local
Einschränkungen
Der als lokaler Server angegebene Server muss die Fähigkeit haben Background Streams zu verwenden und es muss ich um einen RoarAudio Server handeln. Andere Protokolle sind hier nicht unterstützt.
Kompatibilitäts Layer
ab RoarAudio Version 0.2beta3
Mittels des Tools roarify können Kompatibilitäts Bibliotheken geladen sowie Kompatibilitäts Binarys ausgeführt werden. Dazu wird roarify einfach der Name des Programms über geben welches mit den Kompatibilitäts Bibliotheken geladen werden soll, beziehungsweise das Programm welches emuliert werden soll:
$ roarify myplayer $ roarify mplayer -ao esd bla.ogg $ roarify aucat ... $ roarify esd $ roarify artsplay ...
Liste der Kompatibilitäts Biblotheken
Name | Kompatibel zu | Ab Version | Beschreibung |
---|---|---|---|
libroaresd | Enlightened Sound Daemon | 0.1 | |
libroarpulse | PulseAudio | 0.1 | |
libroararts | aRts - KDE Sound System | 0.1 | |
libroaryiff | YIFF Sound System | 0.1beta2 | |
libroarsndio | OpenBSD sndio | 0.2beta3 |
Liste der Kompatibilitäts Binarys
ab RoarAudio Version 0.3beta2
Sound Systen Name | Ab Version | Beinhaltete Tools |
---|---|---|
EsounD | 0.3beta2 | esd esdcat esdfilt esdmon esdplay |
aRts | 0.3beta3 | artsd artscat artsplay |
NAS | 0.3beta3 | auplay |
YIFF Sound System | 0.3beta3 | yiff yplay yshutdown |
PulseAudio | 0.3beta3 | pacat paplay |
Umgebungsvariablen
Übersicht
Diese Übersicht zeigt die wichtigsten Umgebungsvariablen auf. Weitere werden durch die Kompatibilitäts Layer verwendet.
Variable | Beispiel | Beschreibung |
---|---|---|
HOME | /home/phi | Heimatverzeichnis des Benutzers |
USER | phi | Aktueller Benutzername |
ROAR_SERVER | remote.example.com | Adresse des Daemons |
ROAR_OPTIONS | workaround:use-execed | Optionen für libroar |
ROAR_OPTIONS
Die Umgebungsvariable $ROAR_OPTIONS besteht aus durch Leerzeichen getrennten Options Zeichenketten.
Parameter | Unter-Parameter | Beispiel | Beschreibung |
---|---|---|---|
#/Leer-Option | (keine) | #Ein_Kommentar | Leere Optionen und Optionen welche mit einem # beginnen werden ignoriert. |
workaround | (mehre) | workaround:use-execed | Steuert die Verwendung von Workarounds. |
workaround | use-execed | workaround:use-execed | Setzt das benutzen des use-execed-Workarounds. Dieser kann helfen wenn sich ein NAT-Gateway zwischen Server und Client befindet. |
warning/warn | (mehre) | warn:sysio | Steuert die Verwendung von Warnungen. |
warning/warn | sysio | warn:sysio | Schaltet Warnungen ein die auf sysio verwendenden Code hinweisen. Dies kann Entwicklern bei schreiben Portabler Software helfen. |
force-rate | (keine) | force-rate:44100 | Erzwingt die eine bestimmte Abtastrate bei allen Streams. |
force-bits | (keine) | force-bits:16 | Erzwingt die eine bestimmte Anzahl von Bits pro Abtastwert bei allen Streams. |
force-channels | (keine) | force-channels:2 | Erzwingt die eine bestimmte Anzahl von Kanälen bei allen Streams. |
force-codec | (keine) | force-codec:pcm_s_be | Erzwingt die einen bestimmten Codec bei allen Streams. |
codec | (mehre) | codec:vorbis:q:1 | Setzt Optionen für Codecs. |
codec | quality/q | codec:vorbis:q:1 | Setzt den Qualitätswert für einen Codec. |
codec | complexity | codec:roar_speex:complexity:8 | Setzt die Komplexität mit welcher der Codec arbeiten soll. |
codec | dtx | codec:roar_speex:dtx:true | Setzt das DTX Flag eines Codecs. |
codec | cc-max | codec:roar_celt:cc-max:80 | Setzt die Größe des CC-Puffers eines Codecs. |
codec | vbr | codec:vorbis:vbr:true | Setzt das VBR Flag eines Codecs. |
codec | mode | codec:roar_speex:mode:wb | Setzt den den Modus für einen Codec. (Werte für Speex: nb, wb, uwb) |
set-server | (keine) | set-server:/tmp/otherserver | Setzt den libroar/Applications Standard Server. Dies sollte nur unter seltenen Umständen getan werden. $ROAR_SERVER sollte in den allermeisten fällen Verwendung finden. |
set-authfile | (keine) | set-authfile:/home/phi/.roarauth | Setzt die Datei mit den Authentifikations-Cookies. |
Tips und Tricks
Server ohne Optionen des Players auswählen
Einige Player haben keine Möglichkeit einen Server einzustellen oder man möchte eine globale Einstellung treffen. Hierzu gibt es zwei Möglichkeiten:
Zum einen lässt sich global ein Server einstellen in dem man ein symlink mit dem Namen /etc/roarserver erstellt der auf den Server zeigt. Hier ein paar Beispiele:
$ ln -s /tmp/roarsock /etc/roarserver $ ln -s remote.host.name /etc/roarserver $ ln -s mynode:: /etc/roarserver
Die andere Möglichkeit ist es die Umgebungsvariable ROAR_SERVER zu setzen:
$ ROAR_SERVER=remote.host.name myplayer ... $ export ROAR_SERVER=remote.host.name # bash % setenv ROAR_SERVER remote.host.name # csh $ myplayer ...
Siehe auch
Weblinks
Dieser Artikel ist leider sehr kurz. Also: Sei mutig und mache aus ihm bitte einen guten Artikel, wenn du mehr zum Thema „RoarAudio/Installation und Einrichtung” weißt.