Skip to content

RustDVR 0.0.1

Pre-release
Pre-release

Choose a tag to compare

@mackid1993 mackid1993 released this 07 Aug 09:14
· 94 commits to main since this release

First public build. Pre-release — it plays live TV and recordings, schedules, downloads and seeks, but it has only ever been run on the machine it was written on. Expect rough edges.

Not affiliated with Channels or Fancy Bits, LLC. RustDVR is an independent, unofficial client that speaks to a Channels DVR server over its public HTTP API. Please do not ask Fancy Bits to support it.

Install

Download RustDVR-Setup-0.0.1.exe and run it. Per-user install, no administrator prompt, nothing written outside the install folder and %LOCALAPPDATA%\RustDVR. Windows 11.

On first run, enter your DVR's address — a hostname or IP, with :port if yours is not on 8089.

What is in it

  • Live TV with timeshift — pause, rewind, return to live. Original comes straight from the tuner with no server-side pipeline at all, and is buffered to disk locally so it can still be rewound. The buffer recycles rather than filling up; its size is a setting, and Off is one of the choices
  • Guide with channel logos, collections, sources and search. Left click watches, right click records; a future programme records on left click
  • Recordings, split into what already exists and what is scheduled
  • Library for imported media, kept separate from what the tuner recorded
  • Stream quality picked per session from the player, or globally in settings — the DVR transcodes, not the client
  • Commercial skip from the DVR's comskip markers, marked on the scrub bar
  • Closed captions, CEA-608/708, decoded out of the picture itself and drawn broadcast style
  • Downloads with a screen of their own: two at a time with the rest queued, pause, resume, cancel, remove, and play with the network unplugged. A transfer survives a pause, a failure, a crash or a quit — the partial file is kept and picked up with a Range request rather than started again
  • Works offline — the library is cached to disk, so downloads keep their titles and artwork with no server to ask, and a banner offers what still plays
  • Reconnects by itself after sleep, a network change or a DVR restart
  • Optionally keeps running in the notification area when the window is closed, so a download nine tenths transferred survives it
  • Multiple DVRs, full screen, an auto-hiding transport, keyboard control

What it cannot do

It will not appear in the DVR's client list by name. Channels identifies a streaming client by its IP address and nothing else — checked against a real server, which ignored the User-Agent and every one of client, client_name, device, device_name, name and player as query parameters. The device name set in Settings is sent in the User-Agent, where it reaches the DVR's logs and stops.

Tuning a channel takes several seconds. Most of that is the DVR locking a tuner — measured at 8.6 seconds on a cold tune, against 0.2 seconds when the session is already up — and no client can make that part faster.

Windows 11 only. Mica, the custom caption, the resize handles and the sparse-file live buffer are all Win32.

Licence

PolyForm Noncommercial 1.0.0. Read it, build it, run it, change it, fork it and share it, for any noncommercial purpose. You may not sell it or use it to make money.

That is source available, not open source in the OSI sense — the Open Source Definition forbids discriminating against any field of endeavour, and a noncommercial restriction is exactly that. Forks and patches are welcome; revenue is not.

Media playback uses FFmpeg n7.1.1 under the LGPL v2.1 or later, built from source with --disable-gpl --disable-nonfree and shipped as separate, unmodified DLLs beside the executable so they can be replaced with any compatible build. Licence texts are in the install folder, and LICENSE.md carries the exception LGPL-2.1 section 6 requires.