Skip to content

v0.1.0 — first release: live TV from your Dispatcharr server

Choose a tag to compare

@github-actions github-actions released this 25 Oct 04:28
· 10 commits to main since this release

The first release of Dispatcharr TV, a native live-TV app for LG webOS televisions that plays the channels of your own Dispatcharr server on the television's hardware video decoder.

What's new

  • Setup finds your server. It looks for a Dispatcharr server on your home network and offers what it finds; you can also type the address. You sign in once with your Dispatcharr username and password; the password is not stored.
  • A programme guide. Every channel your server carries, with its logo and what is on now and next, grouped the way your server groups them, and a favourites list of your own. OK on a channel tunes it.
  • Live TV on the hardware decoder. H.264 and HEVC video, with AAC, AC-3, E-AC-3, DTS and MP2/MP3 audio, played by the television itself rather than in software.
  • Channel changing the way a remote does it. CH▲/CH▼, number entry, a now/next banner with what is on next, UP/DOWN to look through the other channels in the banner without leaving the one playing (OK changes to it), and hold-OK to go back to the channel you were watching before.
  • It picks up where you left off. The app starts on the last channel you watched (switch it off on the Server page), and coming back from another app tunes the channel again.
  • It recovers on its own. A stream that drops or freezes is tuned again automatically, and a busy server is retried. If a channel cannot play, the screen says why and offers Try again.
  • Nothing is sent to us. The app talks only to your Dispatcharr server. It has no crash reporting and no analytics; see the privacy policy.

Compatibility

  • Plays video, verified by watching it — 2021 and 2018 LG sets. An LG OLED C1 (OLED65C1PUB) on webOS 6.5.3 is the development set: every feature in this release was watched there against a real Dispatcharr server, including channel changes, a dropped stream reconnecting and an app switch. An LG OLED B8 (OLED55B8PUA) on webOS 4.4.3 was installed by the owner, who reported that Setup found the server and the guide and live playback work well.
  • Starts, and nothing further is known — every other firmware from webOS 3.4.0 up. The loader resolves this binary's libraries and symbols against all eleven firmware images webosbrew has at 3.4.0 or newer. That grades startup and says nothing about whether video plays; the matrix is in the technical audit.
  • Does not start — webOS 2 and older. Symbols the app needs are missing there, so the process is killed before anything appears.

If your set is in the middle group, tell us what happened. It working is as useful a report as it failing.

Known issues

  • MPEG-2 video channels do not play. The television's buffer-feed pipeline does not accept MPEG-2 video; the app says so and suggests setting an H.264 stream profile for that channel in Dispatcharr.
  • Some televisions cannot decode DTS audio. The development C1 refuses a DTS stream, as many 2020-and-later LG sets do; such a channel needs an AC-3 or AAC audio profile in Dispatcharr.
  • Rarely, a channel does not start its picture on the first try. Once in six launches during release testing the picture did not appear after tuning; it did not recur. Changing channel and back tunes it afresh.
  • Long viewing sessions use more memory over time. Memory grew by about 7.5 MB an hour during a two-hour session on the development set; the cause has not been measured yet.

Help test this release

If you have an LG set on webOS 5, 7, 8, 9, 10 or 11, try tuning a few channels. Nobody has watched video on those generations with this app. Open an issue with your model and webOS version. It working is as useful a report as it failing.

Installing

Download com.magness.dispatcharrtv_0.1.0_arm.ipk and install it with the Homebrew Channel or dev-manager-desktop. You do not need a rooted TV.

Nothing in this distribution chain is signed, so this sha256 is what tells you the file you have is the file published here:

4b5977ce24db4454ae64865e66b91674cf4f3f27a3bb9906b798a2de323b2116  com.magness.dispatcharrtv_0.1.0_arm.ipk

Installing and checking a download covers the other assets, how to check the hash on each platform, and the Developer Mode expiry that uninstalls your apps. This package bundles FFmpeg under LGPL-2.1-or-later and its complete corresponding source is attached to this release. Exactly what was built, verified and shipped is in the technical audit for v0.1.0.

What's Changed

  • M1–M3: Dispatcharr client, Setup screen and the Guide by @andrewmagness in #1
  • README: the project's goal and status by @andrewmagness in #2
  • M3: channel logos in the guide by @andrewmagness in #3
  • Guide: Account and Try again answer OK by @andrewmagness in #4
  • Outbound guard: the Dispatcharr test server file is private by @andrewmagness in #5
  • M2: live MPEG-TS plays through the buffer-feed engine by @andrewmagness in #6
  • Guide: OK on a programme tunes its channel by @andrewmagness in #7
  • M4: live player controls, recall and favourites by @andrewmagness in #8
  • M4: start on the last channel (with a switch), and the splash's teal ground by @andrewmagness in #9
  • M5: live resilience and codec correction; owner's TV feedback (CH keys, recall, up next) by @andrewmagness in #10
  • Setup finds the server on the network; live failures offer Try again; Dispatcharr TV branding by @andrewmagness in #11
  • M5 codecs: MP2 audio plays; an MPEG-2 video channel says how to fix it by @andrewmagness in #12
  • Guide: a channel-group switch beside Favourites by @andrewmagness in #13
  • Version 0.1.0 (not yet published) by @andrewmagness in #14
  • Live: a frozen channel reconnects; channel-change time is logged (soak findings) by @andrewmagness in #15
  • Policy documents speak for Dispatcharr TV (SECURITY.md and the rest) by @andrewmagness in #16
  • Remove the Plex client's pages, sign-in, session crate and tooling by @andrewmagness in #17
  • Rename PlxNative to Dispatcharr TV everywhere but the README's attribution by @andrewmagness in #18
  • tests: the Guide's root-BACK test no longer races the Guide's load by @andrewmagness in #19
  • The player is live-only: its on-demand transport and panels are gone by @andrewmagness in #20
  • Live: log where an open's time goes (http, first byte, probe) by @andrewmagness in #21
  • Remove the trailer preview engine by @andrewmagness in #22
  • Live-only app switch; Plex flights, claim holds and Original trials removed by @andrewmagness in #23
  • README: tested televisions by @andrewmagness in #24
  • Remove the Plex adaptive-bitrate and HLS playback engine by @andrewmagness in #25
  • Live: a connection that fails mid-read reconnects the channel by @andrewmagness in #26
  • CI and cloud sessions check out shallow again: nothing needs history by @andrewmagness in #27
  • Version: trunk heads for 0.1.0 (manifests at 0.0.0 until it ships) by @andrewmagness in #29
  • Remove the Plex play resolve, timeline reporting and subtitle routing by @andrewmagness in #28
  • Remove the Plex library data stores by @andrewmagness in #30
  • make install: end the appinstalld subscription instead of hanging on it by @andrewmagness in #31
  • The on-device harness is the clip harness: the Plex tiers, FPS scenes and their tools go by @andrewmagness in #32
  • Account: a file a dev-mode reboot widened is narrowed back to 0600 on read by @andrewmagness in #33
  • Makefile: the Dispatcharr crate is an input of the TV library by @andrewmagness in #34
  • Guide: "now" follows the server's clock when the television's is wrong by @andrewmagness in #35
  • Reports trimmed to live TV (option A), PRIVACY.md rewritten, Plex leftovers cut by @andrewmagness in #36
  • tv-session: Dispatcharr screens and accounts in place of the Plex ones by @andrewmagness in #37
  • make_fixtures: the clip pack only — the Plex library tier, HLS ladder clips and subtitles go by @andrewmagness in #38
  • Log-content gate: read every crate, and drop the auth.rs exemption that came to cover Dispatcharr sign-in by @andrewmagness in #39
  • The signed-in Dispatcharr username is redacted from the event log by @andrewmagness in #40
  • Delete the Plex client library: live-only route, DIRECT-only posters by @andrewmagness in #41
  • The frame dump and the landing gate go: no driver arms either since the Plex screens left by @andrewmagness in #43
  • Retire the Plex design docs; the stand-in table and the TV keyboard research get their own homes by @andrewmagness in #44
  • Remove the adaptive-bitrate controller and the HLS parser by @andrewmagness in #42
  • plex_run becomes plx_run(void): the dead Plex host/port arguments and the compiled-in config path go by @andrewmagness in #45
  • Remove telemetry: no crash reporting, no analytics, nothing sent by @andrewmagness in #46
  • 0.1.0: the release note, the audit's authored half, and a dry-run fix for release candidates by @andrewmagness in #47
  • rc: a dry run builds the version a real candidate would cut by @andrewmagness in #48
  • Homebrew Channel listing deferred and kept; docs reviewed for Dispatcharr TV by @andrewmagness in #49
  • Channel logos are kept on the disk cache, and a stale one is fetched afresh by @andrewmagness in #50
  • Leftovers 1: unused Plex strings and dead tools go; the trigger gate reads the code by @andrewmagness in #51
  • Live TV: UP/DOWN browse channels in the banner, OK tunes the one shown by @andrewmagness in #54
  • Key mode: no TLS session resumption (fixes CI on Ubuntu 26.04's libcurl 8.18) by @andrewmagness in #55
  • Leftovers 3: module guides describe Dispatcharr TV by @andrewmagness in #52
  • README for 0.1.0: install steps, compatibility instead of milestones by @andrewmagness in #56

New Contributors

Full Changelog: https://github.com/andrewmagness/webos-dispatcharr/commits/v0.1.0