vdradmin-go as a vdradmin(-am) alternative

I’ve been using vdradmin-am for many years now to control my VDR (Video Disc Recorder). Mainly to record programs and check what’s on TV. I hardly use the VDR for live TV anymore, since I record everything I want to watch. vdradmin-am is quite old now and is written in Perl. I’ve had the idea for years to rewrite it in Go, but time was always an issue.

With AI, things look different now. Even with AI, it still cost me several evenings and weekends until everything worked the way I wanted, but now I actually have vdradmin-go finished.

You can think what you want about AI, but I’m always fascinated by what you can do with it. I now have exactly the vdradmin I always wanted. The main goals were primarily:

  • Modern architecture: Hexagonal architecture (ports & adapters)
  • Clean code, written in Go and following Go best practices
  • Modern UI: Modern CSS, minimal JavaScript, and where needed, htmx for interaction
  • Themes: Already includes over 30 ready-made themes and can easily be extended with new ones
  • Archive: When I want to archive a recording, I just need to press the “Archive” button on the recording and it will be converted in the background to .mp4 or .mkv. Afterwards, the recordings are considerably smaller than all the .ts files. The system is, however, quite tailored to my needs.
  • The configuration file is a YAML file that you can either edit yourself or modify through the UI.
  • You can watch TV directly in the browser. This requires the vdr-streamdev-server plugin and also ffmpeg (normally included in every Linux distribution).
  • For better EPG search functionality, the vdr-epgsearch plugin is needed.

Otherwise, the whole thing is a single Go binary and you can do quite a lot with it. The aforementioned plugins and ffmpeg should still be installed to have full functionality.

I’m using it on a daily base and it works just fine for me. Still, vdradmin-go certainly still has a few bugs. So expect some things not working as expected (esp. the remote control in Watch TV has only some buttons working).

vdradmin-go_channels_01

vdradmin-go_channels_01

spaceship_grey_dark_now-fs8

spaceship_grey_dark_now-fs8

spaceship_grey_dark_now-fs8

For more themes have a look at the Theme gallery.