Streampunk / grandiose

Node.JS native bindings to Newtek NDI(tm).
Apache License 2.0
189 stars 48 forks source link

Not all devices discovered #13

Closed NijsJonas closed 1 year ago

NijsJonas commented 3 years ago

whenever i run

const grandiose = require('grandiose'); grandiose.find() .then(console.log) .catch(console.error);

only some of my devices are discovered, i always have to run this multiple times to see all my devices, i already set the wait to 80000 still nothing, any sollutions ?

jensstigaard commented 3 years ago

This is the nature of NDI. It takes some time to discover all devices. I think you should keep the wait fairly low, like 5000-10000, and then run find continuously multiple times each minute.

TomKaltz commented 2 years ago

Also should using ndi find block the whole thread?

rezonant commented 2 years ago

Also I believe all NDI needs to be on the same subnet to be discovered. You should use the NDI Studio Monitor application (part of the NDI Tools suite) to verify that NDI's own implementation can discover a device from a particular machine / subnet

Julusian commented 1 year ago

There is a new class based finder implementation, which should resolve this. Rather than relying on being able to discover all sources within a window, you can leave the finder running and query it for the list whenever is convenient for you https://github.com/Streampunk/grandiose/blob/master/index.d.ts#L155-L168

I will publish this to npm when I can, I am still chasing for access