A studio set up with microphone

Internet Radio - Server technology

Introduction

So this article is probably going to be a short one. Indeed, there isn't much to say about servers, other than they are a 'necessary evil'. Server technology can be difficult to understand, and only knowing whats required I find simplifies the process. You probably don't want to go doing a deep dive into the finer points of self hosting, firewall configuration, environmental setup , monitoring and so on. If you do then there is plenty of material out there on the web. I've broken this down into processes, that are required for an internet radio station. The bare minimum.

Web Servers

If your internet radio station hasn't got a website, then its probably not going to do very well at all. If however you have a website which conveys news, schedules, calls to action, contact forms etc then its got a very good chance of succeeding. Having a website is a central point for a station to convey information to its listener base. In order to build a website there are a few things you need (and usually in this order);

  1. A domain name, commonly known as a web address, for example www.myradiostation.com - without this you would be handing out IP addresses, like a really strange, hard to remember phone number. This is essentially an easy way for a user to contact your server which has the website on it, so there browser can get the website. The host name points to a special type of server called a DNS (directory namespace server) which is like phone book, which looks up the web address and tells the browser which IP address to visit. Sounds complicated, in reality its quite easy. But for the purposes of this article all you need to know is you buy a domain name and tell the DNS record what your servers IP address is. As always here is a nice guide (How to set up a DNS record)
  2. A web server - This is where you website lives. It houses all the code for your website to run, and the databases with all your websites information on it. This can be in a form of self hosted or through a web hosting or server hosting platform. I say web hosting and server hosting, because they are two very different things. A Web hosting service is a shared service (sharing your space on the server with other customers). You have very little control over systems configurations, and can only upload content to a specific area on the server. There are also considerations to be made as to if you will get lots of traffic. High traffic websites should have there own Virtual or Physical server, while low traffic websites can comfortably run on a web hosting service. A hosted server is a server which sits in someone elses data center and you have full control over it. There are two types. Bare metal which means an entire physical server is yours to control and do with what you please, and VPS or virtual private server. These are generally a single physical server running several virtual servers whom have no access to each other. From your point of view you usually can not tell the difference between the two. There are several advantages of this type of server over a hosted web service, the most important being control. You control what goes where, how the server runs ect. There is also another good reason to have a server not a service, in that you can host your own casting service on the same box, which will reduce overall cost (see below ), the main disadvantage is the steep learning curve. Here are some links to get your started : Godaddy - web hosting Godaddy - VPS hosting

Shoutcast / Icecast

Shoutcast or icecast server refers to the streaming service. This can be a hosted service which you simply sign up for and pay for, or you could host it yourself, on for example a VPS. There are pro's and con's to both situations.

hosted service - Paying for a hosted service has the main advantage of being easy to setup and maintain. These services usually have useful web based admin panels, where you can control users, add tracks to all day play (you know my feelings about all day play...) and control other aspects of the streaming service, like configuring how many listeners can connect at once. There is also the added advantage of automatic scaling. Scaling refers to the ability for the streaming service to add more load capability (more listeners) should it experience high demand. This is particular good if there is a period where you know the listeners numbers will get very high, it does this by starting up another instance of a shoutcast or icecast server and connecting to the already existing one, it then takes on some of the listeners and balances the load accordingly. This can be the difference between having a smooth, pause free stream and having a stream that keeps hanging. These payed for services are usually housed in large data centres with large capacity as well, which affords you the comfort of knowing your streaming service will just work when it has to. The main disadvantage is cost. Most services cost on a month by month basis, some have fixed rates some however have a per listener rate. For pricing reference check out this siteplease note I have never used them so have no idea of the quality of there service. Its there as a pricing guide.

Self hosting - Self hosting is something that is not for the faint hearten. The main advantages is cost. There is also the added advantage of total control you have to spin up, change and even swap types of streaming service. The main disadvantage which I am sure you have guessed now is skill level. It takes a lot of research, lots of patients and a lot of coffee to get a shoutcast or icecast service running correctly, not to mention the pain involved in setting up a mount point for all day play, and configuring load balancing. Personally I still prefer the self hosted, due to its vast flexibility. The good news is that there is a lot of documentation out there. The icecast documentation is a great place to start for icecast servers and this video explains the basic principals of setting up a shoutcast server.

 

Icecast vs Shoutcast

There are differences between these two service types, but ultimately they are both perfectly capable of delivering audio to your listeners. I am not going to go into too much details as to the differences here is a pritty well written article which explains the differences I will quickly hit the four main feature differences though which I think are quite important.

  1. Directory listing. Most people choice shoutcast because you can automatically use it to list your radio station on the shoutcast directory. Icecast does not have such a feature. However you can create listings else where for your service (see my previous article for how to advertise your station).
  2. Native SSL/TLS support. Icecast supports SSL/TLS natively, which means it serves the listener the audio over a secure connection. While this may not be a top priority a lot of browsers now tend to scream and shout at you when you visit an insecure site, and its also worth noting it can cause issues when trying to embed insecure content to a secure website.
  3. Format restrictions - Shoutcast streams to mp3. That's just the way it is, while icecast will use other formats such as ogg. The thing is that this really doesn't matter, unless you are specifically tied to a format of audio file. Browsers and devices alike recognise both these days.
  4. Listener stats - Both services do not record listeners stats, instead they both have a public facing web page which displays current connected listener numbers. If like me you have designed a scraping service to capture this figure and record it (article about this coming soon) the difference in how these are presented is quite important. Shoutcast simply displays them on a web page and I will be honest its a pain to get that information out of there. Icecast on the other hand has a handy stats page which returns the information in a format such as JSON, which is easy for a script to interpret and save. If your marketing or advertising strategy is going to be data driven then choosing a service which provides as much information as to how many listeners are connected as possible, is important. In which case, I would go for Icecast just for ease.

Like I said before though, this is not the exhaustive list. See the link above for a more in depth breakdown.

Summary

Choosing how to set up and serve your website and streaming service is very important, it can create an easy life for you, or alternatively make it harder. Its important though to not go in too deep and get drowned with the complexity of it all. There is no shame with starting with a hosted word press website and paying for a shoutcast server, if you just want to focus on producing a good radio show. When all is said and done, as long as both the website and streaming service work and do so well, that is your goal achieved. How you do it is up to you. Remember this aspect is but a small cog in a much bigger machine.