This might be some kind of dumb question, but how the hell do I get this to run in vvvv? Is this intended to be used in vvvv, anyway? Or is this stuff for vl only?? And if so: what to use for streaming DX11-Content to Resolume on a Multi-GPU-System, then? I want to learn VL anytime soon, but for now, I just need to share my renderer with Reso. Spout doesn´t work (seems like this is due to my eGPU-Setup) and I would like to use NDI for an upcoming project. tl;dr -> Heeelp!
hey @cznickesz
the latest version (nuget) was built for VL only - there is no wrapper included for a vvvv beta node. you might want to have a look at the version from october 2018 (see above) for that. not sure if the latest VL.IO.NDI would work for current beta as the dependencies might only work for the latest VL backend (which will hopefully be available in beta 40 - hard to say when this will happen).
however, streaming from a DX11 renderer to NDI (using the old version) is not really well tested yet and I would not expect super fluid framerates. since you are on the same machine with resolume i’d rather look into getting spout or some other form of texture sharing to work. i don’t have much experience with that though…
this has worked for me in the past: https://vvvv.org/contribution/spout-dx11
Hey Motzi, thx for your reply. I´ll keep trying to get spout up and running then for the time being. And this does show once again that I do need to finally get some vl into my brain/workflow. @sunep already tried that but having some general spout-problems due to my setup (Intel vs discrete GPU vs eGPU). I´ll keep trying, though!
Hi all! Thanks for this great contribution. It would be super useful to have this working, it can change the whole usability of Gamma with Stride. According to github repo there is no change for 8 months. Is there any essential issue which is not possible to overcome? Like also discussed in topic here Crash when adding the VL.IO.NDI dependency
hey @karafiat,
due to VL internal changes this packages needs an update to work on versions > 2020.2.x
i did not have time to look into this until now, however it is still alive and waits to be tackled. hopefully i can invest the necessary effort during the holidays. if anyone else wants to contribute the changes - this would be very welcome, sources are on github!
stay tuned!
Thanks @motzi for your effort! Maybe it makes sence also to wait for official release of 2020.3. – I don´t know. I can´t help with code itself, it’s over my scope. But I can help with testing for sure.
VL.IO.NDI was just updated to version 0.2.2-alpha.
- works now in gamma 2020.3 (pulling in the hotfix by @bjoern - thanks!)
- native NDI dll was updated to version 4.5.3
- updated VL.Audio reference to version 0.2.18
still todo:
- providing output as a stride texture
@motzi great!
Connection seems stable. Regarding the Sender, is there way to go directly from Stride texture to
SenderTexture (it needs SharpDX.Direct3D11.Texture2d) or it is so far necessary to use long way from GPU to CPU and back via TextureToImage → FromImage → Sender. Which almost kills CPU on higher resolution.
it should be quite fast when you have enough frames of delay. how is your delay setting of the TextureToImage in that screenshot?
but anyway, that’s a really huge resolution, depending on your machine, it might simply be too much data to process.
I use default 3 frames, on this resolution, increasing this number doesn’t really affects the result.
Meanwhile current Spout in latest 2020.3 preview is so far fluid even on this huge resolution. (I´m using I7-7700, RTX 2060)
yes, spout is on GPU, NDI will be over CPU and is way slower, but can be sent over the network while Spout only works on the same machine on the same GPU.
VL.IO.NDI nuget was just updated to version 0.3.0-alpha to hotfix issues that were there since VL.Audio was updated to stable. some notes:
- nuget now uses NDI version 5.1.2
- receiving audio is still not tested (actually the audio stuff should not be in there at all for now)
- Sending NDI is still highly experimental and will likely crash VVVV
Latest version of VL.IO.NDI now comes with stable senders and receivers for both stride and skia.
Update: VL.IO.NDI now supports sending and receiving of video, audio and metadata, but only with latest 2022.5 previews!
So:
- for 2022.5.x use VL.IO.NDI >= 0.5.1 (video, audio, metadata)
- for 2021.4.x use VL.IO.NDI 0.4.1 (video only)