VL.IO.NDI

,

I spent some more time on this and now released everything on Github:

Furthermore here is a ready-to-use version of the whole thing with the latest changes
VL.IO.NDI_200413.7z (1.8 MB)

For future releases there will be a nuget pipeline that I still have to set up.

The latest changes feature some performance improvements for the Receiver and experimental Sender nodes. Caution with those - they are not synced to any Renderer and the NDI videostreams are prone to jitter.

  • Sender: Blocking version that will throttle the patch according to the set frame rate
  • ReactiveSender: This one is clocked by a BusyWaitTimer internally and therefore processes frame sending on a different thread. Beware: Closing the patch while still sending video will crash VVVV (I did not figure out how to safely check if frames/sender are already disposed in the other thread).

The whole Sending topic will need more research (and probably some help by the devs - e.g. is it possibly to get a sync info from the Renderer?). Also i just noticed there is an async version of the NDI send function.

Anyone interested in joining in the development is welcome as I don’t always have time for this. There is still a lot to be done (proper sending, audio and metadata support, timecode, …).

Enjoy!

6 Likes