Overview
Iris lets you use a third-party hardware joystick controller (such as a PTZ joystick console) to control your cameras directly through Iris. Instead of using the on-screen joystick or a gamepad, you connect a professional IP-based controller to your local network and pair it with Iris. The controller communicates using the VISCA over IP protocol — a standard language understood by most PTZ camera controllers.
Once connected, your IP controller sends pan, tilt, zoom, focus, preset, and camera-setting commands to whichever camera is currently selected in your Iris session. This means you can operate your cameras hands-on, the same way you would in a traditional broadcast control room, while still getting all of the benefits of Iris's cloud-connected workflow.
What you need
The Iris desktop application. IP controllers can only be added and managed from the desktop app. If you open the web version of Iris, you will see a notice that reads: "IP controllers cannot be managed on web. Please use the Iris application to add and manage your controllers."
A VISCA-over-IP compatible controller connected to the same local network as the computer running Iris.
At least one camera already added to your Iris studio so the controller has a device to control.
Network access — your computer's firewall must allow incoming connections on the port Iris assigns (the port is shown during setup).
How to use IP Controller
Adding an IP Controller
Open the Iris desktop application.
Go to Settings > Controllers.
Select the IP Controllers tab.
Click the Add IP Controller button.
Select a network (if your computer has multiple network interfaces). Iris detects your available networks and displays them with their IP addresses. Choose the one that is on the same subnet as your IP controller. If only one network is found, it is selected automatically.
Configure your controller. Iris displays its own IP Address and Port Number. You need to enter these into your physical controller's setup interface, adding Iris as if it were a "camera." Use the Copy buttons to copy each value to your clipboard.
Click Continue to proceed to the connection test.
Test the connection. You will see a "Waiting for command..." message. Move a joystick or press a button on your controller. Once Iris receives a command, a green checkmark and the message "Connection successful!" appear.
Click Save and Finish to complete setup. This button only becomes active once the connection is confirmed.
While it's active
Your saved IP controllers appear in the Saved IP controllers list under the IP Controllers tab.
The IP controller automatically targets whichever camera is currently selected in your video panel. When you select a different camera, the controller switches to that camera.
Supported actions from the controller:
Pan, tilt, and zoom — continuous movement commands at variable speeds
Move Home — returns the camera to its home position
Preset recall and save — recall saved camera positions by number, or save the current position
Focus — continuous focus (near/far/stop)
Exposure mode — switch between auto, manual, and other exposure modes
White balance mode — change white balance settings
OSD menu navigation — open/close the on-screen menu, navigate up/down/left/right, confirm, and go back
Various camera settings — any setting registered in the camera model's command definitions (e.g., image flip, gain, shutter, etc.) commands.
Managing an existing IP Controller
Click on a controller in the list, then click the settings icon to open the Advanced Settings dialog.
In Advanced Settings you can:
Rename the controller — edit the Controller Name field and click Save Changes.
View connection details — the IP Address and Port Number are shown (read-only).
Delete the controller — click the red Delete Controller button. You will be asked to confirm: "Are you sure you want to delete this controller?"
Removing a controller
Select the controller from the Saved IP controllers list.
Click the settings icon.
Click Delete Controller and confirm.
Limits and restrictions
Desktop app only — adding, removing, and renaming IP controllers requires the Iris desktop application. The web browser version can view the list of saved controllers but cannot manage them.
Same network required — the controller and Iris must be on the same local network (same subnet). A network selection step is provided if multiple interfaces are detected.
One active target device — all connected IP controllers send commands to whichever camera is currently selected. You cannot independently assign different IP controllers to different cameras simultaneously (all controllers target the same active camera).
VISCA protocol only — the controller must speak the VISCA over IP protocol. Other proprietary joystick protocols are not supported through this feature.
Automatic restoration — previously saved IP controllers are automatically restored when the Iris desktop app starts.
What happens if…
…you close the dialog without completing setup?
If you close the Add IP Controller dialog before confirming a connection, Iris automatically cleans up and removes the pending controller process.
…you try to use the web app to manage controllers?
You will see a warning message telling you to use the desktop application. You can still see the list of saved controllers, but the Add button and settings controls are hidden.
…no camera is selected in Iris?
Commands from the controller will not be applied. The system requires an active camera selection to route commands.
…your IP controller is on a different subnet?
The controller will not be able to reach Iris, and the connection test will remain stuck on "Waiting for command..." Choose the correct network interface during setup so the IP address and port match the controller's network.
…you restart the Iris desktop app?
Saved IP controllers are automatically restored on startup.
…you try to recall a preset number that doesn't exist?
The recall command is quietly ignored. No error message is shown in the UI.
…the camera model doesn't support a particular command from your controller?
If the controller sends a VISCA command that doesn't match any registered command for the camera model, it is silently dropped.
Troubleshooting
Symptom | Likely cause | Fix |
"Waiting for command..." never completes | Controller is on a different subnet, or firewall is blocking the port | Verify the controller and Iris are on the same subnet. Check your firewall settings and ensure the displayed port is open. |
Controller connected but camera does not move | No camera is selected in the Iris video panel | Select a camera in the video panel. The IP controller targets the currently selected camera. |
"IP controllers cannot be managed on web" message | You are using the browser version | Switch to the Iris desktop application. |
Controller disappears after restarting | The controller process failed to restore | Re-add the controller using the Add IP Controller flow. |
Pan/tilt works but zoom does not | Some controllers send zoom on a separate channel or use unsupported speed values | Ensure your controller is using standard VISCA zoom commands. Check the controller's VISCA compatibility documentation. |
"No Networks found" in the Add dialog | The desktop app could not detect network interfaces | Ensure your computer is connected to a network. Click Search Again to retry. |
FAQ
What is an IP controller?
An IP controller is a physical hardware device — usually a joystick console — that sends camera control commands over your local network using the VISCA protocol. Examples include PTZ joystick controllers from manufacturers like Lumens or similar.
Can I use multiple IP controllers at the same time?
Yes, you can add multiple IP controllers. However, all of them will control whichever camera is currently selected in the Iris video panel. You cannot assign each controller to a separate camera.
Does my controller need to support any specific VISCA version?
Your controller needs to support standard VISCA over IP (UDP). The default listening port is 52381, which is the industry-standard VISCA port.
Can I use an IP controller from the web browser?
No. IP controllers require the Iris desktop application to set up and operate. The browser can only view the list of saved controllers.
How do I know which IP address and port to enter in my controller?
Iris displays these values during the Add IP Controller setup flow. You can copy them with the provided Copy buttons.
Which camera will my controller operate?
The controller always operates whichever camera is currently selected (active) in your video panel. Switching your selected camera in Iris automatically redirects the controller to the new camera.
Can I rename my IP controller?
Yes. Click the settings icon next to the controller in the Saved IP controllers list, change the name in the Controller Name field, and click Save Changes.
Do IP controllers support camera presets?
Yes. You can recall and save presets from your IP controller. Recalling a preset moves the camera to the saved position. Saving a preset creates a new preset entry with the camera's current position.
What happens to my IP controllers when I close and reopen Iris?
Saved IP controllers are automatically restored when Iris starts up
