Seems its just not possible to email anyone on the tech side of the church webcast platform directly to answer my questions, and trying led me here, so following is my experience (and frustration)...
I've been running our Sacrament Meeting webcasts for several weeks now while we're in Delta lockdown. We're still able to have a small number attend our chapel to run the stream (usually just couple from Bishopric, couple of speakers, and myself), so we haven't had to resort to multi-location platforms like zoom with all the uncontrollable variables they entail!
The church webcast platform was the obvious choice for us, and having some knowledge of digital photography/videography, I've been tweaking settings from week to week to try and get the best possible stream quality for our members at home. My setup consists of the following...
- My own camera, a Panasonic G85 M43 ILC with good glass and clean HDMI out, on tripod in front of pulpit (straddling front two pews for height).
- My own RODE directional mic on mic stand close to pulpit, cabled directly into camera mic input (outputs with video over HDMI, which minimises sync issues).
- Cheapish no-name HDMI to USB3 capture device, plugged into my i7 laptop running Windows7 and OBS Studio.
- WiFi connection to chapel router and broadband connection with stable 4Mbps upload speed.
(WiFi bandwidth isn’t unduly stressed with only me on it, but streaming meetings with 100s of members attending might be a problem!)
1080p camera feed into the laptop is used as a source in two separate OBS scenes that I can switch smoothly between during the stream - one downscaled to my 720p streaming resolution for a wide shot, and one cropped into 720p pixel for pixel close-up with no loss of quality. BTW, OBS is definitely the way to go – it gives so much more real time control over content mixing than expensive hardware solutions like the Teradek.
OBS is configured to output at 720p 29.97fps* at 2800Kbps (comfortably under our 4Mbps bandwidth for stability). I’m using the laptop’s Intel QSV hardware encoding at 'quality' and 'high' setting. When I record to the laptop’s SSD using above streaming settings the video quality is as good as I could hope from 720p at 2800Kbps. In fact, it looks pretty decent even up-scaled on my 55” 4K TV.
However, when I post-view the event via
http://mywebcast.churchofjesuschrist.org the video quality is quite a bit worse, with compression artifacts everywhere and serious motion stutter (despite OBS not logging ANY dropped frames for the entire stream). The browser player also only offers the following quality options...
- 640x280 at 118Kbps or 344Kbps
- 960x540 at 646Kbps
- 1366x768 at 1471Kbps or 2406Kbps (happens to be the screen resolution of the laptop I use to stream but I assume this is just coincidence?)
So what’s going on here? I assume the stream is being re-encoded at the server end to accommodate low bandwidth viewers, but why would my original unadulterated 720p upload quality NOT be one of the options offered (ie: not degraded by yet more decompressing and recompressing at a different resolution and bitrate).
(BTW*, whilst I live in a 25fps PAL region, I capture and stream at US standard 29.97fps, because I use YouTube clips of the Tab Choir for our opening and closing hymns, which are all 29.97fps, and re-encoding them to 25fps introduced stutter, so it was just easier to keep everything at 29.97fps).