Darwin streaming server e mp3 broadcast

Apparso sul blog: "Broken links" nel 2009

Mi capita di voler ascoltare della musica in mp3 che ho sul portatile dalle casse grandi che sono collegate al computer fisso. Ci sono svariati modi di ottenere ciò, da soluzioni hardware commerciali al semplice spostare gli mp3 sul fisso, una soluzione efficace è esportare una share del disco del portatile verso il fisso, ma in questo caso ho voluto provare a stremmare gli mp3 dal portatile e raccogliere lo stream dal fisso e invece che usare Icecast o Soma, farlo usando DSS, Darwin Streaming Server, software open source della Apple.

Installo DSS e Quicktime Streaming Server sul portatile, setto un admin/pwd puntando il browser a http://127.0.0.1:1220 e una password per il broadcast. Apro la porta 8001 nel firewall. Creo una playlist degli mp3 che voglio stremmare, che consiste in un file di testo con l'header PLAY-LIST e l'elenco dei files uno per riga con il percorso intero.

Ad esempio il file: playlist.m3u contiene le seguenti righe:

*PLAY-LIST*
/Volumes/data/musica/miles_davis-on_the_corner.mp3
/Volumes/data/musica/weather_report-speechless.mp3

Per creare velocemente una playlist da una directory:

tree -xfiF --noreport /Volumes/data/musica/ > ~/playlist.m3u

e aggiungo poi l'header PLAY-LIST all'inizio del file, ma potrei anche esportare una playlist di VLC o creare una playlist con cplay.

Creo un file di configurazione per MP3Broadcaster, che può contenere poche righe

play_mode weighted_random
broadcast_password "la_password"
broadcast_name "radio free vattelapesca"
broadcast_genre pop

il play_mode può essere anche play_mode sequential o play_mode sequential_looped.

Ora lancio dal portatile il comando

MP3Broadcaster -d -a 127.0.0.1 -p 8001 -c MP3Broadcaster-config -l playlist.m3u

Posso usare anche la flag -x per verificare la playlist prima di stremmare.

A questo punto raccolgo lo stream dal computer fisso collegato alle casse, posso usare per questo diversi software, compresi VLC o iTunes per collegarmi allo stream a questo indirizzo: http://IP_del_portatile:8001 ma se sono pigro e non voglio alzarmi dalla sedia mi collegherò con ssh verso il fisso usando mplayer:

ssh IP_del_pc_fisso mplayer http://IP_del_pc_portatile:8001