As I can stream now basically every camera under macOS and Ubuntu using gphoto2 and ffmpeg, I am ready to sell my whole HDMI setup including the Atem Mini – at least at sometime in the near future ;-)
I have here a left over 4 year old Acer Chromebook 14 (CB3-431) here that nobody wanted to buy even for 20€ on the flea market. It was running under Chrome OS Edgar 2016 Intel Braswell where software support expired recently. So I decided to refresh it with a modern Ubuntu/Debian version as there are many positive reports out there, that it will run even even better than before.
As recommended I installed Gallium OS 3.1. Bismuth as a dual boot system with 22 GB of 24 GB for the new operating system (Gallium takes about 3,5 GB while my 1 TB external SSD works flawless with this setup). https://chrx.org has step by step instructions for a dual boot system.
This takes about 2 hours as this is a long and complicated process: resetting the Chromebook to developer mode (ESC + F3/circle + power), followed by firmware update and fresh partitioning.
Now the machine boots into a white OS verification screen from where CTRL+D goes into ChromeOS (as before) while CTRL+L leads to Gallium (user chrx, password chrx). Sounds perfect but on the second day I accidentally hit a wrong key deleting everything. So I removed now also the hardware boot lock and restarted the firmware utility script a second time for setting the GBB flag to boot directly to Gallium OS without delay.
removing the Acer Chromebook hardware lock, screwdriver pointing to it
Next I installed OBS to connecting my DSLR cameras for streaming a Christmas service. Took me some time to figure out which OBS version was working with NDI. I can recommend NDI Plugin 4.9.1 and PTZ Plugin 0.10.2 that work with OBS 25.0.8. (OBS 28 had issues with NDI).
Connecting to an iPhone Wifi Hotspot running the EpoCam App works with NDI. Also the Atem Mini is recognized in the LAN as a video source. Tested also Millumin 2 as NDI feed while Magic Music Visuals needs NDISyphon as MMV has no native NDI output…
The USB connection of Nikon Z cameraw was a bit more difficult, so I went back to a trusted D.
Gphoto2 sees the camera, but unfortunately FFMPEG has no more NDI support since 2019 – fresh compile, patches or downgrading did not work for me. v4l2loopback recommended elsewhere also failed due to some kernel issues. The only strategy that worked is mtplvcap. It provides an output that can be accessed via a web URL in OBS.
As USB was frozen from time to time, I wrote a shell script that could quickly resetting the port when necessary. Finally I added also PHP 7 as a server (and nextcloud as online backup) for my photobooth. And well, also the trusted Selphy 800 is working after fiddling around with CUPS.
The old chromebook is now a great multimedia machine, it can stream from various sources and can also run a photobooth with image download and printing.
So far it is running stable with many hours of low power consumption. At 20€, I believe it is now worth the twentyfold price competing even with a Macbook in this price range.
It would be a dream to use Airplay for sharing the OBS output using the window modus. However, whenever switching the window to full screen, I can’t control OBS anymore as the main screen goes black, even when using different spaces. Also sync screens is not an option here as I only get the Airplay output.
So Airplay isn’t a good choice here, the reason why I have been falling back now to NDI to transmit my output to another machine.
It turned out, however, that the NDI plugin is not working anymore with the revamped OBS version 28 because the QT5 sources are not correctly referenced in the plugin according to the log file.
So the only choice is now to go back to version 27 until this error has been corrected.