All articles

Updated ~8 minutes

How an Internet Radio Station Actually Works

From the listener's side, internet radio looks like magic: press play anywhere on earth and a station is just there, mid-song, as if it had been waiting for you. From the broadcaster's side it's a machine with four moving parts, and the fastest way to understand the machine is to build it the worst possible way first — with a laptop in the corner of a room that's not allowed to sleep — and watch where it breaks.

That's what this article does. By the end you'll know what every radio platform is actually doing under the hood, why the laptop-in-the-corner version fails, and what we built GoCast to do about each failure in turn.

The Whole Machine in One Sentence

A radio station is one continuous audio signal, compressed into a stream, copied once for every listener. Everything else is detail. Four jobs make it happen:

  • The source— something has to produce audio every second of the day. Your voice, a playlist, or both taking turns.
  • The encoder— something has to compress that audio into a stream small enough to send over the internet.
  • The server— something has to take that one stream and hand a separate copy to every listener who connects.
  • The link— a URL that always points at the station, so listeners can find it, share it, and come back to it.

Radio's defining constraint lives in the third job: every listener is a full copy of the stream. Ten listeners is ten copies going out, a hundred is a hundred. Hold onto that — it explains almost every price and every limit in internet radio.

Building It the Hard Way: The 24-Hour Laptop

Here's the version people actually attempt, because every piece of it is free. A laptop runs a media player with a long playlist — that's the source. An encoder app like BUTT sits next to it, grabbing the audio and compressing it. The stream goes to server software like Icecast — sometimes rented, sometimes, heroically, running on the same laptop with the home router forwarding a port to the world. The link is your home IP address with a port number on the end.

And it works. For a while, this genuinely works, and there's something to be said for doing it once just to see the machine run. Then reality arrives, in roughly this order.

The Laptop Is Not Allowed to Stop

The source has to produce audio every second, which means the laptop can never sleep, never update, never reboot, and never be needed for anything else. An operating system update at 3am is six hours of dead air you find out about at breakfast. A power cut is a silent station until you get home. The machine becomes an appliance you live around, and the first thing every long-running station learns is that consumer computers are not appliances.

Your Upload Bandwidth Runs Out Almost Immediately

Remember: one copy per listener. A stream at 128 kbps needs 128 kbps of upload per listener, continuously. Ten listeners is about 1.3 Mbps sustained; a hundred is 13 Mbps, around the clock, on a home connection where upload is the thin direction. Somewhere between ten and thirty listeners, home internet simply runs out — and it runs out at the worst moment, which is the moment people actually show up.

The Link Keeps Breaking

Home connections get a new IP address whenever the ISP feels like it. The address you posted everywhere on Monday points at nothing on Thursday, and every listener who saved it is gone. Radio audiences are built on habit — a link that moves is a station that keeps starting over.

Nobody Tells You It's Gone Quiet

The encoder crashes, the playlist hits a corrupt file, the player stops — and the stream carries on, faithfully broadcasting silence. Everything looks fine from where you're sitting, because you aren't sitting there; you're asleep. Silence is the failure mode nothing warns you about, and it costs you listeners who never explain why they left.

Going Live Means a Gap

The playlist is one program feeding the encoder; your microphone is another. Switching between them means stopping one and starting the other, and in the gap, listeners get disconnected. Anyone who's tried to start their weekly show by frantically clicking between two apps while the stream drops knows this moment. The joins are where home-built stations sound home-built.

Every File Is a Different Volume

A quiet album rip from 2004 next to a loud modern master means your listeners ride the volume knob all night. Add the files with three seconds of nothing at the front, and the rotation develops little holes of dead air that sound like something's broken. Individually tiny, collectively the difference between sounding like a station and sounding like a folder of MP3s.

The Usual Fix: Move It All to a Server

Every one of those problems has the same root: the machine doing the broadcasting lives in your house. So the traditional fix is to move the whole stack onto a rented server — a machine in a data centre that never sleeps, with fat upload bandwidth and an address that doesn't change.

This is genuinely how it's done. A playout engine such as Liquidsoap plays the music library and handles the switch to live; a streaming server such as Icecast takes the encoded stream and serves the copies; a package like AzuraCast wraps the two in a web interface. It solves the laptop, the bandwidth, and the link in one move.

What it doesn't solve is who runs it — because now that's you. Installing it, upgrading it, reading logs when the stream dies at midnight, noticing when the disk fills up. Self-hosting turns a broadcasting hobby into a system administration hobby, which is a fine hobby if it's the one you wanted. We've put real numbers on that trade in what it actually costs to run a station — the short version is that the $5 server is only $5 if your evenings are worth nothing.

The Same Machine, the Way GoCast Runs It

GoCast is that server-side stack, run for you, with the four jobs assigned like this.

The source lives on our machines, not yours. On Pro, you upload your music — 3 GB per station, roughly 30 to 35 hours — and AutoDJ plays it around the clock, with your jingles and station IDs dropped in on whatever schedule you set. Your laptop's only job left is being the microphone, and only while you're actually live. Close it, and the station carries on.

The gap when you go live is gone. Your live input and the AutoDJ feed the same pipeline, so going live cuts in instantly and finishing hands straight back to the music — listeners stay connected through both switches. The same mechanism covers you when your internet drops mid-show: the audience hears the station carry on rather than silence, and you rejoin when you're back.

Encoding is handled wherever you broadcast from. In the browser, it's done for you — open the studio, allow the microphone, you're on. On Pro, your station also accepts the standard encoder connection that apps like BUTT and Mixxx speak, so a desktop setup plugs into the same station.

The copies come off our bandwidth. The one-copy-per-listener economics don't disappear — they move to us, which is exactly why plans have listener ceilings: 100 at once on Free, 1,000 on Pro. That's the honest shape of the cost, not an arbitrary paywall.

The link is permanent. Your station's player page shows what's playing and how many are tuned in, and the address never changes — not when your home IP does, not between shows, not while the station's off. Anyone who lands on it while you're quiet can ask to be emailed the next time you go live, so the dead hours still recruit.

And the two failures nobody warns you about are watched for. Uploads are checked for loudness and for dead air at the ends, and both are corrected on playback, so the 2004 rip and the modern master sit at the same level. A station that's on air producing genuine silence — nobody live, nothing queued — switches itself off within a couple of minutes instead of broadcasting nothing all night.

Why This Is Worth Knowing

You don't need any of this to run a station on GoCast — that's rather the point. But knowing how the machine works makes the whole market legible: why every platform has listener caps, what a $59 plan is actually buying over a $20 one, why self-hosting is cheaper on paper and dearer in evenings, and what's really happening in the two seconds between pressing “go live” and hearing your own voice on the player page.

If this has you wanting to build the station rather than the server, start with our guide to starting an internet radio station, and see how stations stay on air 24/7 for what the always-on half looks like in practice. The free plan needs no card and no server — a name, a microphone, and you're the source.

Frequently Asked Questions

Does my computer have to stay on for my station to play?

Only in the laptop-in-the-corner version. On GoCast the source runs on our servers: on Pro your uploaded music plays around the clock whether your computer is on or not, and on the free plan your computer only matters while you're actually live.

What are Icecast, Shoutcast and Liquidsoap?

The traditional building blocks of the server side. Icecast and Shoutcast are streaming servers — they take one encoded stream and serve a copy to each listener. Liquidsoap is a playout engine — it plays the library, and switches between music and live. Hosted platforms run this class of software for you so you never touch it.

How do listeners actually receive the stream?

Each listener's player opens a connection to the station's URL and receives their own continuous copy of the audio. That's why radio bandwidth scales with audience: a hundred listeners is a hundred simultaneous copies, roughly 13 Mbps at 128 kbps.

Why does every radio platform have a listener limit?

Because every listener is a full copy of the stream coming off the platform's bandwidth, all hour, every hour. The caps are the cost structure made visible — on GoCast that's 100 listeners at once on Free and 1,000 on Pro.

Can I still self-host a station instead?

Yes — a VPS running AzuraCast is the standard route, at $5 to $15 a month plus your time, and it's a real education in how the machine works. It stops being cheap once you count the evenings, and once your audience outgrows the traffic included with the server.