Chrome Capture for Channels

Interesting. I'd like to get to the bottom of that, as it's the same docker container -- just replacing the hard coded bitrates with environment variables.

Would mind posting screenshots of the variables you used?

1 Like

@billvv, When I first set up my CC4C system, which is an old standalone PC, the screen was set to turn off after a couple hours. When this would happen the video would become choppy. I don't believe the Chrome window needs to be on top, but for me, it needed to be on an active display. In the end, I made this dedicated machine, headless and set the display to never turn off.

Seems you have plenty of horsepower there. A separate GPU will take quite a bit of burden off the CPU. I have an old GTX1050 running on mine, and chrome makes good use of it.

Let's try a few things if you wouldn't mind:

First, let's try making the VNC server a one shot deal, by eliminating the -forever option. And second, let's write our desired bitrates directly to the main.js file (just like you did in your modification), rather than using env vars in the .js. The new docker-compose would look like this:

version: '3.9'
services:
  chrome-capture-for-channels:
    image: fancybits/chrome-capture-for-channels:latest
    container_name: cc4channels
    command:
      - sh 
      - -c 
      - |
        Xvfb :99 -screen 0 1920x1080x16 &
        x11vnc -display :99 &
        sed -i '/videoBitsPerSecond/c\        videoBitsPerSecond: ${VIDEO},' main.js;
        sed -i '/audioBitsPerSecond/c\        audioBitsPerSecond: ${AUDIO},' main.js;
        exec node main.js
    #devices:
      #- /dev/dri:/dev/dri # Uncomment for Intel Quick Sync (GPU) access
    ports:
      - 5589:5589 # cc4channels proxy port
      - 5900:5900 # VNC port for entering credentials
    environment:
      - VIDEO=${VIDEO}
      - AUDIO=${AUDIO}
      - TZ=${TZ} # Add your timezone in the Environment variables section with "name" set to TZ and "value" to your local timezone
    volumes:
      - cc4channels:/home/chrome # Creates persistent Docker Volume in /var/lib/docker/volumes for Chrome data and main.js
    restart: unless-stopped
volumes:
  cc4channels:

Other than the one shot VNC server we're exactly the same as the original.

I think its chrome capture in general that is not up to my picky standards.
When I was watching it last night, I thought it was pretty good.
Today, with or without portainer, it just seems like the framerate isn't up to snuff.
Its watchable, just kind of jerky I guess....

1 Like

Had a chance to do some testing. I think when I started this I was at 116.0.5845.96. Forgot I re-enabled updates. Everything seems to be running fine with NBC Streams shuddering/buffering but video continues instead of freezing. Checked the version and it was at 116.0.5845.111. It updated to 116.0.5845.141 and also seems to be working fine. Not sure when the freezing video started, but at this moment running fine like it was on v114. I'll do some random recordings and see if they all are fine and report back.

My setup for reference is a Mini PC running Windows 11 with just CC4C running and video output at 4K. CDVR is on a Pi4B. Not endorsing but I got it off Amazon: "KAMRUI Mini PC,AMD Ryzen 5 5560U (6C/12T, up to 4.0 GHz), Mini Computer Tower with Dual Channel 16GB DDR4 512GB SSD,Small Desktop Computers Windows 11 Pro,4K Triple Display,BT4.2/WiFi 5/Dual LAN" Looking at the resources, way more power than CC4C needs but if it's stable, I'll just leave it dedicated. Thanks.

1 Like

So I think I figured out my problem. I had a little custom-made .exe program running minimized (a cmd window) that automatically creates .ts streams from my web-cam and puts them in a folder which then gets turned into an .m3u. I have this setup for Channels to be able to show my webcam as a channel. I used to use a simple rtsp link as a custom channel which seemed to work fine, but then several months ago, all of a sudden I started noticing Channels either taking too long to load the camera, or, there would be no sound. So I came across this other method which has been working. But to finally get to my point...LOL! It seems when this program is running, that's when I get all kinds of buffering and freezing issues on a client with CC4C. Sure enough, I closed the program, and then tried loading up the various CC4C channels, and wallah...they play just fine. I wonder if it has something to do with FFMPEG. My aforementioned custom program heavily utilizes that, and I think CC4C does as well? Perhaps with my hardware setup, you can't have multiple things running at the same time which utilize FFMPEG if you want something to operate smoothly?

Does anyone got a list of services that works with this?

We know Hulu, Paramount+, the Roku Channel, Spectrum, Peacock, Philo and YTTV works

From my experience

Sling works. Tried with freestream and it worked well
Fubo works.
DTV don't work.
VIX somewhat works but the audio is muted so only way VIX will work is as a channel for YTTV or Sling.

1 Like

For anyone looking for a solution for PBS Kids:

1 Like

I have a Mikrotik router that has a built-in Wireguard server which uses udp protocol, will CC4C work over that protocol? I have a pc in a remote location that I can connect to (two-way connection) on which I would like to install CC4C and then run through my router at home. Any ideas? Thanks.

1 Like

Not my area of expertise, but CC4C is pretty simple to get up and running. So, I'd get it working locally, and then give the remote PC a try.

2 Likes

Thanks @sheepy, I was able to get it running on a local machine already. I also tested it in a different pc in the same household and was able to get it running there too. Now is the big test... :smile:

1 Like

The Roku Channel, Spectrum, Peacock.

1 Like

I tried this again this morning and its working perfectly.
No Idea why.....

Things like this drive me crazy.
I have it working with Showtime on Paramount +
Maybe the framerate of movies is more agreeable.
I will try some sports later and see if that is what I am seeing.

Thanks again!

1 Like

How do you get Peacock to default to Volume On? It always starts Muted for me.

I have the same issue.

I have tried several things - it's strange that Peacock's web player would default to Mute. I can't figure out a good workaround. Was hoping someone here did.

Same issue on Yes Network Ive tried a few things BUT don't understand coding to force the Un-Mute button to be "clicked"

For those who need it, yes, this can be a solution for NFL Network:

Wonder if @tmm1 has a solution?

1 Like