DIY Streaming Radio 2024
December 20, 2023 7:37 AM   Subscribe

Let's say I want to make website with a streaming audio. The audience can go to the page and listen in like they were listening to a radio station (every listener would hear the same audio at the same time). The back end would just be some sort of thing and a folder with a few hundred audio files and it's just randomly playing through them (ideally there would be a way to specific some station identification files to every three or four times and a way to not repeat the same files too often).

Is there a way to do this that doesn't involve a third party service? What is the smartest easiest way to do this in 2024?

Thanks.
posted by history is a weapon to Computers & Internet (8 answers total) 6 users marked this as a favorite
 
I used Icecast for this, several years ago, for a short-term community project. I remember it being a little complex to set up (first time with this package, but experienced Linux and web admin) but it was very robust and stable, and ran unattended for a couple months, until I ended the project.

I have not used it, but Azuracast seems it might be a bit easier to approach.

Both of these are self-hosted options, assuming you have access to your own web server.
posted by xedrik at 9:11 AM on December 20, 2023 [3 favorites]


Shoutcast/Icecast is what was used to DIY this back when I was in college radio as well. My experience was similar, it took some tinkering to get it working, but after that it just worked—up to the limitations of the network and other hardware.

(Unlike my adventures in RealMedia.)

What's the use case? How many simultaneous users/listeners does it need to support? That's the tricky part.
posted by snuffleupagus at 10:14 AM on December 20, 2023


You could look into FFMPEG / VLC to encode and package an HLS playlist in realtime for broadcast
posted by TwoWordReview at 10:21 AM on December 20, 2023


Response by poster: @snuffleupagus I like to make radical media resources. I want to make a radio station that anyone can tune into that has radical music, speeches, and lectures. A million listeners? Maybe just myself.

@twowordreview, I have ffmpeg and VLC but on first glance of google, I don't exactly understand what you are suggesting.

I don't want to just make an open directory that everyone can download from (for bandwidth reasons), but I think I have more than enough where a curated list could easily go for days/weeks before repeating.
posted by history is a weapon at 10:24 AM on December 20, 2023


You're describing a playlist, either way. So, if it doesn't need to be live, I would upload finished content to a regular hosted streaming platform. Which you can embed in your own site. Among other things, it makes it much easier (or, possible) for people to share your content socially/virally.

Soundcloud is probably the most obvious one. Or a podcasting platform.
posted by snuffleupagus at 10:39 AM on December 20, 2023


I have ffmpeg and VLC but on first glance of google, I don't exactly understand what you are suggesting.

You would use ffmpeg (and maybe VLC as a front end for it) to 'package' your source files for the HLS format (random search result) which would then be used by the self-hosted streaming software; divvying up the source material into the streamed packets.
posted by snuffleupagus at 10:46 AM on December 20, 2023


Or, if you don't want to use something like Soundcloud or a podcast platform, then maybe a hosted internet radio solution like Radiojar. $10/mo for unlimited listeners if you don't want any of their additional features and originate the stream from your side. ($20/mo if you want to put up to 20GB of source files on their server.)
posted by snuffleupagus at 10:55 AM on December 20, 2023


I previously used Shoutcast and if I was to do it again I would go with a docker based solution like AzureCast. Azurecast supports both Shoutcast and icecast. It's built on liquidsoap.info so if you exceed what Azurecast can do you can fall back on liquid soap. And AzuraCast has straightforward support for LetsEncrypt which will prevent folks from seeing insecure messages
posted by zenon at 11:02 AM on December 20, 2023 [1 favorite]


« Older Well done easy fantasy/HisFi recs   |   Best vegan casseroles (recipes only) Newer »

You are not logged in, either login or create an account to post comments