Skip to content

Add support for NDI cameras#276

Draft
cimnine wants to merge 14 commits intoglikely:mainfrom
cimnine:ndi
Draft

Add support for NDI cameras#276
cimnine wants to merge 14 commits intoglikely:mainfrom
cimnine:ndi

Conversation

@cimnine
Copy link

@cimnine cimnine commented Aug 16, 2025

This provides an implementation to control NDI-enabled PTZ cameras with obs-ptz.

Some code is copied and adapted from DistroAV, which is licensed under GPL-2.0 as well. I've added copyright headers where applicable (ndi-finder.* and ndi.*).

Please review this PR carefully. I'm not experienced at all in C++/C, so I might have made grave mistakes. Also, I need help figuring out the cause of the Known Issues I mention below.

Related issue: #56

Implemented

  • Initializing of the NDI library
  • Finding NDI cameras on the LAN
  • Controlling NDI camers (PTZ, Home, Presets store & recall)

Known Issues

  • The finder_callback does not have the desired effect (cb is invoked, but modifications to dropdown don't appear in UI)
  • source_name is somehow not persisted across OBS restarts
  • Presets are not persisted either

Not planned

  • Only show NDI cameras that actually support PTZ. This would require connecting to each discovered camera and checking whether it supports PTZ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant