Split NDI to Key+Fill

Hi everyone!

Is there any way to split an incoming NDI into Key and Fill NDI Outputs?
I tried to give the NDI consumer the “key only” tag, but that didn´t worked.

Sure, I can playout the NDI via decklink and feed it back into the system, this works quite nicely. But it´s waste of an decklink card…

Any other ways to split an NDI?

Why do you need to split the NDI into separated streams? I’m assuming you only need it for reference if you don’t want to use SDI outputs. If that’s the case you can open two Studio Monitor windows and enable the “Show Alpha” option under Settings>Video>. Unfortunately the app won’t output that Alpha only feed with its “NDI Video Output” option.

I need to transfer them via two SRT Streams over the Internet. Therefore I need two separate streams, one with key, one with fill. (yes, they stay in sync, already tested over hours…)
My graphics source is NDI. (no Caspar this time, would just need it as an middleware)

Can you explain better why you need to split them? Does equipment/software on the receive side not support alpha in NDI?

Just see the post before… need to stream them via SRT. SRT doesn´t support Alpha.

SRT shouldn’t alter the bitstream.

We´re out of topic here… just need to split the NDI into key+fill… :wink:

medialooks Video Transport supports SRT+NDI w/ alpha: Video Transport - NDI Streaming and Video Over IP Software

Video Transport natively supports NDI video with alpha channel transparency data – you can transport both video and graphics (fill & key) in a single stream.

NDI wants key+fill to be in the same stream as BGRA I’d consider CCG to be fully compliant and your issue is with something that’s not compliant with NDI.

Ok… I see I have to involve hardware here… NDI to Decklink, output Key+Fill to Encoders…
Waste of a decklink card, but ok… -.-

I was thinking about a mixer effect, but I don‘t know if it works. Play a 100% white full screen image on one layer and the NDI source on another. Then use the MIXER KEYER effect to key the white layer to make the key channel. For the fill play the NDI on another channel before a black background.

Good idea, but gives bad results. :confused:

I thought something like that but I believe the mixer effect expects red channel as alpha source

You can do that with software but it involves some coding. The NDI SDK will let you do that.

I know this is of the topic but when we have tested SRT in LAN the latency between 2 streams was not constant.
With test with Medialooks over internet it is the same thing, the latency between streams is not constant.
So in my opinion trying to stream separate fill and key as will not get any usefull graphics.
If its graphics test SPX-GC, some CasparCG-html-templates works with minor tweek and I run my on MVPS that costs 35€/year. And then I use Singular.live Recast to convert html-output to NDI.

Why not run Caspar on the remote side and just somehow send the commands over? You could run a local Caspar for previews in the control room or could feed back the keyed video, or both.

Well, that´s the whole point of SRT, that it´s constant… I´ve had tested it for several hours over the internet and didn´t had any difference between both streams.

In this case it´s an other software as the primary NDI source and I quickly need to adjust values… So system on the other side wont work. I think I willl go with Medialooks.

But it´s still interesting for other jobs to split the NDI.


can output a second NDI with key only


And that´s the solution! Awesome!
Works like I needed it.

Thank you very much Maurice :slight_smile: