Streampunk / grandiose

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

feat: cross platform ndi5 #18

Closed Julusian closed 1 year ago

Julusian commented 2 years ago

Updates NDI to 5.1.1

I only gave receiving a quick test on linux (x64), havent tried other platforms. Mac (arm64 and intel) and windows (x64) build and run

Builds on #15 Replaces #2, #4

Julusian commented 2 years ago

I have updated the libs for mac and windows, and given the examples in scratch a quick test.

This might want more testing, but this is probably as far as Im going to take it for now. Nothing existing should have broken, so it would be good to consider merging

TomKaltz commented 2 years ago

@Julusian I'm testing on a mac m1 and I'm noticing a couple of things....

-main thread is blocked during find operation -find wait time is disregarded...find operation always blocks for 12 seconds -sometimes find does not return sources at all

cliqer commented 2 years ago

@TomKaltz thank you for these. I experience the same. Is this happening only on the arm64 arch?

Julusian commented 2 years ago

Does master behave differently? It doesnt look like anything to do with finding was changed in this pr, so unless behaviour inside the ndi library changed it is likely you are finding pre-existing issues

TomKaltz commented 2 years ago

I will try to find time to test on mac intel.

In the meantime I’ve resorted to using https://github.com/agnat/node_mdns for NDI discovery and it works very well.

RomainAl commented 1 year ago

Hi ! Thx for all ! But, I'm trying that on my mac (intel / catalina) and I don't understand how to use yours, because : "npm install --save grandiose" don't work... and I coundn't having the node-module grandiose to require it ! NOTA : I'm a nioub in js... Thx

RomainAl commented 1 year ago

I tried to bypass installing grandiose via npm, and put yours manually in node-modules after installing bindings, but now I have this error :

Capture d’écran 2022-10-03 à 11 57 54

Could you help me ? Thx in advance

Julusian commented 1 year ago

You can install my version directly from github by setting the version in your package.json to be:

"grandiose": "github:julusian/grandiose#feat/cross-platform-ndi5",
RomainAl commented 1 year ago

Oh thx ! Now it works without errors but now your simple example don't find any NDI streams :

Capture d’écran 2022-10-03 à 12 08 10

Whereas I have a Resolum NDI output stream, fund by NDI tools ! I have a mac os (intel) catalina ! Sorry to disturb you, but this library will be so good for my artistic project...

hrueger commented 1 year ago

Hi @Julusian, thanks for this great PR. Since it does not look like this is going to be merged soon, I'd like to build on top of your fork. Would you mind enabling issues for your repository? Merry Christmas 🎄

hrueger commented 1 year ago

Great news, thanks @Julusian!