For a long time I used icecast2, ices2, and ices to stream an online radio station.
icecast is the server that sets up the ports, web management interface, etc.
ices is the program that actually does the streaming of the mp3 file to the icecast server. ices2 is the program that streams ogg files ... it doesn't stream mp3 files. I used port 8000 as the ogg stream and port 8001 for the mp3 stream.
I kept all the song information in a mysql database along with lyric text and cover images.
By parsing information out of the log files generated by the above programs I was able to create a website that dynamically changed when the music changed, showing the cover photo of the album, the song title, lyrics, author(s), etc.
http://www.icecast.org/
-- Tony