Addons:Icecast

Aus IPFireWiki

Wechseln zu: Navigation, Suche
Warnung
Warnung

Das Icecast-Paket ist noch nicht für direkten Einsatz vorkonfiguriert
Der Einsatz ist deshalb im Moment erfahrenen Nutzern vorbehalten.


Inhaltsverzeichnis

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.

Datei
/var/ipfire/mpfire/mpd.conf
#
# 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.)

Datei
/usr/etc/icecast.xml
    <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

Datei
/etc/init.d/icecast
#!/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.

Datei
/etc/init.d/alsa

case "$1" in

start)
boot_mesg "Starting Soundcard dummy..."
modprobe snd_dummy >/dev/null 2>&1
evaluate_retval
boot_mesg "Starting ALSA... Restoring volumes..."


Persönliche Werkzeuge