So I wanted to stream music from my laptop to a Bose iPod speaker set over wifi. It seemed like this should be simple right? Not really.

Apparently Icecast2 doesn’t support streaming the way that the iPhone OS expects it to. Luckily some kind souls wrote a patch to fake the iPhone/iPod touch into working.

Here are the instructions to get you going on Ubuntu Karmic:

  1. sudo apt-get install rhymthbox icecast2 build-essential dpkg-dev
  2. Install the shout2send plugin for rhythmbox
  3. Change the plugin to send mp3’s instead of oggs by replacing _GST_BIN = ('audioresample ! audioconvert ! vorbisenc ! oggmux ! shout2send ' with _GST_BIN = ('audioresample ! audioconvert ! lame name=enc ! shout2send ' in ~/.gnome2/plugins/shout2send/__init__.py
  4. cd /usr/src
  5. sudo apt-get source icecast2
  6. sudo apt-get build-dep icecast2
  7. cd /usr/src/icecast2-2.3.2/debian/patches
  8. sudo wget http://matt.colyer.name/uploads/2010/02/1002_iphone_streaming.txt -O 1002_iphone_streaming.patch
  9. Add 1002_iphone_streaming.patch as a separate line in the files “series”
  10. cd ../..
  11. sudo dpkg-buildpackage
  12. cd ..
  13. sudo dpkg -i icecast2_2.3.2-2build1_*.deb