0% found this document useful (0 votes)
261 views5 pages

Zoomosc Setup Guide: For Windows 10

ZoomOSC is a modified version of Zoom that adds OSC control capabilities. It allows sending commands to control Zoom meeting functions like spotlighting, muting, and receiving participant information. ZoomOSC can integrate with media servers and broadcast encoders to enable advanced online performances and productions.

Uploaded by

fusionhead
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
261 views5 pages

Zoomosc Setup Guide: For Windows 10

ZoomOSC is a modified version of Zoom that adds OSC control capabilities. It allows sending commands to control Zoom meeting functions like spotlighting, muting, and receiving participant information. ZoomOSC can integrate with media servers and broadcast encoders to enable advanced online performances and productions.

Uploaded by

fusionhead
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

ZOOMOSC VERSION 3.

ZOOMOSC
SETUP GUIDE
For Windows 10

OVERVIEW
ZoomOSC is an incredibly powerful tool for online performance. At a technical level, ZoomOSC is a

modified version of Zoom that adds a bidirectional OSC engine which allows you to send OSC

commands to control different functions in a Zoom meeting (such as spotlighting or muting) while also

receiving information about participants (such as the order of people in Gallery View).

ZoomOSC can be a linchpin in a larger production workflow that requires a media server and/or

broadcast encoder. Video designers with experience in media servers have been able to create

advanced show programming.


WORKFLOW
ZoomOSC can be used with both serialized (cued) shows or non-linear control surfaces. From the

perspective of video flow, a suggested methodology is to have ZoomOSC in communication with a

media server. That way, ZoomOSC can send and receive data and the ZoomOSC window/s can be

screen-captured.

We recommend using the multi-display mode of the Zoom interface because you can see a gallery view

and a full-screen view simultaneously.

After applying video overlays and effects using the media server, the aggregate AV feed can be sent to

an encoder (ex: VMix), potentially using NDI, and then the show's "program output" can be sent to a

remote audience on platforms like YouTube and Vimeo via RTMP, or it can be looped back into the

Zoom meeting for a program monitor within the call.

GETTING STARTED
1) Run the ZoomOSC Installer
Install the program to a location on your computer, such as Documents, that does not require administrator

privileges (for simplicity).

2) When you run ZoomOSC, you will see a console and Zoom interface
The console contains information about the operation of the program that you can use to debug. The Zoom

interface operates much like the regular Zoom platform, with a few modifications.

3) Join your Zoom Meeting


The simplest way to accomplish this is to click Only Join. Enter the meeting ID with no spaces, your username,

and the meeting password.

Alternatively, sign in with an account that is not associated with a “Log in with…” interface (e.g. "Log in with

Google").

Please create a free Zoom account to use for running this application that does not require that sign in

system. You can still use your organization’s premium account, if you have one, to create the meetings and get

access to those features, but you should log into the application with this new account.

4) Control ZoomOSC
Use your favorite OSC Controller (TouchOSC, Isadora, QLab, Bitfocus Companion, etc.) to control ZoomOSC.

Send commands to the IP Address that ZoomOSC is running on (127.0.0.1 if running the controller on the same

computer as ZoomOSC). ZoomOSC uses UDP port 8000.


MEMORY MANAGEMENT
T o u s e Z o o m O S C , y o u h a v e t o s t o r e p a r t i c i p a n t s i n t h e p r o g r a m ' s m e m o r y . O n c e y o u d o t h is , y o u c a n c a l l

functions (ex: /zoom/spot 1) on participants using their ZoomOSC ID.

A t a n y t i m e , y o u c a n s e e t h e l i s t o f p a r t i c i p a n t s y o u ' v e p r e v i o u s l y s t o r e d w i t h t h e c o m m a n d , / z o o m / l is t .

If your talent changes their username - you will not have control over them again unless you call update or

modify your "performance_config.txt" file and call load.

If you don't know the names of the Zoom participants ahead of time - Calling update and saving the

program's memory to disk using /zoom/save is an easy way to externalize the participant data to other

applications using "performance_config.txt"

If someone disconnects from the meeting and then rejoins - As an operator, you don't have to do

a n y t h i n g t o r e g a i n c o n t r o l o f t h e p a r t i c i p a n t f o r t h e p u r p o s e s o f c a l l i n g c o m m a n d s . Z o o m O S C a u t o m a t ic a l l y

tracks information about users in the background, provided they rejoined with the same username.

If you want to get creative, you can have your talent swap usernames (or you can do it for them) as part of

an improvisational programming scheme. There are enough building blocks to build very powerful control

patches!

3 OPTIONS TO STORE PARTICIPANTS


Option 1: Live Update
ZoomOSC will look at all the participants in the Zoom meeting and store them in memory, associating their

usernames with a ZoomOSC ID, a placement in a zero-indexed list of participants

/zoom/update

Option 2: Save and Load Preset from Disk


ZoomOSC will look for performance_config.txt and load its contents into memory. This file is created by calling

/zoom/save, which takes the contents of ZoomOSC’s participant memory and stores them into the text file - (If you

don’t see the file, try calling update, then save)

The idea of this text file is that you can just write in the Zoom usernames of the participants you want to have

control of, and you can order the file so that you can have persistent bindings between ZoomOSC IDs and Zoom

participants that you can use for multiple rehearsals or performances.

/zoom/save (Take the contents of memory and save to disk)


/zoom/load (Take the contents of "performance_config.txt" on disk and load it into memory)

Option 3: Build as you Go


As users join the meeting, use the include command to append them to the end of memory, preserving your previous

controls but adding new users.

/zoom/include
THE RETURN CHANNEL
Applications can now receive OSC back from ZoomOSC. Presently, ZoomOSC sends OSC

packets to port 1234 on the software loopback, 127.0.0.1, on Windows.

The most powerful feature of the return channel is the ability to track participants throughout

the Gallery View. You can build upon this framework to create an automatic switching engine

to simulate ISO feeds of the Zoom participants.

To use the “galtrack” system:

1. Make sure ZoomOSC is named "ZoomOSC" in the Zoom call

2. Have all participants turn off video (if any were on)

3. If you are using a program monitor, “Hide Self View”/turn off ZoomOSC’s video feed

4. Load participants into memory with /zoom/load or /zoom/update

5. Have participants turn on video

6. Listen to /zoomosc/gallery/order to receive the ZoomOSC IDs of everyone in the gallery

view in the order in which they appear from top left to bottom right

You can also build reactive programming off of things like /zoomosc/sound/off to fire events

in your Isadora patch, for example, when such an action occurs.

GLSL LIVE GALLERY ISO FEED SIMULATOR


Automatically crop and identify the gallery.

Liminal has created a free open-source GLSL Shader for automatically cropping the Zoom

gallery view.

In addition, we have implemented a set of user actors to use with Isadora to automatically

create ISO feeds of the talent in the Zoom call.

Check out our website for a link to download.

https://www.liminalet.com/zoomosc-setup-guide
ZOOMOSC 3.2 API
FOR WINDOWS

BEFORE YOU START:


To send commands to ZoomOSC, have your OSC packets target port 8000 on the software loopback device (127.0.0.1) or via the
host PC's private IP address if you are connecting from an external device, like QLab running on a Mac on the network.

You can send payloads that are strings, ints, or floats. If you are using strings, use the username of the participant.

COMMANDS GOING INTO ZOOMOSC ON PORT 8000

GLOBAL ACTIONS SELF ACTIONS CHAT


Spotlight /zoom/spot Pin User /zoom/pin Send chat to user /zoom/chat
Un-Spotlight /zoom/unspot Unpin User /zoom/unpin Send chat to all /zoom/chat/all
Request Video On /zoom/video/on Pin to Second Screen /zoom/pin2
Set Video Off /zoom/video/off Unpin from Second Screen /zoom/unpin2
Start Screen Share /zoom/screenshare Turn off Self Video /zoom/me/video/off
Stop Screen Share /zoom/stopshare Turn on Self Video /zoom/me/video/on
Mute Microphone /zoom/mic/mute Toggle Gallery/Active View /zoom/gallery
Unmute Microphone /zoom/mic/unmute

MEMORY FUNCTIONS CONSOLE DEBUG FUNCTIONS


Poll API for users to store in memory /zoom/update Print Memory to Console /zoom/list
Append new users to end of memory /zoom/include Print Status Info /zoom/survey
Load from performances_config.txt /zoom/load Print User Roles /zoom/roles
Save to performance_config.txt /zoom/save Print String /zoom/print
Reset app memory containers /zoom/reset Print Number of Args Detected /zoom/report

CHAT AUTO CONTROLS


When ZoomOSC receives the following as chat messages
from a meeting host or co-host, it will perform the ZOOM ROLE KEY
associated action

Turn Off Video "/zoom/video/off"


0 USERROLE_NONE
Turn On Video "/zoom/video/on"
For Initialization
Turn Off Microphone "/zoom/mute"
Turn On Microphone "/zoom/unmute"
1 USERROLE_HOST
Role of the Host

2 USERROLE_COHOST
COMMANDS COMING OUT OF Role of Co-Host
ZOOMOSC ON PORT 1234
3 USERROLE_PANELIST
OUTPUTS Role of the Panelist, Only in Webinar Mode
Order of Gallery View /zoomosc/gallery/order
Number of Users with Video On /zoomosc/gallery/count 4 USERROLE_BREAKOUTROOM_MODERATOR
Call out Video Turn On /zoomosc/video/on Host role in Breakout Room
Call out Video Turn Off /zoomosc/video/off
Call out Microphone Turn On /zoomosc/mic/unmute
5 USERROLE_ATTENDEE
Call out Microphone Turn Off /zoomosc/mic/mute
Role of Attendee

You might also like