====== NDI network ====== ===== Abstract ===== Hackeriet has 3 permanent video devices: * The "pinball" TV * The "Hackeriet" TV * A projector in the ceiling Currently, the only semi-permanent way to control these is using Chromecasts. This is suboptimal for a variety of reasons, including: * Latency in realtime settings * Compatibility with certain types of equipment If we were to install NDI receivers on these video devices, we'd be able to support a decent amount of realtime usecases in addition to more casual Youtube video playback. ===== Solutions evaluated so far ===== **Receivers** * https://dicaffeine.com/ * Provides a significantly low bar-of-entry for getting NDI devices up and running, and managing them remotely * Performance * Runs like utter shit on our RPis -- Low resolution mode must be used, and drops frames * Runs pretty good on our Intel NUCs -- Sometimes lag/frame drop on high res, but generaly works satisfiably, I have some theories on what's happening here **Sources** * The [[https://github.com/DistroAV/DistroAV|DistroAV project]] provides NDI plugins for OBS, with support for Windows, Linux, and MacOS. **The protocol itself** * 1080p60 can easily go up to 130 Mbps persistent throughput and 150 Mbps peaks -- Should wire up the LAG on the audio rack switch forgot that the access ports are 100 Mbps, need to use another switch * Hackeriet wifi introduces significant latency compared to other locations, even though it can handle the bandwidth. Old AP? Radio time congestion due to so many WiFi devices? * Works fine for audio, but doesn't really help for most of our use cases there ===== Work so far ===== * Installed Dicaffeine on (wired networking expected): * ''ndi-nuc1'' (mounted on Hackeriet TV) * ''lydrack-pc'' (currently unconnected) * Setup: * Ubuntu 22.04 (per deps, fixes appreciated) * Hacker-ID SSO (group ''project-avinfra'') * User ''ndi-screen'' * Timed autosign-in in GDM (10 secs, see ''/etc/gdm3/custom.conf'') * Sway WM * i3status with custom statusbar (IP + hostname + date) * dicaffeine disabled on personal user (the post-install script is CURSED) * dicaffeine enabled on ''ndi-screen'' * Custom wallpaper