User Tools

Site Tools


infra:ndi

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

    • 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 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
/srv/hackeriet-wiki/dokuwiki/data/pages/infra/ndi.txt · Last modified: by d404d_idp.hackeriet.no