For the technical discussion of streaming issues in the context of some hypothetical church that several of us posting might attend.
Historically, services were in person. We met at a local school, and they have a very nice internet connection. As we started messing about with streaming, it wasn’t a major problem, beyond some stuff being blocked. A bit of either creative VPN work, rolling MAC addresses, and eventually asking politely for a couple static IPs solved this entirely, and things worked.
Since we own a facility (that we didn’t meet at, long story…), we dealt with early Pandemic by recording stuff ahead of time and stitching together services, uploading to the normal streaming services (YT/FB), and streaming them at the desired time.
Unfortunately, “2020 gonna 2020.” We are no longer meeting at the school, and are trying to have some small, distanced gatherings in the church building. As part of this, we’re trying to live stream stuff, and because there are more people around, we’ve got a few complexities to work through.
Our primary stream output is a BlackMagic ATEM Mini Pro ISO. This is a 4 input video switcher that can, usefully, emits a RTMP stream to a single target IP. We have been running this to castr.io, which reflects the stream to YouTube/Facebook. Unfortunately, as we’re trying to have a few more people around, the overflow area downstairs was dealing with a 5-8 second lag from YouTube. Bleh.
My attempt to fix this lag involves a vintage server that will be soon getting better guts, but was around. I set up nginx to do RTMP stuff, such that we could point a local client at the server and get a stream for the overflow area, and also fire a stream out to castr.io. This worked, but still had a few second lag, and we had some general connectivity issues and drops to the internet. It seems a 9Mbit stream doesn’t fit in a 10-12Mbit upload. sigh
Anyway, I’m attempting to make things better, and the plan right now, with new server guts, includes using a Chromecast to run the overflow room (hopefully with minimal buffering - we’ll see, that’s a wireless device and wireless sucks), and adding some packet shaping and queue magic to our router to shove RTMP stuff out first, period. Whoever’s phone is connected can wait in line.
Long term, though, I’d like to figure out how to host our own infrastructure, end to end, and I’m fine with cloud hardware. But I do not want to rely on FB/YT for streaming church services for the long term.
Any good advice in this realm? I’ve dealt with plenty of this sort of thing over the years, just… not recently.