If you want to do it in house you need root access to install the software which means you need either a VPS or dedicated server. Otherwise you'll need to go through a third party.
If you have your own server you're all set as long as it can handle the bandwidth, there's plenty of open source solutions. We run a monthly live broadcast from my server. I'm using
Icecast for streaming.
Icecast can be configured or utilized in many ways. For example you could have files on the server and have playlists, you could also use it to serve individual files from the server. You could also stream audio from your local machine to it which will then allow others to connect to icecast to hear the stream live.
For example you would install
Oddcast on your local machine. It has plug in for
Foobar2000. So what you could do is set your playlist up in Foobar2000, you'd launch Oddcast through it. That will send the stream to Icecast on your server. Your listeners can then tune in.
Oddcast can accept any input from your soundcard. For example if you wanted to set up a talk radio show you could set up a conversation on something like Skype with multiple people. You'd set Oddcast "What you hear" so you could stream the conversation back to the server for broadcast live.
Again though you need VPS or dedicated server, lots of options once you have full root access. I'll aslo add you'll need a decent connection on you're home computer if you expect to do any of the live streaming I'm describing.