NDI output from Isadora frame rate
ibw202 Beta Silver last edited by mark
Sorry if this has been discussed previously, but I wondering if there was a way to set the frame rate of the NDI external output from Isadora? The resolution matches the size of the stage. But the NDI feed created by Isadora seems to default to 119.88i. And I think this high frame rate is causing issues with other program ingesting the NDI feed from Isadora (I'm working with sending video between Isadora and VMix). Also the NDI feed from Isadora seems to automatically be including an alpha channel. Is there a setting to not include an alpha channel? When I output NDI video from VMix, I have a lot more control over the frame rate and if there is an alpha channel in the NDI output. I'm a windows user running Isadora 3.0.7, with NDI 4 tools installed.
mark last edited by
But the NDI feed created by Isadora seems to default to 119.88i.
Well, unfortunately you have discovered a bug.
First, Isadora is most definitely sending the frames at correct rate. I checked this just now and verified that, given a target frame rate of 30fps, Isadora sends the NDI frames at 30fps.
You can set the Target Frame Rate in the General tab of the Isadora Preferences. This setting determines the frame rate for all video output, including NDI. In my opinion, it doesn't make much sense to output NDI at 23.976 if your target frame rate is 25fps. In terms of frame rate control, hopefully you will be satisfied by setting the target frame rate in the Isadora Preferences. If you feel differently, please let me know and explain why.
But what I discovered is that each frame sent over NDI has a frame rate parameter. As far as I can remember, in the SDK examples they just left this set to zero, so I did th same in Isadora 3.0.7. This is why you are seeing 119.88i, which is obviously nonsense – there's no such frame rate.
My research just now shows that if you are connecting to NDI broadcast hardware, the fact that Isadora 3.0.7 is not setting the frame rate in each frame could be a problem: the hardware might simply reject the frame because of this. What I cannot determine is this "zero" frame rate is a problem for software programs that receive NDI.
Regarding the alpha channel: we don't have a setting to change this. Isadora delives frames to NDI as ARGB (alpha + red/green/blue) and I figured delvering it this way would be best so that, if there was an alpha channel, it would be rendered correctly in the receiving software. I am willing to consider a checkbox that would disable sending alpha... that would not be too difficult to implement.
But regarding the frame rate bug: I've fixed this in our internal beta, so that the correct frame rate is set and the NDI Studio Monitor displays the matching frame rate. If you feel this is affecting your work, and would like access to the beta, please contact @Woland and ask to become a beta tester.
I'm open to hear your further comments about frame rate and the alpha channel issue. It would be super helpful if you gave us a sense of your workflow and why these issues came up for you, because you are the first person to bring them
Thank you for sharing your discovery so that we can make Isadora better.
ibw202 Beta Silver last edited by
Thanks for the info @mark .That all makes sense.
Having the NDI output frame rate be set by the Target Frame Rate makes sense. I had tried changing that around hoping it would change the NDI frame rate. Glad to know that is how it is supposed to work. =)
The NDI feed from Izzy with the labeled "119.88i" frame rate was causing tons of dropped frames in the feed into VMix (like every other frame or so). As a quick work around, I ended up exporting the stage as Spout, then ran SpoutToNDI to get the NDI feed into VMix. Going through Spout sent the correct 30fps feed, and the dropped frames were gone and the feed was smooth.
For my current workflow, the College I teach at is currently exploring remote performance collaboration options (like many of us are). We are currently doing experiments with VMix using their Vmix Calls. It allows up to 8 simultaneous remote video feeds via VMmix call, each sending their own 720p 30fps video feed and audio. I can then output these 8 remote video feeds from VMix via NDI into Isadora to process and layer. I then output the Isadora stage back to VMIx via NDI to broadcast to YouTube or Zoom or wherever.
We are having the remote actors performer in front of green screens. I am keying out the backgrounds in VMix first before sending to Isadora, because it seems like I can get a cleaner key result from VMix than from Chroma Key in Isadora. This is where I started having questions about the alpha channel in the NDI output. It seems like having an alpha channel in an NDI feed takes more system resources/bandwidth, and with so many NDI sources going, it seemed like it would be good to have the option of not having the alpha channel in the NDI output if it's not necessary. To save on bandwidth when possible? But maybe it doesn't make that much of a difference and I'm just imagining it?
In our experiments, it is looking like VMix, using VMix calls, has been an easy reliable way to get separate, high-ish quality, low latency video feeds that can imported into Isadora for manipulation. It has worked better than dealing with Zoom grids or Skype watermarks. The version of VMix that allows for the 8 VMix calls costs a good amount (we have been trying their 60 day free trial). So I don't know if in the end we will just end up using Skype and OBS instead? I am curious about other workflows people are trying?
mark last edited by
This is where I started having questions about the alpha channel in the NDI output. It seems like having an alpha channel in an NDI feed takes more system resources/bandwidth, and with so many NDI sources going, it seemed like it would be good to have the option of not having the alpha channel in the NDI output if it's not necessary.
Well, it's just the one feed from Isadora in the end -- obviously it's not the eight feeds from vMix. But I will work on adding an option to the beta that allows you to disable the alpha channel on the output.
But if you need the frame rate fix immediately, please contact open a ticket (which will get to @Woland) so that you can become a beta tester. The team does not yet have the fix you need, but I can get it done this week for you.
Because we've primarily working on enhanced audio features, I feel the beta will be quite stable if you're not digging in to those particular features.