Hey everyone. Claude and I built a small thing for our ward and figured I'd share it in case anyone else has the same problem.
The setup at our chapel: PTZ camera mounted in the back corner, Windows PC a room off the chapel running Zoom, one operator sitting in the pews running both. If you've done this you probably know the two annoyances:
The IR remote for the camera needs line of sight to the receiver. Sit in the wrong row, or have someone walk past, and it stops working.
From the Zoom mobile app as a co-host, you can mute the broadcasting account, but you can't unmute it. So once you cut audio for the sacrament, you have to walk back to the booth PC to bring it back. Not a great look mid-meeting.
So I wrote a little Flask app that runs on the broadcast PC and serves a phone-friendly UI on the chapel wifi. Two halves to it:
PTZ control. Hold to move D-pad, hold to zoom, named presets (ours are Speaker, Choir, Chorister, Piano, Organ, Sacrament, North Stand, Congregation, Back Row, but you set whatever you want via an env var). It speaks plain VISCA-over-IP on UDP 52381, so any of the common PTZ cameras should work. Ours is a ClearTouch RL500 but PTZOptics, AVer, Marshall, Sony, HuddleCam, BirdDog, etc. all speak the same protocol.
Zoom mute/video toggle. It sends the Zoom hotkeys (Alt+V for video, Alt+A for mic) to whatever window is in focus on the booth PC. As long as Zoom is the foreground window, the same button takes you off-air and brings you back. There's a status pill that warns you on the phone if Zoom isn't focused so you don't accidentally fire keystrokes into Notepad.
I also added a background reader that uses Windows UI Automation to read Zoom's actual mute/video state from the toolbar, so the on-air indicators reflect reality and not just what we think we sent. That part was harder than it sounds because the toolbar auto-hides by default. There's a one-time Zoom setting to keep it visible (Settings, Meetings & Webinars, Controls, "Keep meeting controls visible") that you have to flip on.
Some things to be clear about:
It's not a streaming engine. Zoom (or whatever your stake has approved) still does all the actual streaming. This is just an operator UI sitting alongside it.
It's not a Church product. ICS and the Presiding Bishopric haven't reviewed it. I'm a member who scratched an itch. Treat it the same way you'd treat any third-party tool.
Talk to your STS before installing on stake-owned equipment. The installer creates a Python venv on the broadcast PC, adds a firewall rule (private profile only), and registers a Scheduled Task that auto-starts at login of the AV user account. None of that is destructive but it's also not zero-touch, and on stake gear that's a conversation to have first.
It only helps for a specific scenario: Windows broadcast PC running Zoom, with a VISCA-over-IP PTZ camera on the same LAN. If your stake center streams through Teradek to Church Webcast, or you use Mevo, or you stream from a phone with Larix, none of this applies to you.
Code, install instructions, and docs are at https://github.com/sknnr-chad/pew-ptz. The README walks through what you need and what each piece does. There's also a one-shot PowerShell installer in there that handles Python, the venv, the firewall rule, and the Scheduled Task in one go.
If you try it and it works, or if your camera does something weird, drop a reply or open an issue on GitHub. I'd love to grow the list of tested cameras as people give it a shot.
Chad Skinner
Brookshire Ward
Open-source phone controller for PTZ + Zoom mute (broadcast operator helper)
Using the Church Webcasting System, YouTube, etc. Including cameras and mixers.
1 post
• Page 1 of 1
-
PRSPower
- New Member
- Posts: 8
- Joined: Thu Apr 08, 2010 7:40 am
- Location: Taylorsville, UT, USA
Open-source phone controller for PTZ + Zoom mute (broadcast operator helper)
Post by PRSPower »
1 post
• Page 1 of 1
Return to “Non-Interactive Webcasting”
Jump to
- What's New
- ↳ Announcements & Policies
- ↳ Virtual Meetings
- ↳ In The News
- ↳ Links & Resources
- Church Technology for Members
- ↳ Main Church Website
- ↳ Calendar
- ↳ Ward Directory and Map
- ↳ Leader and Clerk Resources
- ↳ Notes and Journal, and Online Scriptures
- ↳ Online Donations
- ↳ Beta Testing
- ↳ Beta Calendar
- ↳ Beta Directory
- ↳ Beta Lesson Schedules
- ↳ Beta Maps
- ↳ Beta Newsletter
- ↳ Beta Clerk Resources
- ↳ Other Websites
- ↳ Mobile Applications
- ↳ Gospel Library
- ↳ Android Gospel Library
- ↳ iPhone/iPad Gospel Library
- ↳ Gospel Library for Windows
- ↳ Gospel Living App
- ↳ Gospel Media
- ↳ Member Tools
- ↳ Android Member Tools App
- ↳ iPhone/iPad Member Tools App
- ↳ Mormon Radio Channel
- ↳ Church Account
- ↳ Family History
- ↳ FamilySearch Products
- ↳ FamilySearch Family Tree Application
- ↳ FamilySearch Indexing
- ↳ FamilySearch Centers
- ↳ Genealogy Industry Issues
- ↳ Software Development
- ↳ Other Member Technologies
- ↳ Church Historical Timeline
- ↳ Emerging Technologies
- ↳ Accessibility to Church Technology Products
- ↳ ePublishing
- ↳ Audiobooks
- ↳ E-Books
- ↳ Interactive Books & Magazines
- Community Discussions
- ↳ General Discussions
- ↳ Family Safety with Technology
- Clerk Support
- ↳ Getting Started for New Clerks
- ↳ Reports and Forms
- ↳ Local Unit Finance
- ↳ Membership Help
- ↳ General Clerk Discussions
- Meetinghouse Technologies
- ↳ Meetinghouse Internet
- ↳ Clerk Computers
- ↳ Printers, Copiers, and Multi-Function Devices
- ↳ FAQs for Local Unit Copier Program
- ↳ Broadcasts and Conferences
- ↳ Interactive Virtual Meetings
- ↳ Non-Interactive Webcasting
- ↳ Stake Conference with Remote Participants
- ↳ Satellite
- ↳ Receiving Internet Broadcasts
- ↳ Rich Media in Lessons and Training
- ↳ Meetinghouse Audio
- ↳ Phones
- ↳ Other Meetinghouse Technologies
- ↳ Stake Technology Specialist Training
- Audiovisual Media and Emerging Technologies
- ↳ Getting Started
- ↳ Digital Media
- ↳ General Media Discussions
- Help & Feedback
- ↳ Help with this forum