Der mpd ist eine Software, die im shack mit mindestens diesen Komponenten benutzt wird:
Dank recht guter Erfahrungen mit dem MPD wird es gerade wiederaufleben gelassen. Auf dieser Seite entsteht die neue Dokumentation.
Es soll einen Server geben, auf dem die Musik und Streams eingerichtet werden. Es soll möglich sein, dass pro Raum ein Gerät stehen kann, das vom MPD angestreamt wird, sodass man Musik pro Raum regulieren kann. Es soll mindestens eine anstreambare Box in der Lounge stehen. Dazu läuft eine Instanz des Webinterfaces und des MPD pro Raum, in dem einer gebraucht wird. Im Folgenden wird grob zusammengefasst, wie es für die Louge aufgesetzt wurde, sodass man sich daran orientieren kann, das beginnt ab dem „Konfiguration anpassen für die Lounge“ - Abschnitt.
Der Server ist eine VM. Ausgehend von einer standard Debian installation:
Die Entscheidung fiel (mangelns besseren Wissens und mal rumprobiert haben) auf ein Webinterface namens „client175“. Dieses
Der Client kann heruntergeladen werden auf http://code.google.com/p/client175/. Die Konfiguration für die Lounge gibts im Wiki unter shack_wie_tut_der_mpd:client175-config.
Testen ob alles tut via
python server.py
apt-get install apache2
Aktivieren des mod proxy:
a2enmod proxy a2enmod proxy_http /etc/init.d/apache2 restart
Dann die Apache Config der Seite einspielen und fertig.
Auf http://lounge.mpd.shack/ läuft der MPD für die lounge.
Für den Client wird ein NFS-Root vorbereitet. Auf dem Server:
apt-get install nfs-kernel-server echo "/nfs/wyseterm/ 10.42.0.0/16(ro,sync,no_subtree_check)" > /etc/exports exportfs -a mkdir /nfs mkdir /nfs/wyseterm debootstrap --arch=i386 squeeze /nfs/wyseterm chroot /nfs/wyseterm apt-get install debian-keyring vim less linux-image-2.6.32-5-686 apt-get remove nano
Als näcshtes wird die FSTAB eingeschoben.
Dann die Config für den TFTP boot unter der mac-adresse ablegen.
DEFAULT boot/mpd/vmlinuz append vga=normal initrd=boot/mpd/initrd.img root=/dev/nfs nfsroot=10.42.0.114:/nfs/wyseterm http://lounge.mpd.shack:8000/mpd.ogg
Der MPD-Client kriegt per Kernel Commandline sein Stream target mit. (anhängen von mpdstream=http://lounge.mpd.shack:8000/mpd.ogg für die lounge).
Auswertung durch 2 Skripte:
/root/bin/music.pl
#!/usr/bin/perl use strict; my $CMDLINE = '/proc/cmdline'; open(my $fh, "<$CMDLINE") or die("cannot open cmdline $CMDLINE\n"); my $line = <$fh>; close($fh); my @params = split / /,$line; for(my $i=0; $i<$#params; ++$i) { my ($k,$v) = split /=/,$params[$i]; print $v if($k eq "mpdstream"); }
und /root/bin/enterpriseloop.pl
#!/usr/bin/perl use strict; my $CMD='ogg123 -b 64 $(/root/bin/music.pl)'; while(1) { system($CMD); print("stream died, waiting for a bit before trying again\n"); sleep(3); }
und dann der Eintrag in der inittab:
6:23:respawn:perl /root/bin/enterpriseloop.pl 38400 tty6
sowie die alsa Einstellungen so machen, dass alsa auf so 80% Lautstärke steht.
Die Clients erkennen via COmmandline ihren targetstream. Daher können alle vom gleichen nfs readonly booten.
in die crontab von root eintragen:
0 * * * * mpc –port 66000 update
Lounge ... 6600 Seminarraum ... 6601 Elab ... 6602 kueche ... 6603 crafting ... 6604 fablab ... 6605 workshop ... 6606 klo ... 6607
Lounge ... 8000 Seminarraum ... 8001 Elab ... 8002 kueche ... 8003 crafting ... 8004 fablab ... 8005 workshop ... 8006 klo ... 8007
URL zum Merken für Content (einen stream) http://de.scenemusic.net/necta192.mp3
Falls der MPD läuft, in der Lounge aber trotz eingeschaltetem Verstärkerdings und ausreichend gepegelter Lautstärke keine Musik zu hören ist, empfiehlt der bronsen folgende Schritte:
Vergisst man, das Verstärkerdings auszuschalten bevor man Chemotherapie einschaltet, DANN STERBEN LEUTE!