Il arrive qu'on soit dans un endroit avec d'autres accros à l'informatique et la musique, et on aimerait bien avoir un truc qui joue de la musique, et ou tout le monde puisse enqueuer des trucs de partout. MPD est bien, mais ca requiert d'avoir tout les morceaux en local sur la machine qui play.
Donc, une méthode ©™® OpenBSD-hackathon-proof, utiliser lpd.
Sur la box/serveur ou y'a les haut-parleurs :
# lancer lpd par défaut $ echo 'lpd_flags=""' >> /etc/rc.conf.local # avoir un script de spool qui balance l'input dans mplayer $ cat /usr/local/bin/mp3spool #!/bin/sh /usr/local/bin/mplayer -af resample=48000 - > /dev/null 2>&1 # avoir une queue lpd qui balance son input dans mp3spool $ cat /etc/printcap mp3|lp:\ :lp=/dev/null:mx#0:if=/usr/local/bin/mp3spool:sd=/tmp # hop on lance lpd $ sudo lpd
Enfin, sur tout les clients :
#on ajoute la queue distante $ cat /etc/printcap rp|remote line printer:\ :lp=:rm=IP-DU-SERVEUR:rp=lp:sd=/var/spool/output:lf=/var/log/lpd-errs: $ lpq -Prp lp is ready and printing Rank Owner Job Files Total Size active lbreuil 89 06.Concrete Jungle.mp3 8134656 bytes 1st lbreuil 90 05.Rat Race.mp3 5228544 bytes # on queue des trucs qui sont sur son disque local a soi $ lpr -Prp trucs.mp3
Et voila un serveur de streaming partagé à peu de frais !! Si on est vraiment feignant et qu'on a pas envie de taper -Prp, on peut coller PRINTER=rp dans l'environnement, il trouvera tout seul.