this post was submitted on 04 Jul 2025
32 points (100.0% liked)

Selfhosted

46653 readers
598 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

So, I have a self hosted Owncast instance. I want to run a 24/7 live stream. However, if the streaming source changes or cuts for a few seconds, Owncast immediately terminates the stream. So I'm trying to find a way to have a "fallback/offline/backup" stream running where it's just a testcard graphic and the time on it for now. And then when it detects an incoming RTMP stream, it switches to the stream. When the stream ends- back to the testcard. My aim is to make a seamless stream that is always live and doesn't cut.

So basically, just a testcard graphic (and maybe some sound) that I can easily take over/hijack

I thought such a thing would be simple - it isn't. FFMPEG needs to reconnect to switch sources. I tried using a FIFO pipe, but the thing that reads the pipe doesn't seem to like it when the RTMP stream connects, choosing to break. It works again eventually, but by then, the stream is dropped. I've tried forwarding an RTMP stream from Nginx and using the switchers, but the forwarder likes to break as well (it seems to dislike mismatched timestamps or something)

I apologise for not leaving any specific logs. I have been working on this for days and have errors galore. I am posting here to see if there's a difference/best approach. (If one of these here is a best option and I was on the right track, I can try and dig up my old code and errors).

Also, this needs to be done headless and automatically begin at startup, which might rule out OBS, but I'm not 100% certain, if it's possible for me to set up a scene on a gui computer and load that into a headless OBS, please let me know.

you are viewing a single comment's thread
view the rest of the comments
[–] thenose@lemmy.world 2 points 1 day ago