{"id":36124,"date":"2026-06-11T07:59:56","date_gmt":"2026-06-11T14:59:56","guid":{"rendered":"https:\/\/www.podfeet.com\/blog\/?p=36124"},"modified":"2026-06-11T07:59:56","modified_gmt":"2026-06-11T14:59:56","slug":"prismcast-failure","status":"publish","type":"post","link":"https:\/\/www.podfeet.com\/blog\/2026\/06\/prismcast-failure\/","title":{"rendered":"PrismCast to Stream TV to Channels Failure"},"content":{"rendered":"<p>Do you ever work really hard on something, and no matter how much time you spend, it just doesn&#8217;t work? I&#8217;ve had that kind of week.<\/p>\n<h2>The Problem to be Solved<\/h2>\n<p>In December of 2022, I told you about how we cut the cord and replaced cable TV and our aging TiVos with YouTube TV and <a href=\"https:\/\/www.podfeet.com\/blog\/2022\/12\/cord-cutting-part-2-channels\/\">an app called Channels<\/a>.  Channels is this delightful software that can run on a Mac, a PC, or network attached storage like a Synology. Channels server provides a beautiful UI to clients that mimics all of the functionality we knew and loved with TiVo, but with a smart, modern look.  The Channels client runs on Mac, Windows, and most importantly, Apple TV.<\/p>\n<p>The tricky bit is that Channels has to get the channel guide from a third-party service. The one that was in vogue almost 4 years ago is called TV Everywhere.  It wasn&#8217;t simple to connect all of these pieces together, but once I conquered it, we were able to watch and record shows with ease.<\/p>\n<p>But then NBC decided it didn&#8217;t want its content available on TV Everywhere. This was a big deal in the Sheridan household, accounting for about half of the content we record.<\/p>\n<p>The alert amongst you will be asking, &#8220;Can&#8217;t you record using YouTube TV?&#8221; You would be correct, but the interface is very clumsy. If you&#8217;re not going into it and making new recordings regularly, every time you go in, it&#8217;s a matter of spelunking to find the right buttons to push. We miss a lot of recordings as a result.<\/p>\n<p>This has been the state of affairs for the last couple of years.<\/p>\n<h2>Chrome Streaming is the Solution<\/h2>\n<p>Way back when, I learned about channels through the Accidental Tech Podcast and the MacGeekGab. A year ago or so, I heard on the MacGeekGab that there was a way around this problem using something called Chrome Streaming.<\/p>\n<p>The loophole is that Google Chrome can stream TV shows, and channels can somehow extract that stream and present it to you in the channel&#8217;s interface. I spent a lot of time poking around trying to figure out how to do this and even enlisted the help of our friend Ed Tobias, also known as @MrEd, in the live chat room. Between the two of us, we were not able to figure it out.<\/p>\n<h2>PrismCast for Chrome Streaming<\/h2>\n<p>Very recently, I heard Dave Hamilton explaining that he&#8217;s now using an open source project called PrismCast to provide this Chrome streaming service to get Channels to work with protected content.<\/p>\n<p>Before we go much further, I want to make it perfectly clear that I am paying for NBC through my YouTube TV account. It&#8217;s just that they don&#8217;t want me to watch it the way I want to watch it. It&#8217;s just like when DVRs were first invented, and the networks tried to make it illegal to time shift our watching.<\/p>\n<h2>Where to Run PrismCast (and Channels)<\/h2>\n<p>I found the <a href=\"https:\/\/github.com\/hjdhjd\/prismcast\">PrismCast open source project on GitHub<\/a> where the developer explained that you can install it using either NPM or Homebrew. It was at this point that I realized I had my first stumbling block. Since PrismCast needs to spin up an instance of Google Chrome, and I need to use Homebrew to do the installation, that means I can&#8217;t run this on my Synology, which is where my Channels server lives.<\/p>\n<p>I also discovered at this point that I was running two instances of Channels, one on the Synology, where all of our recordings are, and a second one on our Mac mini.  If successful in getting PrismCast to work, I would need to do it on the Mac Mini and change Steve over to that Channels server.  The upside was that I could do a lot of experiments on the Mac mini without fear of disrupting Steve&#8217;s TV watching.<\/p>\n<h2>How Does PrismCast Work?<\/h2>\n<p>Here is a basic outline of the installation process.<br \/>\n* Install PrismCast from the command line<br \/>\n* Run the PrismCast service<br \/>\n* In the web UI for PrismCast, authenticate to your TV provider (YouTube TV in my case)<br \/>\n* In Channels, set a special source as the PrismCast server playlist<br \/>\n* Magically play live TV and\/or record TV from your TV provider<\/p>\n<p>Now let\u2019s get into the details a little deeper. Installing and starting the PrismCast service via Homebrew is two simple commands. You would expect <code>brew install prismcast<\/code>, but the GitHub page for PrismCast suggests a more specific target that includes their GitHub account name.<\/p>\n<pre><code>brew install hjdhjd\/prismcast\/prismcast\nprismcast service start\n<\/code><\/pre>\n<p>Once installed and started, you access a lovely user interface via the browser at `http:\/\/localhost:5589` which means on this machine, at port 5589. When you select the Channels tab, you\u2019ll be prompted to set up your TV service and authenticate. In my case, I selected YouTube TV, and authenticated through the classic (and yet annoying) Google interface.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/06\/PrismCast-authenticate-to-TV-Provider.png\" alt=\"PrismCast asking to authenticate to TV Provider.\"  title=\"PrismCast authenticate to TV Provider.png\" width=\"799 \" height=\"565\"><figcaption style=\"text-align:center\">PrismCast Asking for Authentication to TV Provider<\/figcaption><\/figure>\n<p>Nearly immediately, you\u2019ll see all of the channels you now have access to in the PrismCast interface through your TV provider.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/06\/PrismCast-web-UI-showing-all-of-my-channels.png\" alt=\"PrismCast web UI showing all of my channels.\"  title=\"PrismCast web UI showing all of my channels.png\" width=\"799 \" height=\"773\"><figcaption style=\"text-align:center\">162 Glorious Channels to Stream &#038; Record<\/figcaption><\/figure>\n<p>Back in the Channels server interface, now you can add custom channels by adding a new source, which PrismCast tells you is `http:\/\/localhost:5589\/playlist`. As soon as I did this, it showed the same 162 channels I saw in PrismCast, and more importantly, it included the suite of NBC channels we wanted!<\/p>\n<p>I could taste victory at this point\u2026 but you already know that was false hope.<\/p>\n<p>In the Channels server web interface, I opened the Channels live TV listing, selected a currently running show, and hit the play button. This tells PrismCast to spin up an instance of Google Chrome (not your \u201cnormal\u201d Google Chrome) where it starts to stream the show, and then it starts to play in Channels.<\/p>\n<p>Everything worked exactly as expected, except the show wouldn\u2019t ever start to play in the Chrome instance; the player icon just spun and spun until PrismCast threw a timeout error after 10 seconds and gave up.<\/p>\n<p><code>[2026\/06\/09 05:58:39.265 PM] [ERROR] [msnow-6jjoyp] Stream setup failed for https:\/\/tv.youtube.com\/live: Operation timed out after 10000ms.<\/code><\/p>\n<p>And thus began 3 solid days of me troubleshooting why this doesn\u2019t work.<\/p>\n<p>One test I did was to see if these links to live TV shows would work in a <em>normal<\/em> instance of Chrome, and surprisingly, they played just fine.<\/p>\n<p>So it\u2019s not the Mac hardware, it\u2019s not the OS, it\u2019s not a firewall problem, it\u2019s not a Chrome extension problem, it\u2019s not a network problem \u2026 what the heck is causing it?<\/p>\n<h2>Why Nuke and Paves Are a Good Thing<\/h2>\n<p>Over the years, I\u2019ve sung the virtues of doing a nuke and pave every year or two just to make sure you don\u2019t carry old cruft around with you from Mac to Mac as you upgrade.  The one Mac I don\u2019t do that on is my Mac mini.  It\u2019s an M1, so around six years old, and of course I keep it up to date on the OS and any App Store apps I run on it.<\/p>\n<p>But I don\u2019t sit at that Mac day to day and do things to keep the clutter away.  When I first started troubleshooting this pesky problem, I rebooted and was quite surprised to see the warning pop up about the Drobo extension being deprecated.  Hold on, I sold my last Drobo <em>years<\/em> ago, what is that still doing on there?<\/p>\n<p>I found Keyboard Maestro telling me it was unlicensed, which was true for that Mac. I couldn\u2019t get Hazel to run and discovered it was two entire versions behind. I found virtual machine software I installed back when the Apple silicon first came out, where I was running Windows on ARM. I found old installations of MAMP, the software that lets you run a local version of WordPress.<\/p>\n<p>There is so much cruft on this machine, I have no idea if any of it might account for the PrismCast software not being able to play video from its instance of Chrome.<\/p>\n<h2>Install on MacBook Air<\/h2>\n<p>Since the Mac mini is full of cruft and I\u2019d done a lot of messing around with an existing installation of Channels that might be obfuscating the issue, I decided to start 100% from scratch and installed Channels and PrismCast on my MacBook Air.<\/p>\n<p>I followed the exact same process I described, and\u2026 it works perfectly to stream TV content either from within PrismCast or from Channels using the PrismCast data as its source. I think I would have been happier if it had failed. I could have given up, but now I know that the software works as designed.<\/p>\n<h2>Start from Scratch on the Mac mini<\/h2>\n<p>Since the cold start of everything on the MacBook Air worked just dandy, I decided to remove all remnants of Channels and PrismCast from the Mac mini. Again it was a blessing that our TV watching was all on the Synology, instead of the Mac mini.<\/p>\n<p>I uninstalled Chrome (which is how I noticed that Hazel wasn\u2019t running because it didn\u2019t clean up after I deleted Chrome). I had to download the Channels installer to uninstall it (which I always think is an unintuitive step). I used Homebrew to uninstall PrismCast too, and rebooted.<\/p>\n<p>During the reinstallation of Channels, it asked me where I wanted to store the data. The Mac mini doesn&#8217;t have nearly enough space to store video files, which is one of the reasons we have the Synology. But Channels wasn&#8217;t offering me the Synology for storage; it suggested I use the Drobo!  Recall that the last Drobo left our house literally years ago. I guess it was time to get rid of the Drobo software once and for all.<\/p>\n<p>For Channels to see the Synology, it would need to have the Synology always mounted. You may recall from last week&#8217;s discussion of <a href=\"https:\/\/www.podfeet.com\/blog\/2026\/06\/stream-deck-steve\/\">setting up a Stream Deck for Steve<\/a> that the app <a href=\"https:\/\/itunes.apple.com\/nz\/app\/automounter\/id1160435653?ls=1&#038;mt=12\">AutoMounter from Pixeleyes<\/a> is a great way to keep servers mounted. I logged into the Synology web interface, created a share just for the video files from Channels, mounted it with AutoMounter, and then in the Channels setup I was able to point to the correct share.  Whew.<\/p>\n<p>The first time I tried to set up PrismCast on the Mac mini, I didn&#8217;t read down far enough in the instructions, and used the Node Package Manager (NPM) to install PrismCast. I read further and realized that Homebrew was a better solution for me. I uninstalled it using NPM and went forward with Homebrew.<\/p>\n<p>When I ran through the installer for Channels on this fresh install, I got a pop-up about Node wanting some permission. I\u2019d seen that earlier and ignored it, but this time, I went to System Settings \u2192 Privacy &amp; Security and allowed it. I thought maybe this had been the problem all along, but I think it was a red herring since NPM didn&#8217;t do the installation.<\/p>\n<p>I won\u2019t bore you with everything I tried on resinstallation, but in the end the results were the same. PrismCast would time out waiting for the stream to start.<\/p>\n<p>In desperation, I tried one last thing. I wondered if the stream would start on the PrismCast instance of Chrome if I just waited long enough. I pasted one of the streaming URLs into the PrismCast Chrome instance and went about my business doing other things while watching the player indicator spin out of the corner of my eye.<\/p>\n<p>After a good 10 minutes, the streaming window asked me to authenticate again to our YouTube TV account.  This was <em>excruciatingly slow<\/em>. I\u2019m talking <em>minutes<\/em> for it to do things like finish showing on screen when I typed in the username.<\/p>\n<p>After 2 or 3 more minutes watching the player spin \u2026 it started to play \u2026 slowly, and very pixelated and jumpy. It was simply awful. Remember that these same streams work just fine in a normal Chrome window on the same machine. And remember that the same streams work just fine in a PrismCast-created Chrome instance on the MacBook Air.<\/p>\n<p>What is causing this?<\/p>\n<h2>Everything is Annoying<\/h2>\n<p>As I spent the three days troubleshooting, I was amazed at how many things didn\u2019t work properly that had nothing to do with this problem.<\/p>\n<p>Here\u2019s an example. I use my MacBook Air while sitting in bed, watching TV downstairs, and sitting out on the back patio, and when I\u2019m in my studio, I use my MacBook Pro with my big girl monitor. Sitting at the Mac mini is not very ergonomic, so as I was building these apps on the Mac mini, I used screen sharing from my MacBook Air to the Mac mini. The display on that Mac is an ancient 27\u201d Apple Studio Display at 1080P resolution, so even on the MacBook Air, I can pretty much read the screen.<\/p>\n<p>But I decided to do some of the diagnostic work sitting at my MacBook Pro, but I simply could not screen share into the Mac mini. It would try but never start. The Mac mini and the MacBook Pro are on wired Ethernet as well as WiFi. I could see the file system of the Mac mini from the MacBook Pro; I just couldn&#8217;t screen share to it.<\/p>\n<p>Oddly, I could successfully screen share to the MacBook Air, which was only on WiFi. I\u2019m not sure this is what fixed it in the end, but after I changed the service order for the network cards on the MacBook Pro to prioritize Ethernet over WiFi, screen sharing started to work to the Mac mini.<\/p>\n<p>Things like that kept cropping up and killing hours of time I could have been working on the problem at hand. Reminds me of how my dad would complain about starting a woodworking project and then realizing that a tool needed to be oiled. When he got the oil can down, he noticed that the cabinet\u2019s shelf was loose. Somehow, in the end, he&#8217;d end up rebuilding the cabinet and never get the woodworking project started.<\/p>\n<h2>Bottom Line<\/h2>\n<p>The bottom line is I can&#8217;t get PrismCast working to stream TV from a Chrome instance. Steve was very supportive as I burned up hours and hours on it, and I explained why I kept going. It&#8217;s because every step was easy. Just install this. Just authenticate there. Just configure that.  Nothing was hard, but nothing solved the problem. My only thought is that there must be something leftover from the original installation that I haven&#8217;t cleaned out, but short of doing a nuke and pave of the Mac mini, I can&#8217;t think how to find it.<\/p>\n<p>I don&#8217;t like to write up stories of failure, but maybe by telling the story, someone out there will help me crack the code on this.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Do you ever work really hard on something, and no matter how much time you spend, it just doesn&#8217;t work? I&#8217;ve had that kind of week. The Problem to be Solved In December of 2022, I told you about how we cut the cord and replaced cable TV and our aging TiVos with YouTube TV [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":36129,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[147],"tags":[5561,1004,8279,8280,1248,8281],"class_list":["post-36124","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-posts","tag-channels","tag-mac-mini","tag-prismcast","tag-streaming-tv","tag-synology","tag-youtube-tv"],"jetpack_featured_media_url":"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/06\/PrismCast-authenticate-to-TV-Provider-1040x520-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/comments?post=36124"}],"version-history":[{"count":2,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36124\/revisions"}],"predecessor-version":[{"id":36128,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36124\/revisions\/36128"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media\/36129"}],"wp:attachment":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media?parent=36124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/categories?post=36124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/tags?post=36124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}