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

Thanks. That's similar to what I tried, except that Chrome didn't just minimize, it closed. Even when I could catch it open before it shut itself down, and enabled developer mode, the extension either didn't show up (I assume Chrome just deleted it) or maybe it displayed but still wouldn't work (I tried things so many times it's hard to remember all the details). I don't think I used prismcast service restart, though, probably just prismcast. I've had difficulty (in Win11) getting it to start as a service, though it may be doing that now.

I don't want to mess with what's currently working, but it might be worth setting up on a different PC (I have 2 Win10 boxes that could serve) and see if prismcast service restart works differently in the relevant respect for me. If not, it might be a Mac vs Windows thing.

If anyone running the native version of prismcast would like to give it a try, I have a patched version of PuppeteerStream.js that seems to work. It would replace the existing version (I would just rename the original instead of deleting it, just in case) located at C:\Users\XXXX\AppData\Roaming\npm\node_modules\prismcast\node_modules\puppeteer-stream\dist in Windows 11.

I have the file for download at GitHub - daldana2940/Prismcast-Chrome-149-Fix: File to allow Chrome 149 to use video capture extension · GitHub. Let me know if it works for you.

Make sure the extension is there and enabled. It won't enable unless Developer mode is on.

Extension

After you turn Developer mode on, you need to enable the extension.

FYI, one of the features in the patched file;

Fix: write extensions.ui.developer_mode = true directly into the profile's
Preferences file BEFORE Chrome ever launches (see ensureDeveloperMode()).
Because the profile comes up already trusted, Chrome never fires the toggle
event that triggers the confirmation dialog in the first place.

Can't you create a PR at his GitHub, or has he abandoned this project?

I was hoping to have some testing done by others before submitting a PR request.

My Local Fox channel is no longer working. All the other Fox One channels work.
PrismCast keeps opening my Local Fox (at Fox One) in the Chrome tab, closing it, reopening it, repeat.
I restarted the service.
I disabled and re-enabled the channel.
Here's the log entries

[2026/06/18 05:46:11.815 PM] Login mode started for https://www.fox.com.
[2026/06/18 05:46:27.591 PM] Login tab was closed. Ending login mode.
[2026/06/18 05:46:27.969 PM] Login mode ended.
[2026/06/18 05:47:01.178 PM] [fox-19ur6a] Stream ended after 8s (setup failed).
[2026/06/18 05:47:01.180 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 8169.300 ms.
[2026/06/18 05:47:09.428 PM] [fox-h32a25] Stream ended after 8s (setup failed).
[2026/06/18 05:47:09.429 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 8043.195 ms.
[2026/06/18 05:47:15.649 PM] [fox-indpar] Stream ended after 6s (setup failed).
[2026/06/18 05:47:15.650 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 6084.912 ms.
[2026/06/18 05:47:23.800 PM] [fox-tbtxj3] Stream ended after 7s (setup failed).
[2026/06/18 05:47:23.802 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 7131.470 ms.
[2026/06/18 05:47:30.331 PM] [fox-o6v6e0] Stream ended after 6s (setup failed).
[2026/06/18 05:47:30.332 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 6223.207 ms.
[2026/06/18 05:47:39.531 PM] [fox-cwwo7o] Stream ended after 7s (setup failed).
[2026/06/18 05:47:53.439 PM] [fox-rc4d10] Stream ended after 7s (setup failed).

Here's the channel config

Anyone else experiencing it?
Any ideas?

Now prismcast doesn't respond on port 5589. Browser just displays Internal server error
Last log entries

[2026/06/18 06:34:06.497 PM] e[31m[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').e[39m
[2026/06/18 06:34:06.497 PM] GET / from 192.168.1.8 responded 500 in 36.115 ms.
[2026/06/18 06:34:32.954 PM] e[31m[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').e[39m
[2026/06/18 06:34:32.954 PM] GET / from 192.168.1.8 responded 500 in 33.400 ms.
[2026/06/18 06:34:56.990 PM] e[31m[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').e[39m
[2026/06/18 06:34:56.991 PM] GET / from 192.168.1.8 responded 500 in 28.772 ms.
[2026/06/18 06:35:15.070 PM] e[31m[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').e[39m
[2026/06/18 06:35:15.070 PM] GET / from 192.168.1.8 responded 500 in 30.719 ms.

Restarted the service and still the same error

[2026/06/18 06:44:55.950 PM] Shutting down.
[2026/06/18 06:44:56.242 PM] Starting PrismCast v1.10.3 with configuration:
[2026/06/18 06:44:56.242 PM]   Configuration file: /Users/chDVRuser/.prismcast/config.json
[2026/06/18 06:44:56.242 PM]   Chrome profile: /Users/chDVRuser/.prismcast/chromedata
[2026/06/18 06:44:56.242 PM]   Server port: 5589
[2026/06/18 06:44:56.242 PM]   Quality preset: 1080p-high (1920×1080)
[2026/06/18 06:44:56.242 PM]   Capture codecs: h264
[2026/06/18 06:44:56.242 PM]   Video bitrate: 4000000
[2026/06/18 06:44:56.242 PM]   Max retries: 4
[2026/06/18 06:44:56.242 PM]   Max concurrent streams: 10
[2026/06/18 06:44:56.242 PM]   Circuit breaker threshold: 10 failures in 5 minutes
[2026/06/18 06:44:56.242 PM]   Chrome executable: autodetect
[2026/06/18 06:44:56.242 PM]   HLS segment duration: 1s, max segments: 20
[2026/06/18 06:44:56.242 PM]   HDHomeRun emulation: disabled
[2026/06/18 06:44:56.259 PM] Using FFmpeg at: ffmpeg.
[2026/06/18 06:44:56.266 PM] Loaded 1203 channels (33 user, 1170 predefined).
[2026/06/18 06:44:56.266 PM] Loaded health state for 12 channels and 2 domains.
[2026/06/18 06:44:57.377 PM] Chrome ready: Chrome/149.0.7827.156 (GPU: Apple M4 [AV1, H264, HEVC]).
[2026/06/18 06:44:57.377 PM] e[33m[WARN] Bundled FFmpeg is not available. Preroll generation skipped - startup playlists will have no segments.e[39m
[2026/06/18 06:44:58.081 PM] Capture system verified successfully.
[2026/06/18 06:44:58.495 PM] CDP proxy listening at /cdp.
[2026/06/18 06:44:58.495 PM] PrismCast is now listening on 0.0.0.0:5589.
[2026/06/18 06:45:02.379 PM] Starting channel lineup precaching for 3 services.
[2026/06/18 06:45:08.140 PM] Precached Fox: 14 channels (5.8s).
[2026/06/18 06:45:45.575 PM] Precached Sling TV: 438 channels (37s).
[2026/06/18 06:45:50.245 PM] Precached YouTube TV: 141 channels (4.3s).
[2026/06/18 06:45:50.647 PM] Channel lineup precaching complete: 3 services cached in 48.3s.
[2026/06/18 06:50:00.752 PM] e[31m[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').e[39m
[2026/06/18 06:50:00.754 PM] GET / from 192.168.1.8 responded 500 in 28.539 ms.

So it's working but I can't access the web UI at port 5589.
Request URL: http://192.168.1.9:5589/
Request Method: GET
Status Code: 500 Internal Server Error

Uninstalled an re-Installed. Same error. Cannot access web UI.

@hjd
Any ideas on why I'm getting this error, even after a reinstall.
[ERROR] Unhandled error in request: Cannot read properties of undefined (reading 'toLowerCase').
Cannot access the web UI, but it's still serving streams.

UPDATE:

The extension did not show at all, even with developer mode enabled, so could not be enabled. I am going to try @daldana7296's fixed .js file.

I had logged an issue on Github, but haven't seen any activity on it.

okay help me out - i added slingtv select - why does it light up hundreds of channels if its only the 13 i get? i feel like i'm missing something simple

Its not smart enough to know what channels you get. You have to remove the ones you don't.

Gotcha - that makes sense

Also


Is this still the case? has the app been abandoned by the dev?

Can someone post the url's for the channels and log pages from the web UI in a browser.
I can't get to the main admin page at http://192.168.1.9:5589/

In your case, it looks like http://192.168.1.9:5589/#channels and http://192.168.1.9:5589/#logs.

Thanks, same error. Guess I need to re-install it.
Reinstall didn't fix it.
New Brew doesn't trust it.

Fixed it. Issue was with the last channel I added. I just deleted it from the channels.json file and it's working now.

for those who have been using prism for a while - i'm getting a good amount of recoveries - i watched for about 30 minutes and it happened twice - is this just how it is or is there something i can do

I'm running prism as a container on linux

Local Fox channel via Fox One is still problematic.
Took over 3 minuted to start a recording.
What does this mean?

[WARN] Pretune attempt 1/5 failed for Fox (KTXL): Tune verification failed: Manifest URL is for channel "tx005", but "KTXL" was requested.
CDVR log
2026/06/21 13:30:00.000860 [DVR] Starting job 1782073800-ch10058 Seinfeld on ch=[10058]
2026/06/21 13:30:14.320603 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589 (Timeout): Get "http://192.168.1.9:5589/hls/fox/stream.m3u8": net/http: timeout awaiting response headers
2026/06/21 13:30:23.763920 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:30:32.438946 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:30:44.632476 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:31:00.922089 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:31:26.200523 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:32:04.861681 [ERR] Failed to start stream on channel 10058 via M3U-PrismCastmacmini: M3U: Could not fetch playlist from 192.168.1.9:5589: GET: http://192.168.1.9:5589/hls/fox/stream.m3u8: 502 Bad Gateway
2026/06/21 13:33:18.332433 [M3U] stream timestamps: fox: start_at=2026-06-21T13:32:33-07:00 end_at=2026-06-21T13:33:11-07:00 live_delay=4.757432652s
2026/06/21 13:33:18.332559 [TNR] Opened connection to M3U-PrismCastmacmini for ch10058 Fox (KTXL)
2026/06/21 13:33:18.332890 [DVR] Recording for job 1782073800-ch10058 from M3U-PrismCastmacmini ch10058 into "TV/Seinfeld/Seinfeld S08E04 1996-10-10 The Little Kicks 2026-06-21-1333.mpg" for 26m51.060997647s
2026/06/21 14:00:04.762077 [TNR] Closed connection to M3U-PrismCastmacmini for ch10058 Fox (KTXL)
2026/06/21 14:00:05.135685 [MTS] Statistics for "TV/Seinfeld/Seinfeld S08E04 1996-10-10 The Little Kicks 2026-06-21-1333.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=1611.843322
2026/06/21 14:00:05.229760 [DVR] Finished job 1782073800-ch10058 Seinfeld
PrismCast log
[2026/06/21 01:23:47.487 PM] Restarting browser for scheduled maintenance (uptime: 6h 5m).
[2026/06/21 01:23:48.327 PM] Chrome ready: Chrome/149.0.7827.156 (GPU: Apple M4 [AV1, H264, HEVC]).
[2026/06/21 01:23:48.704 PM] Browser restart complete. Fresh instance is ready.
[2026/06/21 01:23:53.328 PM] Starting channel lineup precaching for 3 services.
[2026/06/21 01:23:58.353 PM] Precached Fox: 14 channels (5s).
[2026/06/21 01:24:36.044 PM] Precached Sling TV: 372 channels (37.3s).
[2026/06/21 01:24:41.420 PM] Precached YouTube TV: 145 channels (5s).
[2026/06/21 01:24:41.822 PM] Channel lineup precaching complete: 3 services cached in 48.5s.
[2026/06/21 01:29:38.662 PM] [fox-qic97g] Stream ended after 9s (setup failed).
[2026/06/21 01:29:38.662 PM] [WARN] Pretune attempt 1/5 failed for Fox (KTXL): Tune verification failed: Manifest URL is for channel "tx005", but "KTXL" was requested.
[2026/06/21 01:29:50.298 PM] [fox-yboilx] Stream ended after 7s (setup failed).
[2026/06/21 01:29:50.299 PM] [WARN] Pretune attempt 2/5 failed for Fox (KTXL): Tune verification failed: Manifest URL is for channel "tx005", but "KTXL" was requested.
[2026/06/21 01:30:03.718 PM] [fox-mdtzdh] Stream ended after 8s (setup failed).
[2026/06/21 01:30:03.719 PM] [WARN] Pretune attempt 3/5 failed for Fox (KTXL): Tune verification failed: Manifest URL is for channel "tx005", but "KTXL" was requested.
[2026/06/21 01:30:23.710 PM] [fox-6jurdl] Stream ended after 8s (setup failed).
[2026/06/21 01:30:23.711 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 8336.119 ms.
[2026/06/21 01:30:32.385 PM] [fox-1f3byi] Stream ended after 7s (setup failed).
[2026/06/21 01:30:32.386 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 6654.381 ms.
[2026/06/21 01:30:44.579 PM] [fox-jhx2yl] Stream ended after 8s (setup failed).
[2026/06/21 01:30:44.580 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 8172.680 ms.
[2026/06/21 01:31:00.869 PM] [fox-dvlvy0] Stream ended after 8s (setup failed).
[2026/06/21 01:31:00.869 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 8196.075 ms.
[2026/06/21 01:31:26.147 PM] [fox-qanvr1] Stream ended after 9s (setup failed).
[2026/06/21 01:31:26.148 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 9263.640 ms.
[2026/06/21 01:32:04.808 PM] [fox-g1xghj] Stream ended after 7s (setup failed).
[2026/06/21 01:32:04.809 PM] GET /hls/fox/stream.m3u8 from 192.168.1.4 responded 502 in 6598.618 ms.
[2026/06/21 01:33:15.068 PM] [fox-aa3ed7] Streaming Fox (KTXL): Fox One, foxLive, native HLS, H264 6.7Mbps 720p. Tuned in 6.2s.
[2026/06/21 02:00:35.948 PM] [fox-aa3ed7] Stream ended after 27m 27s.

I am thinking maybe PrismCast is out of sink from ChannelsDVRs channels list. Maybe Reload M3U?

Nope. Nothing to do with Channels DVR.

#EXTINF:-1 channel-id="fox" group-title="Local" tvg-logo="http://nas-1019:8089/dvr/uploads/2/content" tvg-name="Fox (KTXL)" tvc-guide-stationid="21211",Fox (KTXL)
http://192.168.1.9:5589/hls/fox/stream.m3u8