I had signed up for the SDK and downloaded it to take a look. This might be cool to make as an add-on for quick sharing… But thats as far as I have gotten. It definitely would open doors up for easy sending and receiving with no additional hardware which would be awesome.
Hello,
I also signed up for the SDK and did some testing, I am now able to send ofPixels via the ndi protocol. Unfortunately, I am quite busy with work these days, but I try to put it on github soon and post some updates here.
Anyone else working on it?
Thomas
i wish i could help with code but my skills are not good enough to produce anything valuable.
I have an github account though and i will give some help anywhere else if needed.
That’s nice! especially if it’s already implemented on all softwares you have mentionned !
I’m more happy to use OF when I see so much reactivity from the community
For comparaison, I have used ofxSquashBuddies (https://github.com/elliotwoods/ofxSquashBuddies) and it was great (no latency felt).
It’s written: When transmitting a 4MB image over a dedicated GigE connection, we had < 1 frame latency 30fps, at less than 5% CPU on both sender and receiver. 1080p YUY, 720p RGBA or a Kinect V2 RGB+D+Skeleton frame are all approximately 4MB.
I don’t think I am wrong if I say that the development of NDI has been for video systems rather than graphics applications, so frame rate is not such an issue with such data sizes.
But I have had a report with “Spout to NDI” that there is hardly any latency with textures as large as 8000x1000.
This is really pushing the limits with CPU data transfer and validates the claims of low latency.
I had not caught up with ofxSquashBuddies before and will have a good look at it.
The addon is updated to include a sender selection dialog for the receiver. The ofxNDIdialog class is used separately by the receiver application. Details are on GitHub and look at MousePressed in the receiver example.
Some corrections and improved efficiency in the examples. The receiver achieves 60fps at 1920x1080. The performance limitation for a sender is getting pixels off the GPU rather than the NDI sending function itself.