NDI backport for NRK's Server



I know that official Server has support for NDI but because of this bug I can’t use it in production, besides some performance issues (audio stuttering and drifting in 1080i5994).

Is there any chance for NDI to be backported into NRK’s 2.1.x fork?


I was testing Ianshade fork and it works very stable, very solid. It provides consumer AND producer Ndi. You can list all the actives ndi sources, you can play a ndi source over a layer. And you can configure interlaced ndi also. Only i can not stop or destroy an active ndi source. I have had audio problems and memory leaks also. This was solved removing the SYSTEM AUDIO


I’ll try to get a look into it, but the system audio bug you’re telling in some circumstances can be quite a deal breaking thing.


That fork by ianshade has since been merged into the main dev builds https://github.com/CasparCG/server/pull/1112, so those are likely better to use as they will have had some other fixes since then.

I did prototype porting that to the 2.1NRK, but havent thoroughly test or had any need to use it so I dont know how well it works.


I don’t mind to do some testing on it. I have a couple machines available to run whatever test is needed.


I don’t have time to produce a build until the weekend, but if you are able to yourself then this is the branch here https://github.com/Julusian/CasparCG-Server/tree/feature/ndi-port. From the commit messages, the main thing I wanted to test was that the video produced is smooth.


Active NDI can be distroyed using “Remove 1 ndi” but “Stop 1-layer” must be followed to prevent freeze frame and not to consume as and when that ndi is reproduced.


Thank You.


I try to run ndi with given link
NDI video is playing smooth but it’s blocking whenever I get warning messages of Decklink late scheduled.
I tested it on same machine like add NDI source and play it back on channel 2 also i’m getting Windows crash error after shutting down server and I think it is because of NDI library.


How can we get list of all active NDI sources?


In server 2.3, the amcp command, NDI LIST to view all those available in network.


Thank you kdprasad


I haven’t yet tested @Julusian’s backport (a lot of work these days), but from what I’ve run so far with Server 2.3.x builds, performance is quite good as long as I don’t use any system-audio in my channels.

With that in mind, what really prevents me from using any Server 2.2.x and forward versions is this bug which seems to be fixed by this pull request but it hasn’t yet been merged. I use image-producer a lot in my production setup and many automations I have in place use absolute paths for content.

That being said, this tackles issues regarding my production setup at work, but in other places where I help to maintain the broadcasting workflow, system-audio is vital for their broadcasting setup, as they have no Decklink or Bluefish, so they’re using a secondary screen over HDMI for broadcasting.

I’ll be trying to build @Julusian’s branch these days and check how everything goes, but I really hope for 2.3.x to fix the issues so I can finally upgrade to it.


@Julusian, I can’t seem to be able to build Server so far. I’ve tried the entire week with different settings in VS2019 and I can’t get it to build. Do I need a particular VS version for building?
Scratch all that, I finally managed to build it! :smiley:

I also found out that 2.3.x versions changed the SEEK command values (frames vs. milliseconds?), which broke part of my workflow and get some playout quirks with RedCast OnTime.

I’m editing my post to tell that I managed to build @Julusian’s fork and after a bit of testing, the only thing that held back the build was screen-consumer's performance. It dropped/unsynced a lot of frames, but after I turned it off and worked with NDI only, no problem. Right here I have no Decklink for testing yet, but I don’t think it might pose any more trouble than NDI by itself.

Any test you need me to run @Julusian?