NDI output low resolution error
-
I need to send some very small NDI streams, 150 * 5 pixels. When I send these with Isadora any NDI receiver reports the height as width in its previews. Also the pixels are not correctly formed, there is a strange jagged edge and there seems to be some padding, also whenI specifiy a height of 6 the stream reports 5. When I try the same task using te NDI SDK in c++ these tiny streams work perfectly. I didnt bother to test larger streams, or to probe more, but you can see using the SDK tools when Isadora sends small NDI streams they are not correctlyt formed.
-
@fred said:
I need to send some very small NDI streams, 150 * 5 pixels. When I send these with Isadora any NDI receiver reports the height as width in its previews. Also the pixels are not correctly formed, there is a strange jagged edge and there seems to be some padding, also whenI specifiy a height of 6 the stream reports 5. When I try the same task using te NDI SDK in c++ these tiny streams work perfectly. I didnt bother to test larger streams, or to probe more, but you can see using the SDK tools when Isadora sends small NDI streams they are not correctlyt formed.
First, how exactly are you doing this? To try this out in Isadora 3.1.1, I did the following:
1) Create a virtual stage with dimensions of 150 x 5 pixels. (Is that what you're doing? A virtual stage???)
2) Play a video, scaling it to 150x5 and send it to the virtual stage using the Projector actor.
3) Enable NDI output on the Virtual Stage.
4) Use the NDI 5 Watcher to receive the stream.Admittedly, it comes in as 150x4 -- so it would seem the size is being forced to an even number.
But if I change the size of the Virtual Stage to 150 x 6 then it comes back in as 150x6. If you could deliver 150x6 you could use a Chop Pixels actor to remove the extra pixel at the bottom.
I am receiving the 150x6 video in NDI's Video Monitor app, and it looks like it's still 150x6... but I can't tell for certain since there doesn't seem to be a way to view the resolution in that app.
In any case, I must admit I never tested this edge-case scenario. I will have to look into the reason why the height is forced to an even number (maybe the width is too.) We'll file it as a bug.
Best Wishes,
Mark -
@mark I see the issues clearly when I use the NDI stream in Disguise, the stream is jagged and reporting the right resolution numerically, but something is wrong with the actual dimensions. I dont have an issue when I send the stream from my own c++ sample. I will send a video monday when I am back at the machine.
-
Hi here are a few images to help:
First the resolution setup:
This is what the preview look like, Isadoras NDI is on the right, my c++ NDI is on the left, both are 150*5 resolutions:
When I use the Isadora stream and scale it up I get these jagged edges (the black bars on the right of the stream and also the stream is rotated 90°:
My 150 * 5 stream under the same scaling (it does miss the bottom row of pixels, but I guess NDI wants only even numbers of rows and columns:
I guess this does not happen at all scales, but for these small streams Isadora does not seem to output NDI correctly.
Fred