Project One-Click: Need help with cc4c

I'm feeling pretty dumb here, as if the answer will be a head smack of realization on my end. But… for reasons not worth getting into, I wiped out my working install of Chrome Capture for Channels, which I had done manually back when it first came out. Now I'm installing it via OliveTin for Channels.

I tested by going to Weatherscan, which works.

When I go to a channel that my m3u has set up to use YouTube TV, I get a login box on the screen for my YouTube TV credentials. The problem is, I don't know where to enter that. With the manual method, if I was sitting at my Mac, I could see that box show up there. But I'm sitting at that Mac now, and although the login box is on my viewing device, I'm not seeing it on the Mac, and there's no indication a Chrome window is open. I'm assuming this is due to it running within Docker, but I don't know how to find that screen.

Any ideas? I searched through the 700+ posts in this thread, but didn't find anything. Thanks for any help!

The cc4c Docker container includes a VNC server so you can "remote in" to the container. This allows for entering credentials, and setting the embedded Chrome to full screen. The VNC server can be found at the IP of your Docker/Portainer installation, with a port # of 5900 -- assuming you left it at the default.

Thank you for the reply. I'm getting a page not found when I try to go to http://192.168.7.180:5900. That's the same server channels is on, and the same IP address I use for channels. I didn't change the Chrome Capture port during setup, and the log does include "HOST_VNC_PORT=5900". I do have a pretty lengthy entry in the log under "Standard Error", if that matters, which I could post here. Also, on an earlier occasion, I clicked the button to install Chrome Capture, and got an error message. So I updated OliveTin, then went back and ran it again. Perhaps that caused issues? Or maybe there are remnants of my initial install hanging around somewhere?

Do you see cc4c running in Portainer? If so, what ports does it show you're using?

It's showing published ports of 5589 and 5900, although when I click it, it takes me to an IP address of 0.0.0.0:5900:

This doesn't sound like you're using a VNC client -- which is what you need to connect to a VNC server.

I'm smacking my head. You're right. I'm now trying the built in VNC client in Finder on the Mac, but getting prompted for a password. Any idea which password I should be using?

Thanks for your help!

No password.

That did it, thanks. Thanks for sticking with a noob on this. For anyone else who might stumble upon this, make sure you have no slashes at the end of your address. I couldn't get things to load until I removed that.

Now I just need to figure out how to update Chrome in this environment, as I'm getting a message that Chrome is out of date, but that's a battle for another day.

Thanks again.

So, I have been keeping my :eyes: on this thread, hoping to learn from @cyberskier 's experience. So far, I have learned that there must be a VNC client for the cc4c to work properly.

Unfortunately, my situation is a bit different as I am not using a Mac or PC as a server for Channels DVR. Everything I have related to Channels is running on Synology NAS. My cc4c container as installed by Project One-Click, is up and running. I do not have a VNC client on the NAS. Is there one for use on Synology? Does cc4c even work properly on Synology? It doesn't have Chrome, or any browser, for that matter.

The VNC client can be on any machine. There is some minimal configuration for the client where you'll be asked the ip:port of the server you want to connect to -- and you'd use the ip of the computer cc4c is running on, and 5900 for the port unless it was overridden during the installation.

Can the chrome browser be on any machine as well. Or, must it be on the same system which is running Channels and/or the cc4c container?

In the Docker version of cc4c, Chrome is included in the container, and is what's used.

Another cc4c in Project One-Click question — How do I change my display resolution in the VNC server?

I recall from my early days running cc4c that a higher resolution was how to eliminate black bars and a small window in Channels, but I can't figure out how to increase the resolution. I've searched online for general ways to do it in Linux, but haven't found anything that translates to this. Thank you.

(By the way, for anyone else who sees this some day, my issue with Chrome supposedly being out of date went away after I restarted either the container or Chrome (I don't recall which).)

1 Like

I'd like to request some help from you on this front. I don't use this container regularly myself, so I don't have a particularly good way to test things. But, I am interested in getting the container version of cc4c in better order.

So, if you could test the following for me, I'll incorporate those changes into Project One-Click. Here's an updated stack that will allow you to change the viewport size. To implement it, stop the cc4c stack and paste in this new compose, along with adding the couple of new environment variables:

version: '3.9'
services:
  cc4c:
    image: fancybits/chrome-capture-for-channels:${TAG}
    container_name: cc4c
    command:
      - sh 
      - -c 
      - |
        Xvfb :99 -screen 0 1920x1080x16 &
        x11vnc -display :99 -forever &
        sed -i '/width: 1920/c\  width: process.env.WIDTH,' main.js;
        sed -i '/height: 1080/c\  height: process.env.HEIGHT,' main.js;
        sed -i '/videoBitsPerSecond/c\        videoBitsPerSecond: process.env.VIDEO,' main.js;
        sed -i '/audioBitsPerSecond/c\        audioBitsPerSecond: process.env.AUDIO,' main.js;
        exec node main.js
    #devices:
      #- /dev/dri:/dev/dri # Uncomment for Intel Quick Sync (GPU) access
    ports:
      - ${HOST_PORT}:5589 # cc4c proxy port
      - ${HOST_VNC_PORT}:5900 # VNC port for entering credentials
    environment:
      - WIDTH=${WIDTH} # Desired viewport width. 1920 suggested.
      - HEIGHT=${HEIGHT} # Desired viewport height. 1080 suggested.
      - VIDEO=${VIDEO} # Desired video streaming rate in bps.
      - AUDIO=${AUDIO} # Desired audio streaming rate in bps.
      - TZ=${TZ} # Add your timezone in the Environment variables section with "name" set to TZ and "value" to your local timezone
    volumes:
      - cc4c:/home/chrome # Creates persistent Docker Volume in /var/lib/docker/volumes for Chrome data and main.js
    restart: unless-stopped
volumes:
  cc4c:
    name: ${HOST_VOLUME} # The filename you'd like Docker to use for the volume.

And the sample env vars:

TAG=latest
HOST_PORT=5589
HOST_VNC_PORT=5900
WIDTH=1920
HEIGHT=1080
VIDEO=8000000
AUDIO=192000
TZ=US/Mountain
HOST_VOLUME=cc4c_config

Hi, I have been trying to get cc4c working for a while now. After scanning/reading through the 1500+ posts in the BETA: Chrome Capture for Channels feed, I'm close to giving up.
I have ordered a linkpi HDMI encoder so that I can try the ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices route instead. While awaiting delivery of the linkpi device, I think I'll make another try on the cc4c today.
The cc4c container is up and running. I get the following on Port 5589:
Screenshot 2024-08-01 8.37.44 AM

I have added the M3U source but the windy and weatherscan channels will not play.
I haven't tried any of the other channels as I'm focusing on these to verify the installation is working.

An encoder is the way to go. cc4c seems to work fine for some folks, but encoders are totally scalable, and purpose built for this kind of thing.

I'm no expert on cc4c as I use encoders for my "daily drivers", but I do have it running, and this is the M3U I use for weatherscan:

#EXTM3U

#EXTINF:-1 channel-id="weatherscan",Weatherscan
chrome://htpc6:5589/stream?url=https://weatherscan.net

Really dumb question, but where do I paste in the new compose? I see where the environmental variables go (I think), but don't see where I'd paste the new compose

Stop the cc4c stack:

Go into the stack editor:

Replace the existing compose with the new one I posted:

Update the environment variables:

Update the stack (no need to re-pull and redeploy in this case):

That's about it for me and cc4c. I'll patiently await delivery of the HDMI encoder and focus my efforts on that method. Thanks for your help! :slightly_smiling_face: