BETA: Chrome Capture for Channels

Sorry i wasn't clear. Here: Xvfb :99 -screen 0 1920x1080x16 &

On top of this, I can't seem to log into Paramount Plus to see if I can get the channels they took off of TVE or Showtime which I've previously had, or into Spectrum. Not sure this will be worth it after all.

Well, well, well. I did all my previous testing with the Channels web client using Chrome browser on my Linux desktop. Today, I gave it another try with the same results. However, I then tried the Channels Android client on my phone, and the streams suddenly appeared.

Any way to implement chrome capture to Plex? Or chrome capture with only work with the channels app?

1 Like

Point Plex to your Channels directory(s)

this was excellent feedback! Haven't played with this in a while but adding it to my existing list and the 'tearing' symptom absolutely went away. your right, it pauses and buffers but when its solid its solid. thank you!

Thanks! In the guide, it shows up as the tmsGuideServiceId

I'm finding that with all these recordings on USA that I'm doing for the Olympics, Chrome capture is very unreliable. Some of the recordings are fine and play through all the way but many of them freeze up at some point while audio continues.

It's definitely the encoder (or NBCU) because when I play back the files with VLC you see the exact same behavior.

1 Like

I gave up on running this with docker and installed with node.js on my 2018 MacBook Pro (intel) so that I could adjust some of the settings, plus I was having issues with the chrome version in docker not working with some sites. I don't have that issue with mac chrome. I changed viewport to 1280x720 and increased videoBitsPerSecond to 9500000. It seems to be running much better. The video will occasionally pause while audio continues, but after a second or two the video speeds up to catch up with the audio. I agree that it on the encoder side. I'm curious if changing any of the other optional arg settings would correct this, or increasing the videoBPS a bit more may fix it? It seems to play better at this than at the default 80000000. I'm just not sure which to try.

1 Like

Circling back on this. Here is what recently worked for me, pieced together via Google search:

Run this command in terminal, to identify what is using the Chrome Capture listening port (in my case, port 5589), and get what is known as its "PID":

sudo lsof -i :5589

The output that follows should include an entry with the same port number used by Chrome Capture for Channels (probably 5589) in it. Mine looked like this:

COMMAND   PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    16806 macuser   21u  IPv6 0xe670276c3f0b1201      0t0  TCP *:5589 (LISTEN)
node    16806 macuser   22u  IPv6 0xe670276c3f0b2a01      0t0  TCP 192.168.7.180:5589->192.168.7.180:49401 (ESTABLISHED)
ffmpeg  17010 macuser    5u  IPv4 0xe6702767701e2361      0t0  TCP 192.168.7.180:49401->192.168.7.180:5589 (ESTABLISHED)

The second entry starting with "node 16806" is the one I want, because it has my port number (5589) in the output, and is the "PID". I ignored the ffmpeg entry even though it also listed the same port.

Take that PID (16806 in my case) and terminate the process with the following:

kill -9 16806

where you replace 16806 with the PID in your output.

I was then able to start Chrome Capture for Channels, although I did have to hit the Play button twice when testing it out in the Channels client (perhaps because I didn't kill the ffmpeg instance?).

Noob question here:
After installing cc4c, I have version 20.9.0 of node installed. Is this something I need to worry about keeping up to date? And is there a preferred method of doing so?

(I'm getting my brain around this, and I believe node is installed in my chrome-capture-for-channels directory, but I believe I also have node installed elsewhere for Homebridge)

Has anyone got this running on a NAS? I couldn't find instructions anywhere but with some guesswork, I got this far:

M3U doesn't work, though.

Yes, I set it up on my NAS, but the performance was very so-so, even on a system with an i5 running with 96GB of RAM. I've found using my Mac Mini M1 setup works far more smoothly for launching CC4C channels. The Chrome installation on the NAS is the wonky part... and it meant I couldn't reliably use the "button-click" method in main.js to unmute Peacock live streaming channels (like REELZ). The Mac allows for easier customization until someone can figure out how to bake all that into the install file.

3 Likes

Has anyone tried a hybrid of CC4C and HDMI for Channels?

I'm thinking about the following:

  • Source: Raspberry Pi with HDMI out to the Link Pi, streamed as a custom channel in Channels
  • Tuning: auto-load URLs in Chrome on the Pi (and deal with popups / auto-full screen / etc). Similar to what the tuning in CC4C accomplishes.

If this worked, it feels like the best of both worlds:

  • Flexibility of CC4C: load any URL that might not have a Fire or ATV app, and don't have to worry about apps that don't allow deeplinking

  • Quality of HDMI: high resolution and frame rate without needing a sizable PC

Plenty of people here are smarter than me.... what am I missing?

1 Like

Not sure what happened BUT my CC4C NBC channels are not sizing properly. Ive changed nothing.....But i just remoted in to my dedicated DVR pc and when i load up a CC4C channel any nbc the chrome browser window does not show up BUT the channel plays ok but boxed style?? ive rebooted everthing but no love

You'll have way more issues than that with NBC, namely that at least half of the recordings will freeze up and fail at some point in the vid.

Totally unreliable.

Ive had no major issues with NBC as i dont watch alot or record NBC channels .... BUT it all worked fine till recently then just poof weird chrome issue not showing up etc etc

I heard a rumor that support for AAC audio capture is added around Chrome 128

You can try it by changing main.js:

   mimeType: 'video/webm;codecs=H264,mp4a.40.2',
1 Like

@tmm1
No luck on mine, unfortunately. Windows 11 PC using Chrome 128.0.6613.85, error message below;

node:internal/process/promises:289

  •        triggerUncaughtException(err, true /* fromPromise */);*
    
  •        ^*
    

DOMException: NotSupportedError: Failed to construct 'MediaRecorder': Failed to initialize native MediaRecorder the type provided (video/webm;codecs=H264,mp4a.40.2) is not supported.

Okay, maybe it's in the next version or my information is wrong.

Can try:

   mimeType: "video/webm;codecs=avc1,mp4a.40.2",

EDIT: it works on macOS reportedly

Same error