keijiro / Nsm

Nsm - NDI Simple Monitor
Other
215 stars 20 forks source link

libndi is not ready #1

Closed magdesign closed 5 years ago

magdesign commented 5 years ago

Thanks for writing this code, looks very promising to me, however:

I installed the newest NDI SDK, went into the ~/NDI SDK for Linux/examples/C++ directory and did make command.

Then I downloaded your 'Nsm-1.0.1' release, copied it to /opt

Also copied your install-ndi.sh to ~/NDI SDK for Linux/examples/C++ and run it with: sudo ./install-ndi.sh

and finally run ./Nsm.x86_64

A fullscreen checkerboard appeared and in the top left corner was a dropdown with the text: libndi is not ready I had to use xkill to terminate the application.

Here is the output of the console:

Set current directory to /opt/Nsm-1.0.1
Found path: /opt/Nsm-1.0.1/Nsm.x86_64
Mono path[0] = '/opt/Nsm-1.0.1/Nsm_Data/Managed'
Mono config path = '/opt/Nsm-1.0.1/Nsm_Data/MonoBleedingEdge/etc'
Preloaded 'ScreenSelector.so'
Unable to preload the following plugins:
    libKlakNDI.so
Display 0 'DELL U3818DW 38"': 3840x1600 (primary device).
Logging to /home/magdesign/.config/unity3d/Editor/Player.log
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 409 requests (409 known processed) with 0 events remaining.

and here the Player.log content: https://gist.github.com/magdesign/bffd67379d2a513c76502c6ced0fcb07

The log tells me something about could not load library /opt/Nsm-1.0.1/Nsm_Data/Mono/libKlakNDI but there is no Mono folder in Nsm_Data There is only a 'MonoBleedingEdge' but without a libKlakNDI file.

Any support very welcome, I'd love to have a NDI monitor on my Ubuntu system.

keijiro commented 5 years ago

install-ndi.sh should be executed in ~/NDI SDK for Linux.

Please check if libndi.so.3 is in /usr/local/lib/x86_64-linux-gnu. If there is no such a file, try running install-ndi.sh again in the correct directory.

magdesign commented 5 years ago

libndi.so.3 is available in /usr/local/lib/x86_64-linux-gnu Also executed install-ndi.sh in the ~/NDI SDK for Linux

Still get the libndi is not ready error.

Any hints on how i can debug this further...

keijiro commented 5 years ago

Could you check if the system can find libndi using ldconfig?

ldconfig -v | grep libndi

If it can't find the file, please try adding the path using ldconfig.

sudo ldconfig /usr/local/lib/x86_64-linux-gnu
magdesign commented 5 years ago

Yes, finally one step further. sudo ldconfig /usr/local/lib/x86_64-linux-gnuseems to help.

When I send a NDI stream from the same host with: ~/NDI SDK for Linux/examples/C++/NDIlib_Send_Video/NDIlib_Send_Video name_of_video.mp4 I can select the stream in the dropdown. But then I get a black and white flicker screen. This might be an issue caused by my huge screen resolution of: 3840x1600

keijiro commented 5 years ago

Thanks for the update. I thought that /usr/local/lib/x86_64-linux-gnu is one of the default path for .so files, but it was wrong. I should fix the install script to take it into consideration.

Regarding flicker on 3940x1600, I have no idea about what happened. The resolution might be a problem if it fixes by lowering the screen resolution. If it still reproduces, there might be another issue, probably related to the vulkan driver.

magdesign commented 5 years ago

I tested the same setup with the Orfast NDI monitor for Ubuntu: https://onedrive.live.com/?authkey=%21APoKfKiQVncsR10&id=6E4D06AD99EC18C7%21846&cid=6E4D06AD99EC18C7

There I get also a black and white flicker, so its not a problem with your app, more some issue on my machine. I will try on another computer soon. Thanks for your support and your great tool!

BTW. A function to leave the viewer with ESC would be recommended.

Update: I tested with sending NDI stream from another machine (with Mapio). Displaying works great with Orfast NDI monitor appimage, with your tool I am able to select the stream, but it will not display anything...