| 14 Jul 2025 |
matthewcroughan | https://github.com/krebs/brainmelter/tree/main | 14:33:13 |
matthewcroughan | Wait so once again, if I'm gonna use HLS, what am I using instead of icecast? | 14:34:03 |
n4ch723hr3r | FFMPeg? | 14:34:25 |
@saiko:knifepoint.net | In reply to @matthewcroughan:defenestrate.it It is a combination of http and tcp ah right, it had both.. I remember having it working back then but this was years ago so I forgot | 14:34:32 |
matthewcroughan | Can I just use nginx itself? | 14:34:32 |
n4ch723hr3r | i would probably just script something small myself xD | 14:35:03 |
n4ch723hr3r | nginx to host the HLS stream where the HLS file gets regularily updated | 14:35:35 |
matthewcroughan | So let's say I want to make a player and embed this onto a webpage, how do I do things like setting the max listeners, and stuff | 14:35:54 |
matthewcroughan | is that responsibility now going to nginx? | 14:36:08 |
n4ch723hr3r | yeah, you can set a bucket for maximum http requests | 14:36:36 |
n4ch723hr3r | or maximum IPs | 14:36:47 |
n4ch723hr3r | if you cant you would just have to code up something yourself xD | 14:37:01 |
n4ch723hr3r | thats how i would do it at least :3 | 14:37:14 |
Zhaofeng Li | Hmm wait, so the http stream used by the listener can be proxied right? Is it just the source that's problematic? | 14:38:02 |
n4ch723hr3r | the problem with icecast is that, for whatever reason, it uses the same port for http as it does for raw TCP streams | 14:38:46 |
matthewcroughan | It's the fact that icecast wants to do what nginx is doing yes | 14:39:03 |
matthewcroughan | putting an nginx in front of icecast who wants to be in control of all this stuff, makes it a PITA | 14:39:27 |
matthewcroughan | I don't doubt it can be done, I just don't know how, and it seems like a waste of time | 14:39:44 |
Zhaofeng Li | In reply to @n4ch723hr3r:nope.chat the problem with icecast is that, for whatever reason, it uses the same port for http as it does for raw TCP streams Can the listener use the nginx-proxied endpoint, while the streamer accesses icecast directly over wireguard or whatever | 14:40:33 |
matthewcroughan | the listener is a http webpage | 14:40:59 |
n4ch723hr3r | matthew wants to have a public webradio, so VPNs, etc. wont work | 14:41:31 |
matthewcroughan | you go to https://foo.com, inside is a html element pointing to https://icecast.foo.com/stream | 14:41:39 |
matthewcroughan | https://icecast.foo.com/stream doesn't work via a nginx proxy, because the stream is not http | 14:42:00 |
matthewcroughan | this works on the lan though, when not proxied | 14:42:11 |
n4ch723hr3r | the best example domain is example.com or example.org (its an official example domain) | 14:42:14 |
matthewcroughan | too much typing | 14:42:27 |
matthewcroughan | example.com is more chars | 14:42:33 |
n4ch723hr3r | it shoudl also work in public if you dont mind exposing your icecast | 14:42:40 |
n4ch723hr3r | lmao | 14:42:45 |
@saiko:knifepoint.net | can you set it up so that port 443 goes through nginx, and all the links to the streams on the page (iirc it shows you a directory of available streams right?) have an absolute url with another port on the same domain, which is the raw icecast service | 14:45:35 |