Troubleshooting
Failed to load native addon
Grandi reports each attempted load path. Read each numbered cause in the aggregate error.
Missing architecture package
Failed to find prebuilt package for linux-x64.
Please ensure that the package "@grandi/linux-x64" is installedRun this command to make sure that the installation includes optional dependencies:
npm ls @grandi/linux-x64Do not install with --omit=optional in a consuming application.
Missing libndi.so.6
libndi.so.6: cannot open shared object fileFor a published package, make sure that libndi.so.6 is beside grandi.node. For a local build, run this command. It copies the runtime libraries into build/Release:
npm run build:addonMissing Avahi libraries
On Debian or Ubuntu:
sudo apt-get install -y avahi-daemon libavahi-common3 libavahi-client3
sudo systemctl enable --now avahi-daemonNo sources discovered
- Wait for discovery updates before you read
finder.sources(). - Make sure that the sender and receiver use the same NDI groups.
- Make sure that the network permits multicast and mDNS traffic.
- Add known off-subnet hosts through
extraIPs. - On Linux, make sure that
avahi-daemonis active.
Receiver capture rejects while FrameSync is active
This behavior is intentional. A receiver cannot perform direct capture while it supports a FrameSync. Capture through the frame synchronizer. To return to direct capture, destroy the frame synchronizer.
Numeric timing values reject
Timecodes and receive timestamps are signed 64-bit values. Pass timecode as bigint. To synthesize timecode, omit the value:
const timecode = 0n;See Timing and timecode.