The basic work to make OpenSong output to NDI has been completed. For the initial release, an exact replica of what OpenSong is presenting will be sent out on the NDI data stream.
I know this is even more critical to some of our users because of how many churches have moved to streaming services. In fact, I started working on this because I needed it for my own church. We are going to move quickly to make this available. It will be a "beta" quality release, so we will recommend you test your sets and the NDI connection thoroughly before using it in a service.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Until that is ready - we used OBS to capture OpenSong's presentation screen, sent it to another PC from which we did our streaming. There we used either the full screen for things like anouncements, or a fraction of the OpenSong screen as an overlay to the final stream for lyrics.
Last edit: SvA 2020-05-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2020-12-21
Any update on NDI for OpenSong?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I apologize for jumping on an old thread ... I've tried various things to do this, including using V3.4.0, 3.4.6b, 3.4.7b (and maybe a few more).
OpenSong seems to work fine. All of the presentation seems to work as normal. But using various tools, nothing sees an NDI source. I've looked in Sienna NDI Monitor, OBS NDI Source, and Discovery (mDNSResponder/Bonjour browser).
If I turn on NDI broadcast in OBS, it shows up in NDI Monitor and in Discovery.
I do not (at the moment) have a second display available, so all of my testing has been with either Single Screen or Preview Dual Screen.
I am running an M1 Macbook Pro with 16GB RAM and macOS 11.3.
I am a (primarily web) developer and have downloaded Xojo and the full source, but I have no experience with Xojo. If there is anything I can do to troubleshoot, let me know.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I did a little more digging and pulled this from Console. The important bits to my untrained eye are:
NDI.FinishSending: Shut down NDI
NDI.FinishSending: OutOfBoundsException Exception closing sender
Well, I've discovered that there is something going on with the code signing and notarization process for distributing a Mac application that is blocking the NDI library from working correctly. I am looking into this and will reply back on this thread when I have more information.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been poking around, and I found something that seems likely to be a factor (although I don't know enough to fix it).
Using Apparency, I looked at the included frameworks/bundles, and all of them except for libndi.4.dylib are "Hardening" version 11.0 or 11.1. libndi.4.dylib is Hardening version 10.15.6.
It seems like it might be an incompatibility between macOSX and macOS11? Old version of libdni?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I just looked at "NDI Monitor.app" and it has libndi.4.dylib with Hardening Version 11.1.0.
Also, their version of the dylib appears to be for both Intel and AppleSilicon.
Not directly related to this, but the app (NDI Monitor.app) seems to be an Apple Silicon app, but a bunch of its dylibs are Intel-only ... so that seems to be possible ...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There seems to be a magic incantation needed to get everything signed and notarized properly to allow the libndi dylib to access the network. After trying multiple alternatives and consulting with several sources, I chose to work around the problem by separating the OpenSong code and the NDI library like the OBS-NDI plugin has done. The V3.4.8 release posted today reflects that split. It has been tested on macOS from Mojave to Big Sur on Intel and Big Sur on Apple Silicon.
The NDI dylib became dual-architecture in the V4.6 release, I believe. We're now using V4.6.2.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-06-04
I've got it working ... but ...
Where do you get ("correctly") the 4.6.2 NDI dylib? The SDK download from NewTek seems to give an old version. The installer is Intel/Rosetta2 ... the dylib is Intel/Rosetta2. I found a link to the 4.6.2 dylib in somebody's Github, but ... there must be a right way.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-04-18
I didn't know you added this! I found the signal playing with vMix NDI discovery. Have a scripture overlay up quick and easy. Thanks! You are a blessing!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-06-05
how do i get opensong as an NDI source into OBS? my OpenSong version is v3.4.8, are there any settings that I need to configure?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you have the OBS-NDI package installed in OBS, it should see OpenSong as an available source.
OpenSong does not initialize NDI until you enter presentation mode the first time after starting the program. Once initialized, it will be an active NDI source until the program exits. In other words, you will need to start a presentation before you will see OpenSong in the NDI sources list.
NDI can be disrupted by firewall settings on both the OpenSong and OBS computers (assuming you are using separate computers). Also, NDI V4 does not work well with computers that have multiple network interfaces where the source and destination computers do not have a route to each other over all network interfaces. NDI V5 (announced last week but not yet shipping) is supposed to provide more control over the interfaces used.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The basic work to make OpenSong output to NDI has been completed. For the initial release, an exact replica of what OpenSong is presenting will be sent out on the NDI data stream.
I know this is even more critical to some of our users because of how many churches have moved to streaming services. In fact, I started working on this because I needed it for my own church. We are going to move quickly to make this available. It will be a "beta" quality release, so we will recommend you test your sets and the NDI connection thoroughly before using it in a service.
Until that is ready - we used OBS to capture OpenSong's presentation screen, sent it to another PC from which we did our streaming. There we used either the full screen for things like anouncements, or a fraction of the OpenSong screen as an overlay to the final stream for lyrics.
Last edit: SvA 2020-05-23
Any update on NDI for OpenSong?
I use the "preview dual screen" to export the screen to OBS.
NDI support can be tested in the release posted this week: https://sourceforge.net/projects/opensong/files/OpenSong/V3.4.0/
Last edit: Ed Palmer 2021-01-03
I apologize for jumping on an old thread ... I've tried various things to do this, including using V3.4.0, 3.4.6b, 3.4.7b (and maybe a few more).
OpenSong seems to work fine. All of the presentation seems to work as normal. But using various tools, nothing sees an NDI source. I've looked in Sienna NDI Monitor, OBS NDI Source, and Discovery (mDNSResponder/Bonjour browser).
If I turn on NDI broadcast in OBS, it shows up in NDI Monitor and in Discovery.
I do not (at the moment) have a second display available, so all of my testing has been with either Single Screen or Preview Dual Screen.
I am running an M1 Macbook Pro with 16GB RAM and macOS 11.3.
I am a (primarily web) developer and have downloaded Xojo and the full source, but I have no experience with Xojo. If there is anything I can do to troubleshoot, let me know.
I did a little more digging and pulled this from Console. The important bits to my untrained eye are:
NDI.FinishSending: Shut down NDI
NDI.FinishSending: OutOfBoundsException Exception closing sender
I also tried with a second display (AirPlay, if it matters) with the same outcome.
Well, I've discovered that there is something going on with the code signing and notarization process for distributing a Mac application that is blocking the NDI library from working correctly. I am looking into this and will reply back on this thread when I have more information.
I've been poking around, and I found something that seems likely to be a factor (although I don't know enough to fix it).
Using Apparency, I looked at the included frameworks/bundles, and all of them except for libndi.4.dylib are "Hardening" version 11.0 or 11.1. libndi.4.dylib is Hardening version 10.15.6.
It seems like it might be an incompatibility between macOSX and macOS11? Old version of libdni?
I just looked at "NDI Monitor.app" and it has libndi.4.dylib with Hardening Version 11.1.0.
Also, their version of the dylib appears to be for both Intel and AppleSilicon.
Not directly related to this, but the app (NDI Monitor.app) seems to be an Apple Silicon app, but a bunch of its dylibs are Intel-only ... so that seems to be possible ...
There seems to be a magic incantation needed to get everything signed and notarized properly to allow the libndi dylib to access the network. After trying multiple alternatives and consulting with several sources, I chose to work around the problem by separating the OpenSong code and the NDI library like the OBS-NDI plugin has done. The V3.4.8 release posted today reflects that split. It has been tested on macOS from Mojave to Big Sur on Intel and Big Sur on Apple Silicon.
The NDI dylib became dual-architecture in the V4.6 release, I believe. We're now using V4.6.2.
I've got it working ... but ...
Where do you get ("correctly") the 4.6.2 NDI dylib? The SDK download from NewTek seems to give an old version. The installer is Intel/Rosetta2 ... the dylib is Intel/Rosetta2. I found a link to the 4.6.2 dylib in somebody's Github, but ... there must be a right way.
I used the link provided in the email that NewTek sent when I registered to get the SDK.
The version.txt file says "NDI 2021-03-02 r121634 v4.6.2".
Doing "strings libndi.4.dylib | grep SDK" also reports v4.6.2.
And "otool -vf libndi.4.dylib" returns this:
I didn't know you added this! I found the signal playing with vMix NDI discovery. Have a scripture overlay up quick and easy. Thanks! You are a blessing!
how do i get opensong as an NDI source into OBS? my OpenSong version is v3.4.8, are there any settings that I need to configure?
NDI output on Windows and Linux will be enabled by default. For macOS, you need to download the NDI package and install it. The pointer is in the V3.4.8 release notes at https://sourceforge.net/projects/opensong/files/OpenSong/V3.4.8%20Beta/
If you have the OBS-NDI package installed in OBS, it should see OpenSong as an available source.
OpenSong does not initialize NDI until you enter presentation mode the first time after starting the program. Once initialized, it will be an active NDI source until the program exits. In other words, you will need to start a presentation before you will see OpenSong in the NDI sources list.
NDI can be disrupted by firewall settings on both the OpenSong and OBS computers (assuming you are using separate computers). Also, NDI V4 does not work well with computers that have multiple network interfaces where the source and destination computers do not have a route to each other over all network interfaces. NDI V5 (announced last week but not yet shipping) is supposed to provide more control over the interfaces used.