Here's a python script that records a mms (Windows Media Audio) or rtsp (RealAudio?) stream to disk as mp3. It should work with anything that mplayer can play and mplayer can play them all. However its's only been tested with mms and rtsp. Combine RecordMMS with cron and you have yourself a digital VCR for internet radio.
Podcasting is probably the wave of the future, but a lot of the shows I listen to are not available as podcasts. So until Sveriges Radio (Public Service radio in Sweden) and BBC make all their show available as podcasts I'll be using this.
The best way to use SnippSnapp? is from a server that is always on that has constant high speed connection to the internet. You can record several shows in parallell as long as you don't saturate your internet connection.
I use Debian GNU/Linux?. mplayer and lame are not in the distro itself but there are unofficial packages.
Add this line to your /etc/apt/sources.conf
deb ftp://ftp.nerim.net/debian-marillat/ unstable main
Then install mplayer, lame and w32codecs.
See to it that recordmms.py works from the command line. Once you have that working it's time to set up your cronjobs.
This crontab entry:
00 07 * * * /path/to/recordmms.py morgon_ekot 20 p1
Would record the show morgon_ekot than runs on the channel p1 for 20 minutes every day at 7 AM.
You'll have to edit some variables at the top of the script. If you're comfortable with editing a crontab that shouldn't be a problem. You need mplayer and gogo to be on path. gogo can be substituted for lame but lame is a lot slower. On any halfway new machine that shouldn't be a problem though.
I play my recorded shows in phpM2 and Apache::MP3. I also push them to my portable mp3 player using usbmount and rsync. Actually I split them with mp3splt first to make it easier to skip boring parts of programs.
The BBC are doing something to their Real Player streams that mplayer can't handle. At least not at the time of this writing (2005-11-09). The audio get's garbled a few minutes in to the stream. However work is being done to fix this. Check this thread at the Slimdevice forum. Follow the instructions for patching and compiling mplayer. Or check back in May 2006 or so when the patches have trickled down to your distribution of choice.
RECORD="python /path/to/recordmms.py" 33 06 * * 1-5 $RECORD vetenskap 28 p1 46 07 * * 1-5 $RECORD kultur 46 p1 35 10 * * 1 $RECORD samtal_pagar 28 p1 03 11 * * 2,3,4 $RECORD tendens 32 p1 10 12 * * 1-5 $RECORD vetandets_varld 20 p1 30 12 * * 1-5 $RECORD eko_lunch 35 p1 05 13 * * 1-5 $RECORD kulturnytt 15 p1 20 13 * * 1 $RECORD vetenskapsradion_forum 25 p1 20 13 * * 2 $RECORD vetenskapsradion_spraket 25 p1 20 13 * * 3 $RECORD vetenskapsradion_tekno 25 p1 20 13 * * 4 $RECORD vetenskapsradion_historia 25 p1 20 13 * * 5 $RECORD vetenskapsradion_veckomagasin 25 p1 45 13 * * 1-5 $RECORD obs 18 p1 03 14 * * 1 $RECORD kulturradion_vagen 37 p1 03 14 * * 2 $RECORD kulturradion_biblioteket 37 p1 03 14 * * 3 $RECORD kulturradion_bildrutan 37 p1 03 14 * * 4 $RECORD kulturradion_reporter 37 p1 03 14 * * 5 $RECORD kulturradion_spanarna 37 p1 03 15 * * 1-4 $RECORD boktornet 22 p1 03 15 * * 5 $RECORD manniskor_o_tro 22 p1 25 15 * * 3 $RECORD gender 38 p1 25 15 * * 4 $RECORD var_grundade_mening 38 p1 03 16 * * 1-5 $RECORD studio_ett_timme_ett 42 p1 45 16 * * 1-5 $RECORD ekot_kvartifem 15 p1 00 17 * * 1-5 $RECORD studio_ett_timme_tva 45 p1 15 18 * * 5 $RECORD kulturfredag 48 p1 03 20 * * 1 $RECORD brytpunkten 32 p1 03 09 * * 6 $RECORD konflikt 82 p1 05 13 * * 6 $RECORD ekots_lordagsintervju 25 p1 03 14 * * 6 $RECORD dokumentar 57 p1 03 09 * * 7 $RECORD godmorgon_varlden 120 p1 05 13 * * 7 $RECORD kaliber 30 p1 00 17 * * 7 $RECORD filosofiska_rummet 45 p1 10 22 * * 5 $RECORD rytm 110 p3 05 22 * * 7 $RECORD soul 115 p3
RecordMMS is made available under the LGPL.
Here are some British radio streams.