Monday, June 22, 2026

Making a NDI Hotspot with Dicaffeine

 RasPi box that sends AND recieves NDI streams. I didn't believe it at first, but works damn well with minimal latency. 

Big ups to @TheKillerBeeRelayTeam for finding this, check out his website at www.hivemindsynthesis.com


NOTE: All of this info is available and sourced from and on Dicaffeine's site for Raspian setup, just parsing it here for my Hive friends to understand some beginner things/not fully familar with RasPi setup! All rights reserved, I do not claim anything here as my own work, it's just what I had to do to get it working for me, and then hopefully them. If you are part of the Hive and you get stuck, DM me with where you are stuck and I will try to help you through.

I tested this with a RasPi 3 B+ with Bookworm 64-bit, and got some good results with it. I wouldn't recommend any lower. But you do you, boo. 

Get a 16+GB MicroSD card, plug it into your computer. Get the RasPi OS Imager and set that up, as you would.


Image your OS




Opening the Imager software, select your device. Like I said before, 3 B+ or higher for this.


The suggested OS, based on the Dicaffeine site, is Bookworm 64-bit, so you will need to find it in the legacy section of the setup. Scroll down till you get "Raspberry Pi OS (Legacy, 64-bit)".
All you need is the OS and Desktop enviroment. This would be a good time to get those settings it asks you for straightend out. Remember what you name it on hostname, it might help you later on finding it on the network. In this walkthrough, we are going to have "doughndi" as the RasPi's name, cause that's what I fucking named it. Tell it where you reside in time. Give it a username and password. Remember the username and password your setup here as well. In this walkthrough, we are going to have "djdoughy" as the username. Why? Cause that's what I fucking named it. And setting up the WiFi for it now would be benificial, and turn on SSH while you are at it.  Write that to the SDcard. Yes, this will take quite a few minutes, grab a beer/coffee/tea, and relax man. Chill out... Come back here when it's done.

Boot your Pie
Slap that MicroSD card into the pi, and power it on. It should be connected to a screen and keyboard/mouse by now, I hope. Let it boot to the desktop, and get connected to the internet. You set that WiFi up earlier, yeah? First boot's will take a bit, let it cook. Open the web browser, ONLY CLICK IT ONCE. Seriously, it will open, give it a break. You might get prompted with a keychain password? I don't know, I did. I just put a really simple password in, you don't need the browser but only for downloading 2 files. Get the Yuri2 and Dicaffeine downloads at the guys page directly, as it seemed to be the easiest to get to: 
https://dicaffeine.com/raspbian
A lot of things will not load on the chromium browser on RasPi's from my experience. I got the site to load after putting in the keychain password. If it doesn't work, perhaps updating the chromium would work? I'll note it later at bottom
Once those are in your Downloads folder, close that window out. Good time to run updates on the GUI, if you want. When you are done, reboot that bad boy.

Now if you are comfy doing the next part on the RasPi, open a terminal from the desktop and continue on after this next bit (Setting up Dicaffeine). Or, you can SSH into it and carefully copy and paste commands. Use PuTTY, or if you are on Windows, open PowerShell/Terminal. I used Terminal. At the prompt type ssh <the username you chose>@<the hostname you gave it> and push enter. Like so:
If it can't find the hostname, use the IP from the RasPi


Read the screen, type yes to accept the finger print, and then type the password you made eariler to log in.

The rest of this walkthrough will be done in the terminal, either through SSH or the terminal app on the pi.


Setting up Dicaffeine

Good time to maybe do some updates, I am not an expert at the RasPi by any means, but its always safe to update. The following command should be ran to update all the installed packages.

sudo apt update

Once that is done, give the pi a reboot
sudo reboot now

Once rebooted, open terminal,
At the prompt type this:
cd ~/Downloads
This puts us in the downloads folder where the packages from earlier should reside.

Were going to install the packages. The commands listed here are going to be 'generic' as the version numbers can change. Quick way to type these out is when you get to the file name, type the first few letters and push tab, it should auto fill the rest of the file name, then add the '-y' to auto accept the install. Run these seperatly, agree to any licenses after reading them. 
sudo apt install ./yuri2-2.8.0-xxx.deb -y
sudo apt install ./dicaffeine-xxx.deb -y

You might get some notices about issues, but as long as it isnt throwing actual errors, they should install fine. The 2 things we installed was Yuri, a video processing framework, and Dicaffeine, which is the web interface and NDI host.
Speaking of NDI, now Dicaffine needs the libraries installed, run these 2 commands seperately. The dudes site said the second one was optional? I didn't get anything to work without it though, YMMV.
dicaffeine_get_ndi5 install aarch64-rpi4-linux-gnueabi
dicaffeine_get_ndi_hx install aarch64-rpi4-linux-gnueabi

Now we need to change the config of the RasPi itself so it can see audio. Open the RasPi config
sudo raspi-config
Navigate to "Advanced Options" then "Audio Config"
Change configuration to "PulseAudio". Navigate to finish and close the configuration. 

Next, we need to change something with the GUI interface. The following command will hide the 'taskbar' so the HDMI out will be full screen.
echo -e "autohide=true\nautohide_duration=500" >> ~/.config/wf-panel-pi.ini

Once that is done, plug a webcam in to test it here in a bit, then give the pi a reboot
sudo reboot now





And THAT should be it. Go to a computer on your network, type the "<hostname>/" in your browser and you should hopefully get the main page. "admin" is the default password. Poke around, have fun, if you break it, just start over!

 I was able to get 2 NDI streams in AND out at about 10ish FPS. It struggled hard but was consistant. I would suggest some active cooling, at minimum a heat sink on your pi running this.

For OBS connectivity, I suggest using the DistroAV plugin, was easy to setup and found my NDI streams on the network super quick. Has some neat features as well for sending NDI out. 

The quick note about the RasPi OS browser: Fiddling around, you may be able to update the Chromium browser from terminal, running the following the command might update it.
sudo apt-get update && sudo apt-get install chromium-browser -y
Sometimes this installs a version that will run worse as alot of the times these are originally packaged to work with the hardware/software of the RasPi. Again, YMMV. There is always the option of putting the files on a flash drive and navigating to the flash drive to run the install commands from eariler. 

No comments:

Post a Comment

Don't be a dingus

Making a NDI Hotspot with Dicaffeine

 RasPi box that sends AND recieves NDI streams. I didn't believe it at first, but works damn well with minimal latency.  Big ups to @The...