====== 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: 1 0 In ****: ******* /lenovo-audio.ogg 0 0 Dann starten wir Ices sudo ices2 /etc/ices2/ices-alsa.xml ===== Probleme ===== ==== Stream Client kann sich nicht verbinden ==== 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\\ Nun läuft die Sache bereits. Ich glaub, dass ein neustart notwendig war. Denn ansonsten hab ich nichts geändert - soweit ich weiß. \\ 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 sollte man angeblich im icecast.xml beheben können: 0 Diese Einstellung war zuvor auf 1. Aber das umstellen auf 0 hat auch nichts geholfen. ==== Audio-Quelle ist Mikrophon statt Ausgang ==== ===== Notizen ===== Um die Latenz zu verkürzen, ist sighttpd evt eine Lösung. (http://www.kfish.org/software/sighttpd/)\\ Darkice würde sich als stream-source anbieten. (siehe http://askubuntu.com/questions/28496/how-do-i-setup-an-icecast-server-for-broadcasting-audio-in-my-network) ===== Quellen ===== http://www.icecast.org http://www.icecast.org/ices.php/ http://www.howtoforge.com/linux_webradio_with_icecast2_ices2 http://askubuntu.com/questions/28496/how-do-i-setup-an-icecast-server-for-broadcasting-audio-in-my-network