PTZ Controls

PTZ Controls v0.15.4

A first test release of the plugin that works with OBS Studio v28 is available now. This is only a test release, and a lot of stuff is still broken, but it should at least run. If you have some time and don't care if it breaks your system then please give it a try and report back here how it goes.

Minor fixes for compatibility with Face Tracker v0.4.2. There is no need to update unless you're using the Face Tracker plugin. Also, please remember that Face Tracker integration is experimental and you may encounter bugs or tracking problems. Always test before using for a live stream.
v0.10.1 didn't work for MacOS. The serial port library wasn't able to find the Qt libraries on machines without the OBS development environment set up. I think I've got it sorted now. Please try this new release.

There was also a crash on exit bug that I've fixed.
  • Like
Reactions: GregPeatfield
Hi everyone. I've just pushed out a minor release adding MacOS support! This is the first time I've released a MacOS build and there may be problems. Please test and let me know how it goes.

There are no other changes in this release, so if you are already using v0.10.0 you do not need to upgrade.
I need some help with this project. The PTZ Controls plugin needs an icon, but my graphic design skills are laughable at best. Are there any artistically minded folks would would like to create an icon for the project? If so, let me know by commenting in the discussion thread here: https://obsproject.com/forum/threads/ptz-controls.143676/

To be used in the project I would need permission to use the icon either under the terms of the project license which is GPLv2, or under a creative commons license. It needs to be round and at least 100x100px in size to look good here in the OBS Project resource list, though a resizeable vector SVG would be even better.
  • Like
Reactions: norihiro
It took a few -rc releases to finally squash a bug on the live camera lock feature where sometimes a device moving from program to preview will still have its controls locked, and to sort out some UI issues, but it seems to be sorted now. So, v0.10.0 is out there with some helpful new features please go and test.

If you haven't already seen it, here is a short video showing of the live camera lock feature:

New Features:
  • Provide list of source names when setting device name
  • Make PTZ device name track source name
  • Allow device to be associated with any source name
  • Move PTZDevice contructor/destructor into cpp
  • Assign each device a persistant unique id
  • Add config to disable controls for active scene
  • Use toolbar buttons instead of radio buttons for autoselect mode
  • Add button for manually unlocking the live camera lock
Bug fixes and codebase improvements
  • Only send stop commands when needed
  • Drop unnecessary calls to setFlat() on focus buttons
  • Fix setting state of livemoveDisable checkbox
  • Use the same terminology between dock and settings
  • visca-over-tcp: Automatically reconnect when sending
  • Fix Linux build
  • trivial: Fix layout of settings dialog
  • action-source: Fix handling of disabled sources
  • action-source: use .activate() callback
  • Remove unused signal handler from action source
  • trivial: Delete commented out code from ptz-controls.cpp
  • Drop default hostname/address from visca over IP config
  • ptz-device: fix name handling
  • Pass obs_data_t config to PTZDevice constructor
  • Update screenshots
  • Always use .currCamera() to get ptz device
  • Rename "camera" to "device_id" in the action filter
  • ui: Remove errant '&' from setting dialog
  • visca: Clamp device address to [1,7]
Changes over v0.10.0-rc1:
  • Fix problem with movement lock getting enabled when it shouldn't (edit: isn't actually fixed in this release, still needs another change)
  • Add button to manually disable movement lock
  • Change autoselect radio buttons to toolbar buttons that take up less space
  • Like
Reactions: GregPeatfield
I committed a fair number of improvements to the plugin over the last week and I think it is work another release. Some of the changes are risky and may break stuff, so I'm making this an -rc. Please test and let me know how it is working.

New Features:
  • Provide list of source names when setting device name
  • Make PTZ device name track source name
  • Allow device to be associated with any source name
  • Move PTZDevice contructor/destructor into cpp
  • Assign each device a persistant unique id
  • Add config to disable controls for active scene
Bug fixes and codebase improvements
  • Only send stop commands when needed
  • Drop unnecessary calls to setFlat() on focus buttons
  • Fix setting state of livemoveDisable checkbox
  • Use the same terminology between dock and settings
  • visca-over-tcp: Automatically reconnect when sending
  • Fix Linux build
  • trivial: Fix layout of settings dialog
  • action-source: Fix handling of disabled sources
  • action-source: use .activate() callback
  • Remove unused signal handler from action source
  • trivial: Delete commented out code from ptz-controls.cpp
  • Drop default hostname/address from visca over IP config
  • ptz-device: fix name handling
  • Pass obs_data_t config to PTZDevice constructor
  • Update screenshots
  • Always use .currCamera() to get ptz device
  • Rename "camera" to "device_id" in the action filter
  • ui: Remove errant '&' from setting dialog
  • visca: Clamp device address to [1,7]
  • Like
Reactions: norihiro
I want to take a moment to highlight @norihiro 's excellent Face Tracker plugin. He just released a new version with an experimental feature to link the Face Tracker with PTZ Controls. Go check it out!

I've just tagged the v0.9.0 release. Thanks to everyone who has helped with testing and providing feedback for this release. Here is the list of new features:

- Pelco-D protocol
- VISCA over TCP (Used by PTZ Optics, Jimcom, and others)
- Windows package contains both 32-bit and 64-bit support
- Installer package for Windows
- Reorganized settings dialog
- Settings dialog is more responsive
- Context menu for cameras added to dock to control power and one-push white balance
- Double clicking camera opens the settings dialog
- Hotkeys added for diagonal directions and preset recall
Top