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

I am VERY new to Portainer. Can you give me an ELI5?

Great idea-- I actually do something similar for CH4C and ChromeCapture output -- at least for combined lanes. Would need a tweek for provider specific, but def doable!

1 Like

Looks like the auto profile update broke ABC, before 1.10.0 ABC ran full screen with no banners but now when it loads up ABC it leaves the navigation banner at the top.

Any chance you installed Portainer via OliveTin EZ-Start? If so, you can use Project One-Click to install PrismCast very easily.

1 Like

Looks like the auto profile update broke ABC, before 1.10.0 ABC ran full screen with no banners but now when it loads up ABC it leaves the navigation banner at the top.

I just checked…no issues on my end (it works). Are you using the built in ABC channel or did you have a user-defined override? Did you A/B test to validate between versions of PrismCast? The other abc.com-based channels (FX, etc.) also work fine on my end. Have you tried those as well and have issues?

As a side note…at least in my setup…ABC doesn’t tune “real” ABC in my geography…it always has tuned in SF or LA ABC (I forget which one), but it definitely wasn’t the local station in my geography. I debated including it in PrismCast or not because of that.

Similarly, I would recommend most people who have Paramount Plus to override CBS with Stream Live TV - Paramount+ (you can override a built in channel by creating a user channel with the same channel key. The builtin CBS seems to log you out every few days. I opted not to make the Paramount Plus version the default because not everyone is going to have PP. But it’s a nuance to be aware of.

Great idea-- I actually do something similar for CH4C and ChromeCapture output -- at least for combined lanes. Would need a tweek for provider specific, but def doable!

My suggestion would be to generalize it all, and then have tuner “plugins” you would extend in your code base, so you can easily add/remove tuners like PrismCast/CC4C/etc…all with a consistent output pipeline on your end.

whats the best way to upgrade this? run npm install -g prismcast again? while running? will it retain settings or do I need to do a backup? thanks.

Settings, etc. are preserved…there’s no issue there. You can do:

npm install -g prismcast
prismcast service restart (assuming you installed prismcast as a service…)

Curious why this uses the same port as CC4C - 5589. I guess I need to remove that before I can get this to run?

Edit - CC4C stopped. Can get the config page running. Can log into the services (note, why does Chrome minimize when I hit done?). But can't get the channels to play in Channels. I get an out of tuners message. I can see the Chrome tab open, but then nothing happens. This is on a 2018 Intel MacBook Pro if that matters.

Curious why this uses the same port as CC4C - 5589. I guess I need to remove that before I can get this to run?

No reason, other than preference. You most definitely should not run CC4C and PrismCast on the same machine at the same time…you’re going to run into Chrome issues.

You can change the port on the command line. Here’s two ways to do it from the command line (and you can also configure which port you’d like to use in the PrismCast webUI):

prismcast -p 9999
PORT=9999 prismcast

prismcast -h will show you all the command line options.

I'm using the default ABC config, no override. Like I said I know for a fact that it worked fine before I upgraded to latest version. My ABC is actually the correct local channel because it is owned and operated by ABC I think. I don't know if that has anything to do with it but I can try other options like full screen API to see if it fixes it.

I did notice an issue with channel overrides - If you replace a default config with your own prism no longer sends the TV guide channel mapping to the correct channel, so you have to go into channels and manage lineup and reassign the channel again. Should probably just copy over the default TV guide channel when an override is applied. For example, when I overrode the golf channel config before it no longer sent the guide mapping to golf channel to channels so there was no guide data, I had to go in manually and correct it.

I'm using the default ABC config, no override. Like I said I know for a fact that it worked fine before I upgraded to latest version. My ABC is actually the correct local channel because it is owned and operated by ABC I think. I don't know if that has anything to do with it but I can try other options like full screen API to see if it fixes it.

I believe you, but you’re giving me an anecdotal experience, not a data-driven one…so there’s not much for me to see besides “works for me” unless I can reproduce your issue (which I can’t), or you can definitively tell me, version X that I just tried works, version Y that I just tried isn’t working. :smile: Help me, help you. Sites break, PrismCast breaks…we need to eliminate variables, and unless you can test one right after the other, it quickly becomes a troubleshooting nightmare. Happy to investigate this when you provide the data points.

I did notice an issue with channel overrides - If you replace a default config with your own prism no longer sends the TV guide channel mapping to the correct channel, so you have to go into channels and manage lineup and reassign the channel again. Should probably just copy over the default TV guide channel when an override is applied. For example, when I overrode the golf channel config before it no longer sent the guide mapping to golf channel to channels so there was no guide data, I had to go in manually and correct it.

That’s not a bug with PrismCast, it’s a design decision on my part. You’re overriding the defaults…that means you take responsibility for providing the right Gracenote station ID as well. You can do so under the advanced settings of your overridden channel and it’ll work. If you don’t supply a station ID, PrismCast won’t send one.

Side note: I believe you’re the one that recommended switching to the Golf Channel site directly for the livestream and I did incorporate that into one of the releases…is the usanetwork.com stream better/preferred versus the faster-to-tune Golf Channel site?

I have been trying to follow this and have been able to get this successfully (I think) installed on my M4 Mac Mini.... however, when I go to http://localhost:5589/ I get a red circle saying "Browser Offline" and when I look at the health check, it says unhealthy with "Browser is not connected" as the message. I have installed PrismCast and have it running as a service and I have Google Chrome installed and I am logged into it (not sure if being logged in or not matters) and my node.js version is v24.13.0.

What did I miss?

I've got everything up and running on my m2 mac mini and logged in with my provider. However, I get this error in Channels:

"Streaming to the tuner failed. Press play to try again.
M3U: Could not fetch playlist from localhost:5589 (Time out): Get "http://localhost:5589/hls/espn/stream.m3u8":net/http: timeout awaiting response headers"

Did you restart PrismCast at any point? Feel like I remember getting this error when I have closed PrismCast but didn’t clear the process on port 5589.

Just google how to clear all processes on a particular port on Mac terminal and then relaunch, see how that goes.

I have been trying to follow this and have been able to get this successfully (I think) installed on my M4 Mac Mini.... however, when I go to http://localhost:5589/ I get a red circle saying "Browser Offline" and when I look at the health check, it says unhealthy with "Browser is not connected" as the message. I have installed PrismCast and have it running as a service and I have Google Chrome installed and I am logged into it (not sure if being logged in or not matters) and my node.js version is v24.13.0.

What did I miss?

The good news…you’re running PrismCast on the same platform that I develop it on and run it. :smile:

Browser offline means PrismCast isn’t able to find and start Chrome. As long as Chrome is installed in the normal place it would be on a Mac (e.g. in the Applications folder), PrismCast should find it. You should not have Chrome running - PrismCast will want to spawn its own Chrome instance. If you have Chrome running, you’ll need to fully exit it, then restart PrismCast.

See if that does the trick…if not, let’s see what else it may be.

"Streaming to the tuner failed. Press play to try again.
M3U: Could not fetch playlist from localhost:5589 (Time out): Get "http://localhost:5589/hls/espn/stream.m3u8":net/http: timeout awaiting response headers"

Can you tune in non-ESPN channels without an issue? There’s a subtle issue that crept in today on disneyplus.com that I’ll be addressing in an update today or tomorrow that’ll cause occasional issues with ESPN and its brethren.

If you can tune something else…that’s what is catching you right now.

1 Like

That's it! Thank you! NBC plays and then hangs up. It also keeps re-loading. Are there adjustments I need to make?

Edit: I downgraded from 4k to 720p and USA net seems to work perfectly.

The new golf channel config is fine works as what I recommended. I think you're being pedantic about the ABC issue, I clearly said that it worked before and now it doesn't. If it works for you great but I have no further data to provide because there's nothing in the logs. I'm not going to downgrade just to prove what I already know. Not a slam, just my observation.

If you want I can provide a screenshot but it's not going to help you.

I'll try to override with other profiles to see if I can get it fixed.

Edit: I downgraded from 4k to 720p and USA net seems to work perfectly.

Most people really shouldn’t need more than 720p. I get the appeal of more, as someone with large fancy screens in his own home…but you’re driving a lot of pixels and you can expect the higher the screen size you choose, the more likely you are to have issues. The defaults are the defaults for a reason, as I like to say. It’s going to give the majority of the people a good, solid experience most of the time.

Modern televisions do a great job upscaling to something that’s more than acceptable. PrismCast, and solutions like it, or only ever going to get so good…at the end of the day, they’re screen captures, not the highest quality of video and audio that you can get. But it should be comfortably better than “good enough” but far short of watching a Marvel movie in 4K HDR with IMAX scenes on a high end projector. :smile:

I’ll get off my soapbox now as I see everyone looking for an 8K setting in PrismCast…:wink: