While it's possible to stream most content to Apple Vision Pro directly over the internet, having the ability to use Apple Vision Pro as an HDMI display can still be useful.
Since Apple Vision Pro does not support connecting to an HDMI input directly or using an HDMI capture card, we have to be a little creative to make this work. NDI provides the ability to stream HDMI content over a local network with really low latency, and it works great with Apple Vision Pro.
This page shows the setup I’m using.
- HDMI NDI Encoder
- Personally, I recommend the Kiloview N40, as it supports streaming up to 4K60 while being fan-less, and can use USB-C as a power input.
- Kiloview N60 comes with more features, but it’s larger and has a fan.
- Vxio app
- I made this one, you can also use other NDI monitor apps as well.
- Separately, Finn made Castaway that makes it possible to use a USB Capture Card + Mac/iPad instead of an NDI encoder. It's a more cost effective option for most people I imagine.
- To ensure high video quality, an NDI stream typically consumes significantly more bandwidth than a typical H.264/H.265 stream. Before purchasing the encoder, make sure your network can support data transfers at that speed.
- For 4K60 stream, the bandwidth required is typically around 250~300mbps. If you're having issue to stream smoothly, try go to the encoder's settings page and reduce the streaming quality.
- You can test this with some free software NDI encoders.
- Since this setup requires encode and decode the video content, it is not latency free. From my experience, I typically see 3~4 frames (~50ms, same as moonlight based on my measurement) of delay from the content source.
Setting up an NDI encoder is pretty straightforward. Just connect the device to your local network via Ethernet, supply power, and connect the HDMI input to the encoder.
If the visionOS shows the Local Network permission dialog, and after granting the permission the app still shows searching, you may need to force close the app, and reopen it.
After that, you should be able to see the encoder show up as a source in the Vxio app. Select the source, and you'll get your HDMI display 🎉
Depending on the NDI encoder, the default audio queue size might be too small for some devices. In that situation, try increasing the audio queue size so that the audio no longer experiences abrupt stops between samples.
If your Wi-Fi channel is congested, you can try force N40 to use UDP instead of Multi-TCP. In my experience, UDP performs a lot better in those network condition. You can do so from the N40's configuration UI, select NDI Connection -> Multi-TCP Disallowed.
I was able to make this setup portable by getting one of those mini router (GL.iNet Beryl AX) with a LAN port.
#AppleVisionPro #visionOS





Thanks for your help.
Upgrading to a dedicated Beryl AX seems to have made it better. It's not perfect and I'm still getting occasional stutters but it's much better. On the N60 I'm using NDI HB (No Record), default quality 10 bit colour depth, auto color format. In connection I have "Multi-TCP Disallowed".
This is still not working correctly for 4K HDR (HLG) unfortunately. I'm trying to pass through to my TV so my wife can watch on the TV and I can watch on the headset using the TV for volume. The TV without the N60 in the chain displays HDR (HLG) and the picture looks great. When I put the N60 in the chain it disables HDR by default and just displays a non HDR image. Using your iCloud links I can get it to trigger HDR (PQ) but it looks completely off on both the TV and headset. Ideally I need to get it to trigger HDR (HLG) so that the TV it's passing through to will look correct?