Network Device Interface (NDI) - Video over IP


#1

hello,

Have you guys any plans on implementing the new open source video sharing network protocol called Network Device Interface (NDI) ?

Or maybe any community addon is on the way ?

More and more manufacturers and professional video software are using it :

  • Cisco
  • Millumin
  • ModuloPi media servers
  • Resolume Arena
  • Tricaster
  • there is a VLC plugin
    and so on…

http://www.newtek.com/ndi.html

This could be a way to share video between multiple devices and different OS (mac, windows, Linux)


#2

Hey Gallo,

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.

Ryan


#3

hey,

great to ear you are giving it a try !
i a using it with some media servers and it works really great !


#4

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


#5

hey !

great to see some interest here !

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.


#6

Does this help ?

https://github.com/leadedge/ofxNDI

You have to register with NDI to download the NDI SDK but it doesn’t take too long.

The Newtek SDK has example code as well if you want to use it directly. The addon code might help if you want to go that way.


#7

hey !

Great ! i will surely have a look at it
thanks a lot for the effort !


#8

Hi,
it looks nice !
Did you measure latency ?


#9

i didn’t try it already. But as per the demo i was given, there shouldn’t be any latency or less than 5 images


#10

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.


#11

yes. NDI seems designed to work well even in average switches with cat5 cables.
there shouldn’t be long to see manufacturers build converters


#12

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.

There is an OSX system “Syphon2NDI” and “INetSyphon SDK” that is worth looking at.


#13

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.


#14

Sorry to reopen this topic, but I would appreciate some help here: Grabbing the "canvas" using ofFbo, ofTexture or ofImage and sending through ofxNDI