BETA: Chrome Capture for Channels

EADDRINUSE means you already have an instance of the code running somewhere, you'll have to kill it b4 you can start a new one from CMD.

You're not going to have good results in Docker, it won't be optimized and will take up a lot of resources. The ideal installation for Chrome Capture is on Windows or Mac.

That said, if you still want to try I've added a new endpoint /debug where you can do some basic clicking and keyboard entry. It's laggy, but should be enough to login to your provider in the puppeteer chrome.

Use http://x.x.x.x:5589/debug?url=https://nbc.com/live

2 Likes

Interesting. I am unable to get the Closed Captions to stick around on the NBCUniversal channels. However, I am able to get Closed Captions to stick on the Youtube TV channels I have setup. Is there anything that can be done to retain the CC on NBCU.

1 Like

@tmm1 That did the trick, thanks. Working on my old 2103 MacBook Air. Tomorrow I’ll see better how it performs. I’m noticing a ton of buffering that isn’t there with the HDMI Encoder setup, but not sure if it is the machine or bandwidth.

1 Like

2103 should be great! But I bet you meant 2013? Thats not going to be enough power to transcode I would think.

1 Like

Yeah, 2013. I’m not sure if the transcoding is more intensive here than with Plex, but it can handle more than one Plex transcoding session at a time. The Plex people claim that even an older machine like that can handle multiple transcoding jobs at a time. I’ll have to check into it more tomorrow. Perhaps it will be time to relegate my M1 Mini to server duty and replace it.

1 Like

m1 mini would crush it - the unified memory is awesome and I hope to upgrade to one at some point.

One other thing I should mention is I am testing the RTX 3060 with a really old i7 3.5GHZ intel chip and its encoding really well. Before the upgrade I could not run Chrome Capture for Channels but now I can!
The new RTX 3060 @ 170watts works great with senior machines!

2 Likes

Here's what I'm getting when running in cmd:

Chrome Capture server listening on port 5589
C:\snapshot\chrome-capture-for-channels\node_modules@puppeteer\browsers\lib\cjs\launch.js:259
reject(new Error([
^

Error: Failed to launch the browser process! spawn C:\Program Files\Google\Chrome\Application\chrome.exe ENOENT

TROUBLESHOOTING: Troubleshooting | Puppeteer

at ChildProcess.onClose (C:\snapshot\chrome-capture-for-channels\node_modules\@puppeteer\browsers\lib\cjs\launch.js:259:24)
at ChildProcess.emit (node:events:537:28)
at ChildProcess._handle.onexit (node:internal/child_process:289:12)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

Node.js v18.5.0

That means you don't have Chrome installed or its installed at some other location.

What is the exact location of chrome.exe on your computer?

C:\Program Files\Google\Chrome\Application\chrome.exe

I'm pushing an update which searches for chrome.exe in more places for Windows

2 Likes

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

1 Like

That should work now with the latest exe

1 Like

That did the trick! Thanks!

1 Like

I'm trying this out on a M1 mac, I was able to set up a development environment, since I want to try to use the spectrum web based service.

I'm currently getting this error:

[2023/06/20 21:20:05.811] Chrome Capture server listening on port 5589
[2023/06/20 21:20:18.028] GET /stream/golf from ::ffff:192.168.1.87 responded - in - ms
[2023/06/20 21:20:18.072] streaming https://www.nbc.com/live?brand=golf&callsign=golf
[2023/06/20 21:20:18.073] streaming https://www.nbc.com/live?brand=golf&callsign=golf
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".] {
code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v20.3.0

Update: It works great with the latest release for macOS, just struggling with the development environment.

Update2: I upgraded to the latest development version and I was able to get it up and running. I tried to use the watch.spectrum.net website to add the Tennis Channel but no joy. I asume this is work in progress and that it is currently designed to work with the NBC website only. Looking forward to future additions. Thank you @tmm1.

1 Like

Interesting, I was going to attempt integrating this via Docker Desktop, where my other CDVR add-ons are, on my M1 Mac Mini. But the lack of optimization for this specifically will be felt. Also the current inability to login at websites.

Cool, I'll follow these instructions instead. I'm curious to learn any better options for macOS if/when they're discovered.

With latest release for macOS, you can:

  • download the zip
  • unzip
  • double click the capture program to run it

It should pop up a terminal window with the output logs showing.

1 Like

Well, that's fantastic too.

Edit: I just downloaded it onto two M1 Macs and unfortunately get the same error on both:

1 Like

Run the other file (chrome-capture-for-channels-macos-arm64), it worked for me on an M1 mac mini. You will have to deal with the security settings.

I thankfully have a windows machine on the network that i don't use for much that will work great for this setup along with other stuff.

Thanks

1 Like

For some reason, NBC is not playing in full screen but is instead letterboxed on top and bottom. Also, is it possible to run the Mac app as a service?

Thanks again for all your hard work! :grinning:

1 Like