Recording Streams with Ubuntu Linux Rhythmbox to mp3 or ogg

There’s three options available for achieving this, as far as I can see:

  • TheLastRipper – This is a fully featured streamripper for that has a great feature set (ID3v2 tags, international characters, automatic directory hierachies) BUT you can not listen to the streams while it’s ripping. It’s got the ‘love’ / ‘ban’ buttons but how can you tell if you can’t hear the bloody music right?
  • LastLonger – Is a command line client written in Perl and you can output the stream to a music player also. When I saw this, I thought that I might use it as a programming exercise and port it to Python, though I couldn’t get it to work quickly and having modern-age ADD, I went looking for something else.
  • Rhythmbox streamrecorder – This is actually what I was looking for in the first place. Rhythmbox makes it very simple to setup ‘stations’ from and streamrecorder does what it says, recording the streams.

The good and the bad of Rhythmbox so far (after 5 minutes of testing, so take it as a grain of salt)


  • Integrated with Rhythmbox, a very usable music player already (I switch between Banshee, Listen, Amarok and Rhythmbox, each have a nice feature I like)
  • Can still use ban and love buttons
  • Can still use “next track” button
  • It’s a python plugin


  • Saves files on your desktop – doesn’t seem anyway to change this in the gui (python exercise could be to make this configurable
  • Uses gnome sounds settings to choose recording format. This isn’t necessarily a bad things except the fact that changing these settings isn’t exactly trivial

Still, the good outweighs the bad by a longshot. I haven’t checked if it handles international characters or writes Id3v2 tags or anything yet.

Published by salubrium

I am a Systems Administrator based in Sydney, Australia with some hugely varied interests: Topics covered are Virtualization, Web Hosting, Remote Desktop, Security and Backups, PHP, Python, MVC Frameworks, SEO

Leave a comment

Your email address will not be published. Required fields are marked *