keijiro / KlakNDI

NDI® plugin for Unity
https://ndi.video
Other
781 stars 140 forks source link

Interlaced Output/Input Option #15

Open enslaved2die opened 6 years ago

enslaved2die commented 6 years ago

How or is it possible to enable a interlaced input/output option with the addition of deinterlacing for the input source? This feauture would be really helpful for broadcasting purposes.

keijiro commented 6 years ago

Thanks for the feedback. I didn't know that the interlacing feature could have such an importance.

Could you provide information about what software/hardware you are using the feature with? I can implement the feature without much effort, but I wonder how I can test it.

enslaved2die commented 6 years ago

Our goal is to get interlaced camera data with NDI into unity and do some AR stuff in a studio environment and do the output with NDI in the same way. We for now have the same problem with the testing, the project has not started yet but our research phase will start soon, or when you ask me, it is started. I used an buged version of the OBS NDI Plugin (Version 4.1.1 []https://github.com/Palakis/obs-ndi/releases?after=4.1.3) ) here the output was always interlaced, so Ive noticed that your plugin doesnt like interlaced stuff. To see if the output works with interlaced is as simple as using the NDI Studio Monitor coming with the NewTek NDI Tools, its shows the current Resolution and Framerate in the Window Header. I hope this can help you in some way. :)

I really want to thank you for this plugin aswell as the plugin for ios/mac, I´ve used the ios plugin with arkit so we can better record the casting session of the same project and see how well the presenter can interact with an invisible object. It worked like a charm.

keijiro commented 6 years ago

I took a look at NDI SDK 3.7 and realized that the newly added frame-sync API could solve this kind of jittering problems. I'll try it when I have time.

vbxcoder commented 2 years ago

Is this possible to output 1080i50 or 1080p50 stream with this plug-in? I need that for some broadcast integration project. Also If you need I can help about test environments.

vbxcoder commented 2 years ago

Or just configure frame rate

keijiro commented 2 years ago

Try changing the refresh rate of your PC display to 50Hz. Unity will sync to it.

enslaved2die commented 2 years ago

I would try the output precise frame rate with GenLock like described here https://github.com/Unity-Technologies/GenLockProofOfConcept

vbxcoder commented 2 years ago

@keijiro thanks for reply, I tried but it doesn't affect. Still output is 1080/59.94p

keijiro commented 2 years ago

You might also have to change the frame rate parameters when sending frames.

https://github.com/keijiro/KlakNDI/blob/main/jp.keijiro.klak.ndi/Runtime/Interop/Structs.cs#L61

https://github.com/keijiro/KlakNDI/blob/main/jp.keijiro.klak.ndi/Runtime/Component/NdiSender.cs#L142

vbxcoder commented 2 years ago

Thanks @keijiro I solved my problem exactly how you said

LUPOIMM33 commented 4 weeks ago

Hi @keijiro, I’ve noticed that the framerate topic seems to have been resolved, which is great. However, I’m still unclear on the status of interlaced NDI streams. I’m somewhat new to the difference between interlaced and non-interlaced video streams, but I’ve been asked to provide an interlaced NDI stream for a project in which I'm using your plugin. Could you provide an update on whether support for interlaced streams is planned or clarify if I’ve missed something in the conversation? Or @enslaved2die / @vbxcoder do you succeed to output interlaced ? Thank you in advance for your help!