Benutzer-Werkzeuge

Webseiten-Werkzeuge


audio_streaming

Dies ist eine alte Version des Dokuments!


Audio Streaming

8.9.2014

Zweck

Ich hab mir schon öfters gewünscht, die Audio-Ausgabe der Soundkarte über WLAN auf ein Smartphone zu übertragen, und somit mit vorhandenen Mitteln Funkkopfhörer zu emulieren.
Ob es alltagstauglich ist, wird sich herausstellen.

Struktur

Ich hab schon mal nach einem kleinen Tool gesucht, das das einfach so macht. Leider bin ich nicht fündig geworden.
Das ganze scheint etwas komplizierter zu sein:
Heute bin ich auf Icecast gestoßen. Das ist die eigentliche Server-Software. Aber die tut so noch nichts. Diese muss noch von so genannten „Source Clients“ mit Audio-Daten versorgt werden.

Für meinen Zweck läuft dann auf meinem Notebook einerseits der Icecast2-Server, und weiters noch der Source-Client Namens IceS. Der Sourc-Client hat als Audioquelle die Soundkarte. Auf dem Android-Telefon verbindet sich der VLC-Mediaplayer dann zum Notebook, und spielt dann den Audio-Stream.

Installation

icecast2

sudo apt-get install icecast2

Das config-file liegt dann im Verzeichnis /etc/icecast2

Fürs erste braucht man nur die 3 Passwörter verändern.

Dann schreibt man das ENABLE-flag in

sudo kate /etc/default/icecast2

auf

ENABLE = true

um.

Mit

sudo /etc/init.d/icecast2 start

wird der Server gestartet und im Browser kann man das Webinterface unter

http://localhost:8000

aufrufen.

Unter

/etc/icecast2/

gibt es eine Datei namens icecast.xml
Diese kann man auf seine eigenen Bedürfnise anpassen. Siehe http://icecast.org/docs/icecast-2.3.3/basic-setup.html

Edit-2014-11-11: Klickt man auf 'Admin Home', kommt ein Login-Fenster, bei dem man sich mit 'admin' und 'test123' anmelden kann. Soweit so gut.

ices2

sudo apt-get install ices2

Wir brauchen dann noch ein paar neue Verzeichnisse:

sudo mkdir /var/log/ices
sudo mkdir /etc/ices2

Kubuntu verwendet standardmäßig das ALSA Audio System. Daher kopieren wir die entsprechende Vorlage:

sudo cp /usr/share/doc/ices2/examples/ices-alsa.xml /etc/ices2

Diese Config-Datei bearbeiten wir nun mit dem bevorzugten Editor:

sudo kate ices-alsa.xml

Dabei verändern wir folgendes:

<background>1<background>
<param name="metadata">0</param>

In <instance>:

<password>*******</password>
<mount>/lenovo-audio.ogg</mount>
<yp>0</yp>
<downmix>0</downmix>

Dann starten wir Ices

sudo ices2 /etc/ices2/ices-alsa.xml

Probleme

Derzeit funktioniert das ganze noch nicht.
In der Log-Datei von IceS findet man folgenden Fehler:

EROR stream/ices_instance_stream Failed initial connect to localhost:8000 (Login failed: Success)

Vielleicht hat das etwas damit zu tun, dass auch der Admin-Login im Webinterface nicht funktioniert… Heute ist's schon spät.

11.11.2014
Beim Icecast-Server wurde die Bind-Adresse auskommentiert:

<listen-socket>
  <port>8000</port>
  <bind-address>127.0.0.1</bind-address>
  <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>

Nun läuft die Sache bereits. Ich konnte mich mit meinem Android Telefon auf den Server im WLAN verbinden.

Große Verzögerung

Die Audioübertragung hat eine sehr große Verzögerung von 7 Sekunden und mehr! Das kann man im icecast.xml jedoch beheben:

<burst-on-connect>0</burst-on-connect>

Diese Einstellung war zuvor auf 1.

Audio-Quelle ist Mikrophon statt Ausgang

Quellen

audio_streaming.1415740585.txt.gz · Zuletzt geändert: 2014/11/11 22:16 von karl