I built TinyIce as a vibing side project to spin up an Icecast2-compatible server in seconds, because I was frustrated with IceCast. One static Go binary, embedded assets, auto-generated creds on first run, built-in ACME (Let’s Encrypt), relays, multi-tenant admins, Prometheus metrics, and a modern web UI.
It's a very nice project. Me and some friends toyed with the idea of running our own IceCast server, as a way to introducing new music to each other. We eventually gave up, exactly due to frustrations with setting up and running IceCast.
I think it's really neat how you managed to include ACME, a nice UI and even the Prometheus metrics.
When I was still working at a large corporation, I built an internal "social" radio station using Icecast2. I'd broadcast my favorite music like Pink Floyd and Radiohead to my coworkers via a simple Rails web app, and we'd chat about music, work, and everything in between on the same web app. That was a long time ago, and I no longer have that environment (a big company with lots of similar-minded young people), but live-streaming music with friends will always be a soft spot in my heart.
I tried streaming with icecast2 during pandemic and always got dropped connections in tens of minutes. It drove me mad. And it's impossible to detect in advance, receivers skip for seconds till new connection is made. From packet captures it appears as dropped ack packets. It was https so copyright filters are unlikely.
Are there different solutions, different protocols, ideally supported by browser in some simple manner? Is streaming over websocket possible?
I am planning to add other restreaming options such as RTMP or HLS. So far, my test stream is running for more than 10h and did not have a single dropout.
Running my own icecast2 server, I recently ran into a problem[1] where TLS connections don't shut down properly. It's actually a problem with the libshout client library's poor TLS support. I posted a patch to that issue, but it's hard to tell if there's anyone still looking at issues or actively developing the project over there. The last update to libshout was 3 years ago, and it was just a documentation cleanup.
sylwester|12 days ago
mrweasel|12 days ago
I think it's really neat how you managed to include ACME, a nice UI and even the Prometheus metrics.
hsbauauvhabzb|12 days ago
sylwester|11 days ago
felixding|11 days ago
When I was still working at a large corporation, I built an internal "social" radio station using Icecast2. I'd broadcast my favorite music like Pink Floyd and Radiohead to my coworkers via a simple Rails web app, and we'd chat about music, work, and everything in between on the same web app. That was a long time ago, and I no longer have that environment (a big company with lots of similar-minded young people), but live-streaming music with friends will always be a soft spot in my heart.
rini17|11 days ago
Are there different solutions, different protocols, ideally supported by browser in some simple manner? Is streaming over websocket possible?
sylwester|11 days ago
elevation|12 days ago
sylwester|11 days ago
sylwester|11 days ago
sylwester|8 days ago
mcraiha|12 days ago
ryandrake|12 days ago
1: https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2337
iberator|12 days ago
Why would you military grade encrypt radio service or static site anyway?
zenmac|12 days ago
sylwester|11 days ago
IshKebab|12 days ago
elevation|12 days ago
unknown|12 days ago
[deleted]
poketdev|12 days ago
[deleted]
poketdev|12 days ago
[deleted]
notachatbot123|12 days ago
poketdev|12 days ago
[deleted]