New Haiku DVR Native App

Hi all,

I’m very pleased to offer the community this little DVR app if you don’t mind all the AI assistance. The code is fresh but hopefully some of my hard work in coding over the past months has made me a little better.

Here’s the fine print :slight_smile:
Be sure to read it all before downloading.

HaikuDVR is a native GUI digital video recorder application and background scheduling service designed explicitly for Haiku.

:warning: Hardware Requirement: This software strictly requires an active SiliconDust HDHomeRun Network Tuner connected to your local network to scan channels and record video streams.

The project is split into a lightweight, headless background recorder daemon and an intuitive graphical desktop frontend packed with advanced diagnostic instrumentation.

Key Architecture Highlights

  • Dual-Layer Guide Parsing Engine – Leverages a unified local hardware parser (lineup.json) for absolute 100% accurate HD/SD stream filtering, seamlessly combined with SiliconDust’s cloud EPG API for deep, look-ahead program scheduling lineups.
  • Asynchronous Vector Icon Cache – Automatically downloads station logos on an isolated background serial thread queue. Images are cached in-memory and rendered at 60 FPS using high-quality bilinear blending.
  • Real-Time Bandwidth Instrumentation – Features a non-blocking libcurl transfer info callback that calculates and prints live file download size metrics right to your dashboard status panel as streams write to disk.
  • Proactive Storage Protection – An automated background disk monitor queries Haiku Storage Kit partition volumes every 5 seconds, flashing high-visibility warnings if storage space drops below 5GB.
  • Decoupled Lifecycle Architecture – Cleanly separates process ownership using setsid(). Hitting the Restart Backend toggle recycles the background daemon instantly while letting you close or manage the GUI client completely independently without interrupting active streams.
  • Adaptive Theme Contrast – Utilizes YIQ brightness calculations and native Haiku system color tokens (ui_color) to hot-swap background layers and layout text contrast instantly when switching desktop system appearances.

Licensing & Intellectual Property

  • HaikuDVR Application & Service – Released under the permissive MIT License. You are free to modify, distribute, and utilize the source code for personal or commercial application suites.
  • HDHomeRun Interface Layer (libhdhomerun) – This project dynamically links against SiliconDust’s official device interface library, which is governed under the GNU Lesser General Public License (LGPL v2.1).

Disclaimer: HaikuDVR is a third-party open-source application and is not officially affiliated with or endorsed by Silicondust.

System Compatibility

  • Operating System Baseline – This software was built and verified exclusively on Haiku Beta x86_64 hrev59783. Compatibility with older revisions or nightly builds is not guaranteed.

Screenshot

Download

HaikuDVR-1.0.1-1-x86_64.hpkg

Best,
ablyss

4 Likes

I forgot to mention …

After installing, reboot is required for the backend service worker to register with the Haiku Launcher Roster.

Also, here’s another screenshot showing the TV look-ahead Guide at the bottom, a channel waiting to be recorded in the queue, and the filter drop down top left…

1 Like

Updates

  • Fixed double record bug where the backend queued recording would trigger the frontend to manually record.
  • Fixed Time Remaining: --:-- not showing when a manual recording was started.
  • Fixed a few hard coded dark font text fields to use system font color.
  • Updated Restart Backend tooltip to be more clear by just address backend recordings only.
  • Updated application signature name for the launcher_roster script to match exactly with the backend application signature name.
  • Fixed Restart Server Button not stopping backend started recordings.

v1.0.2

HaikuDVR-1.0.2-1-x86_64.hpkg

2 Likes

Latest Updates

— If you’ve got a HDHomerun tuner give this app a spin. Works pretty good so far!

  • Added new Guide window class
  • Guide window class supports adding and deleting schedules and opening live channels with mpv
  • Renamed “Restart Backend” button to “Abort!”
  • Add firmware checker logic.


Download

HaikuDVR-1.0.8-1-x86_64.hpkg

5 Likes

What is a HDHomeRun Network Tuner ?

1 Like

New Updates

Download: HaikuDVR-1.0.9-1-x86_64.hpkg

  • Added options to choose which player to use when viewing TV and Recordings. E.g, MediaPlayer, MPV, or VLC
  • Guide now starts in fullscreen mode with options to view the Scheduler and close Fullscreen etc…
  • Added new Recordings Window class with nifty recording features and details.
  • Rename HaikuDVRService to dvr_server and is now placed in /system/servers instead of /system/bin directory
  • Updated the Roster Launcher script with less redundant code.
  • Fixed a bug in the scheduled queue logic that was not naming the files correctly.
  • Recordings now include the TV Show title in the recordings filename.
  • Added logic to the server OFFLINE status button that alternatively says REBOOT REQUIRED if the user just installed the app.

Screenshots

2 Likes

Latest Updates…

  • Added calendar look ahead scheduling to the code. Non subscription users by default can see up to 2 days of guide data provided by silicondust. A subscription provides up to 14 days of guide data. See XMLTV Guide Data · Silicondust/documentation Wiki · GitHub
  • Record Window now shows realtime file size changes.
  • Fixed Guide icons sizes not proportioned correctly.
  • Add bbox code to the main scheduler window.
  • Reversed the plus and minus time buttons to fit the order of operations.

Download

HaikuDVR-1.0.10-1-x86_64.hpkg

Screenshot

1 Like

What is a HDHomeRun Network Tuner?

Is that streaming TV over IP or is it a PCI based card installed on a motherboard that picks up local free to air TV and Radio stations?

Apologizes in advance for my poor naive England/English skills to articulate my question.

I think it’s a (multi)tuner attached to an antenna, that reinject dvbt streams to your local network, so you can watch them with a dedicated app or using their DVR service to grab some contents

1 Like

ZuMi nailed it. Check SiliconDust page for more details.

HDHomerun is a little black box that you power up with a little 5v adapter. It connects to your local home network and then to a coaxial HD antenna.

While connected to your network, you can scan available channels from the builtin web interface, and fine tune which channels you want as favorite, hidden etc…

Then from any computer on the same network, you can view up to 4 ( or 2 ) concurrent streams. You can connect as many boxes to your network as your want, adding to the available streams, e.g., 3 boxes with 4 tuners each would allow to record 12 shows concurrently. Probably a little excessive unless that’s your thing.

Their DVR subscription is optional. With the subscription you get up to 14 days of TV guide info and without only 2 days.

Their DVR App is nice but is proprietary and only runs on Linux and Window. It acts as a headless server that listens on the local network for special API flags from the frontend app to record shows.

The Haiku App I made has its own custom dvr server, It is not as feature rich as theirs, but does the job. You can schedule, record, delete shows but it does all this from a central computer. Basically, as long as Haiku is running, the schedules will record.

Latest Updates…

  • Updated code to timestamp the xml data and to only download new data if older than 4 hours. This really helps save on CPU and bandwidth usage.
  • Updated Guide Window with better elements, show descriptions and better table rendering between 30m and 1hr time slots. Also added current date and current time to the top bar for convenience.
  • Fixed bbox alignment glitch in scheduler window Quick View
  • Updated makefile with optimizations.
  • Added code to refresh the Guide data when Filters and/or Tuner IP was changed.

Download

HaikuDVR-1.0.12-1-x86_64.hpkg

Screenshot

2 Likes

Latest update with fixes

  • Added sql to handle xml data.
  • Fixed AM/PM bug
  • Optimized sql code.

HaikuDVR-1.0.22-1-x86_64.hpkg

Screenshot

2 Likes

Hi All,

Latest Updates:

  • Added DLNA server to the backend. Haiku will now stream recordings to another smart device like VLC, or other Media Devices that have a DLNA brower, and can make the handshake with the HaikuDVR custom DLNA server.

  • Database now only shows info for present and future schedules, not the past.

  • Fixed clicking behavior for Search Guide to not trigger unless window is active.

  • Updated Duration Box menu to automatically update to the selected shows duration.

  • Updated Queued Shows Box to include the title of the shows.

  • Updated the Bottom Status Info to be more concise and just show the info regarding the selected channel.

Download: HaikuDVR-1.0.28-1-x86_64.hpkg

1 Like

Hi All,

Just a small update:

  • Fixed DLNA Backend Server URL parsing causing some filenames with special characters to not play.

Download: HaikuDVR-1.0.29-1-x86_64.hpkg