Should this work with the fancybits image? It doesn't seem to for me.
Tbh I’ve never tried that image. There was some other guides out there how to inject full screen that I experimented with to get this one to work.
Sorry wish I could help more.
Kineticman can you port this main.js to new system? There is a lot of code not compatible here..
I'll try to search for any other solutions tomorrow. I was debating whether to post when I saw that @joagomez had just done so. FWIW, I tried using @bnhf's image but I always get an illegal instruction error.
I can sure try— is there a certain CC4C image you want me to experiment with?
Hello,
I am looking for some help please.
I am trying to get CC4C for Windows working. I think I have installed everything correctly but I cannot get it to work. It will open a Chrome page on the server okay but will timeout on Apple TV.
The is the error I get in Chrome on the server page.
You are using an unsupported command-line flag: --no--sandbox. Stability and security will suffer.
This is the source I am using:
#EXTINF:-1 channel-id="NBC Local",NBC Local (NBC)
chrome://localhost:5589/stream?url=https://www.nbc.com/live?brand=nbc-news&callsign=NBC
This is my error report.
[2025/12/04 13:39:31.587] failed to start browser page Watch the NBC News Live Stream - NBC.com ProtocolError: Target.setDiscoverTargets timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.
at new PuppeteerError (B:/~BUN/root/cc4c.exe:10352:12)
at new ProtocolError (unknown:1:28)
at new Callback (B:/~BUN/root/cc4c.exe:16719:21)
at create (B:/~BUN/root/cc4c.exe:16648:36)
at initialize (B:/~BUN/root/cc4c.exe:23174:34)
at initialize (B:/~BUN/root/cc4c.exe:23173:26)
at _attach (B:/~BUN/root/cc4c.exe:23431:43)
at _attach (B:/~BUN/root/cc4c.exe:23422:23)
at _create (B:/~BUN/root/cc4c.exe:23389:28)
at _create (B:/~BUN/root/cc4c.exe:23382:30)
at launch (B:/~BUN/root/cc4c.exe:89188:60)
at processTicksAndRejections (native:7:39)
[2025/12/04 13:39:31.589] GET /stream?url=https://www.nbc.com/live?brand=nbc-news&callsign=NBC from ::1 responded 500 in 180032.687 ms
Edit: I think I found the problem. NBC Live is News only no Live TV.
I'm getting a hdcp error with chrome 142 on macOS which is lowering my resolution from 720p50 to 540p25.
Any way around this? Do I need a different version or browser?
Also my website needs to click a button to go fullscreen. In the source it is called span.toggle-fullscrren
How would I go about automating this click?
I'm trying to run @bnhf 's version of cc4c in a Proxmox LXC in order to make use of GPU device passthrough. I've setup a Debian bookworm LXC with all dependencies using the Dockerfile as a guide. Everything looks good when running ./start.sh but when I try to capture something, I see the expected output about starting chrome but then it prints the following and exits.
[2025/12/18 17:30:44.197] [Info] Restarting following first-run puppeteer-stream extension installation
I'm only mildly proficient in JS and am mostly ignorant of puppeteer so any hints at where to look for the problem would be most welcome.
It doesn't look like you used the step-by-step I posted for creating a cc4c LXC in Proxmox:
BTW, it's no problem to pass an iGPU through to this LXC, but neither Chrome or Puppeteer really make use of it. It works when viewing something like Weatherscan, but I've never seen any other sign of hardware acceleration kicking-in.
If your Proxmox server has decent specs, and you follow the recommendations in the thread for vCPUs and memory, the LXC version of cc4c runs well without it.
No, I didn't. I didn't even know of that thread nor did I think to look for something so specialized. I will check it out when I next have time, probably Monday.
I thought someone had gotten it to work or perhaps it was just wishful thinking after seeing it mentioned in the docs. I'm still mystified as how some (many?) of you get 1080 video working. Even with my R9 9950x, I can only get smooth video at 720.
Even if the GPU acceleration doesn't work, I still need a platform to try to test fullscreen fixes for ESPN+. @KineticMan's fix didn't work for me with @tmm1's Docker image and your image doesn't work for me at all because of the illegal instruction issue.
Howdy folks. Very new to this forum and platform. Found a post on kayo streams working through channels dvr via a program called CC4C. Bit interested in getting this working as I've got something similar working in tivimate for Foxtel channels.
Current setup is my portainer on my NAS has channels dvr installed, and working. Got a desktop and a laptop with cc4c installed from the GitHub fancy bits repo. So far on the desktop I'm able to get the stream playing in chrome, but for some reason capturing never begins and never sends to channels?
Thanks to @tree2369 for helping me so far.
@KineticMan, would you mind explaining the logic in your change? My JS knowledge isn't all that good but I think there might be a bug, at least in my case. Specifically, why is globalThis.__cc4c_sentFullscreen cleared in armFullscreenFallback() and why isn't it checked in the "Handle ESPN" case?
At the timeout, I see the video switch to fullscreen and then right back to non-fullscreen. I kind of worked around the issue by commenting out the first two invocations of xdotool leaving only the ones in the ESPN and NBC cases in place. With that, the video switches to fullscreen after the timeout and then stays that way.
Also, does anyone know the special logic for Peacock, Spectrum, etc. in the @tmm1' s original code? If possible, I'd prefer to switch to fullscreen as soon as possible. I started to test some ideas by hooking hooking into the code that matches on peacock.com to also match on espn.com. As far as I could tell, though, control never got to the point where any of the special cases were matched.
Hey there. To be honest, I don't even remember exactly WHY I did what I did, but you are right - it certainly is a bug.
"Why is globalThis.__cc4c_sentFullscreen cleared in armFullscreenFallback()?"
Bug: It shouldn't be! It should only be cleared once at the start of each NEW stream request, not every time we arm the fallback.
"Why isn't it checked in the 'Handle ESPN' case?"
Bug: It absolutely should be! Every place that sends the fullscreen key needs to check this flag first to prevent duplicates.
Let me mess around with it today and patch it. All I remember it was a real PITA to get it to work, and once it did, I walked away. 
Speaking of your fullscreen option, is there a way to make it work for other channels not in lanes? For example, I have the Golf channel in a separate custom channel and if I were to change the main js, it wouldn't work with the required schema. Or would it?
Unless of course you could get the Golf channel in one of your projects
.
what handler does Golf channel require to go full screen? it can be added.
and your other request-- maybe? golf channel have their own app?
I think they have an app, I'm using the website currently. The below is what I added to the original main.js file. It invokes fullscreen and unmutes the video.
// Handle Golf Channel
else if (u.includes('golfchannel.com')) {
console.log('URL contains golfchannel.com')
try {
// Click the full screen button
await delay (1000)
await page.keyboard.press('KeyF');
console.log("Pressed F");
// Unmute Audio
await delay (1200)
await page.keyboard.press('KeyM');
console.log("Pressed M");
console.log('Set Golf Channel to Full Screen and Unmute')
} catch (e) {
console.log('Error for golfchannel.com:', e)
}
Okay. I'll take another look at the original special case code. I can see a button to toggle full screen in the browser console. I should just need to figure out how to detect ir programmatically.
Does anyone else have to login to NBC/Bravo every few hours? In my docker cc4c instance I can't seem to stay logged in so when tuning to an NBC or Bravo channel it often goes to a "User Needs to Re-Authenticate" page.
Hey folks. I'm getting closer to getting kayo streams working on channels using @tree2369 method, however I'm getting rather stuck on a particular part of the js file.
I'm using ChatGPT at the moment to try and help, but wondering what other js code people have been using for cc4c on windows where it successfully loads chrome, then unpacks the required extension used for video capture, then loads a stream and then is able to start capturing!
The furthest I've gotten this far is chrome browser loads, chrome loads ext, chrome loads kayo stream, but capture never starts. Thanks all and happy new year to everyone!!!
Morning folks,
I just posted on the kayo fir channels forum page but should let this forum know as well of my findings. For my setup, using the suppled github instructions of "bun main.js" completely made the kayo script just not work at all. As soon as I installed node.js after some chatgpt research, the CC4C app through the guthub repo now works flawlessly using "node main.js". Not sure if this is expected behavior, but for anyone have issues with cc4c on windows, try with node instead of bun. Happy new year all