Introducing PrismCast: Browser-based Live TV Capture for Channels DVR and Plex

@hjd hey, so today (going to assume after last update), prismcast started to navigate to the FX stream when abc is invoked. using your abc default setting:

[2026/02/17 13:21:28.835] Login mode started for https://abc.com/watch-live.
[2026/02/17 13:21:47.435] Login tab was closed. Ending login mode.
[2026/02/17 13:21:47.696] Login mode ended.


here is the url its loading:

https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0

native install on Mac m1. anything I can do on my end? anything you need for troubleshooting? thanks.

@hjd hey, so today (going to assume after last update), prismcast started to navigate to the FX stream when abc is invoked. using your abc default setting:

That was a few updates ago at this point. :smile:

ABC.com is a mess to deal with. Specifically for the local affiliate. In some markets (like mine), it shows the wrong local affiliate. In others, it shows the right one. It’s very temperamental. Given the GUID (aka long string of letters and numbers) is likely regionally specific, I rely on ABC Live Stream - ABC.com defaulting to the local affiliate…which it should. Except where it doesn’t, such as in your case.

To address this - override the ABC channel in PrismCast with a user-defined one. Navigate yourself to abc.com/watch-live and pull up whatever your local livestream is. Copy that URL into PrismCast and it’ll use it the next time you tune PrismCast.

1 Like

easy peasy. thanks!

For those experiencing video issues with the latest docker version of Prismcast - I was able to go back to version 1.2.1 by deleting the volume

Can someone list the steps to install this in a proxmox LXC container?

I'll write-up the steps to do this at some point (or you can :slight_smile:), but to do it now, use the PrismCast Dockerfile as a general guide to what's needed. The installation steps are more-or-less the same as described for creating an LXC for CC4C:

Use the above post as a general step-by-step, and compare what's in the PrismCast Dockerfile for each step to confirm it makes sense. That's what I did when I setup PrismCast in an LXC a few weeks ago.

Yup I failed.

[2026/02/18 18:22:03.825] PrismCast v1.3.4 starting.
[2026/02/18 18:22:03.829] Using FFmpeg at: /usr/lib/node_modules/prismcast/node_modules/ffmpeg-for-homebridge/ffmpeg
[2026/02/18 18:22:03.831] Loaded 293 channels.
[2026/02/18 18:22:03.879] [ERROR] Failed to launch browser: Protocol error (Target.setDiscoverTargets): Target closed.
[2026/02/18 18:22:03.879] [ERROR] Failed to initialize browser during startup: Protocol error (Target.setDiscoverTargets): Target closed.
[2026/02/18 18:22:03.879] [ERROR] Fatal startup error occurred: Protocol error (Target.setDiscoverTargets): Target closed.
root@prismcast:~/.prismcast# 
1 Like

Double check that you set up the "Chrome wrapper" portion of the Dockerfile correctly?

The fact that I have to ask how to do that probably means I should stick with Docker.

Has anyone figured out on Windows why when you specify a given bitrate that some recordings are at that bitrate and others are double? I don't really see a pattern here.

This is from tons of Olympic recordings, from what I've seen most are double. But I've seen plenty at the given bitrate.

I realize it's just a suggestion to the browser, but it's weird how random it is.

Thank you. I reverted back to 1.2.1 and everything is playing smoothly. I'm not sure what changed but 1.3-.1.3.4 had very frequent pausing, etc

1 Like

I finally have 1.3.4 running well in Docker along with Gotham Sports in full screen BUT I just cant do a simple update every update so far Ive needed to re authenticate everything.
I absolutely have no clue about docker etc BUT im trying so be easy if possible. I use this to pull the images docker pull Package prismcast · GitHub then I run it except I cant use default 5589 or 6080 so i force 5599 and 7080 which work on my system.

No idea on the "why" of it, but I can confirm that the file sizes are much bigger than I expected. Doing some quick back-of-the-napkin math on my recordings, they are all over 20Mbps using the 720p-High/12Mbps default setting.

I'm running 1.2.1 here and the indicated bit rates (using the Channels "show stats" feature) are around 1.5-2.5 Mbps - also, I seem to be limited to 720p for some reason

I would recommend 720 high at 4mbps given the current limitations on Win 11. Most recordings are double that, more like 8mbps.

I've been stress testing this extensively with the Olympics and those settings seem to work the best for me.

I want to add that prism has been awesome for the entire time I've recorded the Olympics, the only problem I've seen has been the random time out loading USA network for tuning. It's all over the map, most of the time it works but sometimes it just takes too long and times out.

And by that I mean it takes more than 15 seconds to bring up the video, so channels gives up.

This is running the latest version 1.3.4 by the way, it has improved from the beginning but there are still delays for whatever reason. Could be USA Network issues, who knows. Not my server or bandwidth.

The headline feature in 1.4.0 is Hulu direct tuning...subsequent channel switches bypass the guide grid entirely for a much faster experience. This release also adds a built-in upgrade command available in both the CLI and web UI that detects your install method and handles upgrades automatically (from the command line prismcast upgrade --help), along with optional channel numbers in Channels DVR M3U playlists. Configurable data, Chrome profile, and log file paths give Docker and advanced users more flexibility in how PrismCast stores its data. Stream continuity and transitions are smoother across playback recovery boundaries, and the site profile system has been generalized to support a wider range of streaming site layouts. Several predefined channels have been added and refined as well.

To reiterate from prior release notes:

If you’ve created user-defined channels that are now covered by predefined options, I recommend deleting those overrides and using the defaults. Predefined channels are what I test and maintain; overrides are entirely optional, but they do create long-term configuration debt for you as PrismCast evolves.

I really appreciate the feedback, enthusiasm, and passion around PrismCast. Almost every feature added since 1.0.0 has come from thoughtful, respectful discussion with this community.

My only ask is simple: please be kind, not demanding. PrismCast started as a project for my own needs, and I share it because I enjoy this community and wanted to give something back. Respectful feedback is always welcome; entitlement is not.

Thank you to everyone who’s shared encouragement or joy in using PrismCast—it genuinely keeps this project fun to work on.

One more note for everyone’s benefit: please don’t repost the same questions in this thread. Many of them have already been asked and answered, and the forum’s topic-only search works well. Keeping discussions focused helps everyone. Please treat the thread and each other with the same consideration you’d expect in return.

1.4.0 (2026-02-19)

  • New feature: Hulu direct tuning — channels now cache on first tune for faster subsequent tunes.
  • New feature: upgrade command for CLI and web UI — detects your install method (npm, Homebrew, Docker) and runs the appropriate upgrade.
  • New feature: optionally include channel numbers in the M3U playlist for Channels DVR.
  • New feature: configurable data, Chrome profile, and log file paths via --data-dir, --chrome-data-dir, and --log-file CLI flags and environment variables, with a new --list-env option to list all available settings.
  • Improvement: smoother stream continuity and resiliency across playback recovery boundaries.
  • Improvement: cleaner audio transitions when switching between channels.
  • Improvement: more flexible site profile system for channel matching, fullscreen handling, and overlay suppression.
  • Improvement: broader compatibility with additional streaming site layouts.
  • Improvement: Docker entrypoint supports custom data, Chrome, and log directories via environment variables for flexible volume mount configurations.
  • Improvement: additions and refinements to predefined channels.
  • Fix: provider playlist filter now correctly honors user-specified include and exclude selections.
  • Housekeeping.
2 Likes

Try out v1.4.0 and give it a whirl.

Probably I'm the only one with this use case. I like to play around with various platforms as each has it's own unique strengths. I previously mentioned the challenge I was having getting PrismCast to work with TiviMate for use in a multi-view screen. I've now been able to replicate this same problem with Emby. Same setup, my CDVR acts as a backend server, which is ported through Threadfin and then shipped over to Emby. I can watch ESPN through ADBTuner on Emby, with the aforementioned setup but when I try and use the PrismCast for Emby, it never successfully tunes.

I'll keep playing with it to see if I can narrow down the situation, but if anyone has any suggestions, I'm open to them.

I'll keep playing with it to see if I can narrow down the situation, but if anyone has any suggestions, I'm open to them.

@jator I can’t speak to most of this since I don’t run these solutions, and the community will likely be more helpful there.

That said, if a PrismCast site isn’t tuning in an environment where it should, the first thing I’d check is whether the custom channel was configured exactly per the PrismCast instructions...in particular ensuring the stream format is set to HLS rather than MPEG-TS in Channels DVR for this custom source.

PrismCast was heavily inspired by CC4C, but I wouldn't conflate them. There are material differences for Channels DVR. Settings that work for CC4C may not work for PrismCast.

@hjd thanks for the playSelector implementation on apiMultiVideo :slight_smile: