WRUV icecast

What a pain this has been, but at least it’s now working, sort of.

I found something called esd sound daemon, ported to MacOSX via darwin ports project. Needed a bit of a hack to work with Griffin iMic USB sound input, but it works.

  • Wrote a perl script to start esd sound daemon at startup. esd captures sound, does nothing with it.
  • Wrote a perl script to launch encoder at startup.
  • esdrec grabs sound from esd, pipes it through stdout.
  • lame encodes it.
  • Another custom perl script uses libshout and Shout.pm perl mod to send sound to icecast server.

So, the encoder looks like this

/usr/local/bin/esdrec | /usr/local/bin/lame -b 256 - - | /usr/local/bin/ice_send.pl /usr/local/etc/ice_send_256.conf

ice_send_256.conf has the server name, password, username, and mount point for the stream.

Actually doing two streams

/usr/local/bin/esdrec | /usr/local/bin/lame -b 128 - - |  /usr/local/bin/ice_send.pl /usr/local/etc/ice_send_128.conf

Been using weasel as server and source, now using wruv mac as source. been using weasel, badger, and now funnelweb as server. Listen at http://funnelweb.uvm.edu:8005/wruv_test_128.m3u http://funnelweb.uvm.edu:8005/wruv_test_256.m3u

meanwhile, Brian Bittman, external WRUV non-student volunteer, has been setting up an alternate linux box for encoding. Which will ultimately be used is to be determined.

About Wesley Wright

Born on a mountain top near New York City, Craziest state in the land of the pretty. Raised in the woods so's he knew every tree, Killed him a bear when he was only three.
This entry was posted in Projects, Systems and Servers, Video and Audio. Bookmark the permalink.

Leave a Reply