Yes, another project: KV, a remote KVM solution

I know, I know, I start too many things, but this one is nice!

What is KV? A remote KVM.

If you are familiar with PiKVM JetKVM or other similar things, they are gadgets that connect to a server and basically put them in the matrix:

  • They capture the HDMI output
  • They provide keyboard and mouse and mass storage via USB

And then … they create a webpage where you can see the video and send keyboard and mouse input to the server. This is different from VNC or RDP in that it’s all hardware to the server, so you can remotely access the server BIOS or even install the OS to it.

I got frustrated trying to figure out why no existing solution could run with my perfectly nice hardware I had in a drawer (a Radxa zero, some cables and a $5 USB dongle to capture video), so I sat down for a day and wrote it :slight_smile: this would not have been possible without Crystal, so thanks folks!

The repo is GitHub - ralsina/kv: A modern remote KVM

And here’s a video showing how it works: https://youtu.be/_NCVytMPW18?si=67kIt7nWbrda1uy8

4 Likes

As a spinoff of a branch of this project: GitHub - ralsina/v4cr a crystal wrapper for v4l2 so we don’t use ffmpeg and pipes like some kind of farmers.

3 Likes

:rofl:

And another spinoff because I want to stream audio without ffmpeg (this is AI-generated wrappers, I just did functional checks TBH):

https://github.com/ralsina/opusenc-cr (wrapper to libopusenc to encode audio)

Working now on a miniaudio wrapper for audio device capture/playback