Come ascoltare una diretta di uno show su Spreaker, con un raspberry e lo stereo
Tempo addietro la mattina ascoltavo una trasmissione radiofonica con due conduttori: Sandro “Fuffo” Bernardini e Nicole Fondato. Poi, per fatti vari, hanno smesso di trasmettere e hanno iniziato a fare un podcast su Spreaker. Dalle 8 alle 9 va in diretta e poi si può sentire come ogni normale podcast. Allora ho deciso di utilizzare il mio raspberry per sentire lo show live ogni mattina. Il raspberry è attaccato allo stereo con un jack da 3.5mm e con un cavo, tipo quello in figura:
Ho scritto uno script in bash la cui logica è la seguente:
la risposta viene salvata in una variabile: rawresponse
viene valutato se la trasmissione è live con l’uso di jq
e, se è live viene estratto il valore della url dell’ultimo show. Quella url, in realtà, fa un redirect 302 verso la posizione reale del file probabilmente su una CDN, e questa url viene salvata in una variabile e poi suonata tramite il programma mplayer (incluso in linux)
#!/bin/bash
rawresponse=$(curl -s 'https://api.spreaker.com/v2/shows/5913168/episodes?sorting=newest')
islive=$(echo $rawresponse | jq --raw-output '.response.items[0].is_on_air')
if [ $islive == "true" ];
then
urldef=$(echo $rawresponse | jq --raw-output '.response.items[0].playback_url')
url=$(curl -w "%{url_effective}\n" -I -L -s -S $urldef -o /dev/null)
mplayer $url > /dev/null
fi
Infine, utilizzando crontab di linux, ho programmato la chiamata alle ore 8 (in realtà qualche minuto prima, alle 7:59) e la chiamata che ferma il play alle 9:20 (lo ferma in maniera brutale tramite pkill, ma funziona e quindi ok). Tutti i giorni dal lunedì al venerdì.
# plumcake start
59 7 * * mon-fri /home/pi/plumcake-stereo.sh
# plumcake stop
20 9 * * mon-fri pkill mplayer
Ogni mattina alle 8 lo stereo inizia a suonare il mio show preferito e, alle 9, si spegne da solo.