We have 3 cameras in our sanctuary and use OBS Studio to stream our church worship services on Sundays. We are using 20x PTZ cameras that when zoomed in can easily see where the speaker's eyes are pointing. Our minister would like to know which camera is streaming, so that she can look at that camera so that the streaming audience feels that she is looking at them.
I have a plan:
I have a plan:
- Write a lua script to watch for scene changes. When a OBS_FRONTEND_EVENT_SCENE_CHANGED is triggered, log a custom message in the OBS log file (complete)
- Build a breadboard with a circuit to power on a LED strip, and connect it to an Arduino (working on this)
- Attach a 1' segment from a 12V single color LED strip near each camera. Run a 2 conductor wire from each strip and connect it to the breadboard (working on this).
- Load Firmata onto the Arduino so that I can use a Python program running on the OBS computer to control the Arduino (complete).
- Write a Python program to watch the OBS log file. When a custom message is logged (complete) :
- send a command to the attached Arduino to turn off all camera indicator lights
- parse the message using camera details stored in an INI configuration file. Some scenes only have 1 camera, others may have multiple. The configuration file has the name of each scene, and a comma separated list of pins on the Arduino to turn on/off.
- send a command to the attached Arduino to turn on all the camera indicator lights that are now in use
- sleep for one second, then look for a new custom message. If one found, go to step 1