Addons:Icecast
Aus IPFireWiki
Das Icecast-Paket ist noch nicht für direkten Einsatz vorkonfiguriert
Der Einsatz ist deshalb im Moment erfahrenen Nutzern vorbehalten.
Was ist Icecast
Icecast ist ein MP3 und OGG Streamingserver mit dem es möglich ist an shoutcast-kompatible Programme ein Audiosignal zu streamen. Damit ist es unter anderem möglich die Soundausgabe vom MPFire über das Netzwerk an die Client's zu senden.
Konfiguration
MPFire: zusätzliche Streamausgabe einschalten
In der Konfigurationsdatei vom MPFire ist die Streamausgabe vorbereitet aber Auskommentiert. Wichtig ist hierbei das man nur die Bitrate oder die Qualität festlegen darf. Auch sollte man hier das Passwort ändern.
#
# An example of a shout output (for streaming to Icecast):
#
audio_output {
type "shout"<br>
name "MPFire Output Stream"<br>
host "localhost"
port "8000"
mount "/mpd.ogg"
password "ipfiresrc"
# quality "5.0"
bitrate "128"
format "44100:16:1"
# user "source" # optional
# description "My Stream Description" # optional
# genre "jazz" # optional
# public "no" # optional
}
#
# Set this if you have problems
Icecast Server konfigurieren
Konfigurationsdatei anpassen
Die Passworte und Sicherheitseinstellugen wie im Bild anpassen. (Sourcepasswort muss mit der mpd.conf übereinstimmen.)
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>ipfiresrc</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>rel-pwd</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>ipfire</admin-password>
</authentication>
...
<security>
<chroot>0</chroot>
<changeowner>
<user>nobody</user>
<group>nobody</group>
</changeowner>
</security>
Verzeichnis für die Logdateien anlegen
- mkdir /usr/var
- mkdir /usr/var/log
- mkdir /usr/var/log/icecast
Dem USER nobody zuordnen
- chown nobody:nobody /usr/var/log/icecast
Testweise den Server starten
- icecast -b -c /usr/etc/icecast.xml
Testweise den Server stoppen
- killall icecast
Initscript anlegen
#!/bin/sh
# Begin $rc_base/init.d/icecast
# Based on sysklogd script from LFS-3.1 and earlier.
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
boot_mesg "Starting icecast..."
loadproc /usr/bin/icecast -b -c /usr/etc/icecast.xml >/dev/null 2>&1
evaluate_retval
;;
stop)
boot_mesg "Stopping icecast..."
killproc /usr/bin/icecast
evaluate_retval
;;
status)
statusproc /usr/bin/icecast
;;
restart)
$0 stop
sleep 3
$0 start
;;
*)
echo "Usage: $0 (start|stop|restart|status)"
exit 1
;;
esac
# End $rc_base/init.d/icecast
Rechte ändern
- chmod 755 /etc/init.d/icecast
Server starten
- /etc/init.d/icecast start
Server stoppen
- /etc/init.d/icecast stop
Server neustarten
- /etc/init.d/icecast restart
Server status abfragen
- /etc/init.d/icecast status
Autostart des Icecast Server
Autostart Einschalten
- ln -s ../init.d/icecast /etc/rc.d/rc3.d/S65icecast
- ln -s ../init.d/icecast /etc/rc.d/rc0.d/K35icecast
- ln -s ../init.d/icecast /etc/rc.d/rc6.d/K35icecast
Autostart Ausschalten
- rm /etc/rc.d/rc3.d/S65icecast
- rm /etc/rc.d/rc0.d/K35icecast
- rm /etc/rc.d/rc6.d/K35icecast
Benutzung
Icecast hat ein eigenes Webinterface das Standardmäßig unter http://ipfire:8000 aufgerufen werden kann.
Spezialfall: MPFire ohne Soundkarte
Die Benutzung von MPFire ohne eine Soundkarte im IPFire ist möglich indem man eine Soundkarte emuliert. Hierzu muss man in das Initscript vom Alsa-Soundsystem die fett geschriebenen Zeilen einfügen.
case "$1" in
- start)
- boot_mesg "Starting Soundcard dummy..."
- modprobe snd_dummy >/dev/null 2>&1
- evaluate_retval
- boot_mesg "Starting ALSA... Restoring volumes..."
- boot_mesg "Starting Soundcard dummy..."

