OSC io
Drive OBS events with Open Sound Control (OSC) messages.
- Set the number of connected clients
- Send messages to Text sources.
- Return messages to clients.
Setup
Install Python
Python is a programming language that will need to be installed for the Keynote Controls to work.
OBS supports python version 3.11 . It's important that Python 3.11 is installed. Newer versions are available, but these newer versions will not work.
- Download the MacOS installer
- Install Python 3.11 to the default location
Install Python dependencies
This script use the Python OSC Library
- Open the Terminal app
- Enter the
pipcommand
python3.11 -m pip install python-osc
Configure OBS Python Settings
OBS needs to know where Python is installed. Use the macOS Terminal app to find the Python install path. Then enter the Python install path in OBS
- Open the Terminal app
- Enter the 'which' command
which python3.11
The default install path will be returned
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11
-
Use the mouse to highlight the path
-
Right click and select "Copy"
-
Open OBS
-
From the menu bar select
Tools > Scripts -
In the Scripts window switch to the
Python Settingstab -
Click the "Browse" button
-
Use the keyboard shortcut
cmd + shift + G -
In the pop-up, right click in the "Go To Folder" input field
-
select paste

-
Press "Enter"
-
Click the "Open" button
The Pythons settings should now display "Loaded Python Version: 3.11"

Add the Keynote Controls Script to OBS
The "Keynote Controls" script and accompanying OBS Collection can be found on Github.
Import the Keynote Controls OBS Collection
- Download the Keynote Controls Collection
- In OBS, from the menu select
Scene Collection > Import - Import the collection
- Choose the collection
Scene Collection
Add the Keynote Controls Script
- Download the Keynote Controls Script
- In OBS, from the menu select
Tools > Scripts - Click the
+ Add scriptbutton
After installing the script, adjust the settings to the camera and slides scene.
The "Slides" scene includes a "macOS Screen Capture" source to capture the Keynote slides. You can set the 'Display' as needed.

Using "Keynote Controls"
Navigate Slides
Add Scene tags to slides
Adjust teleprompter
[[
]]