Introducing PrismCast: Browser-based Live TV Capture for Channels DVR and Plex

@hjd has taken over publishing the container. Here's what your Docker Compose should look like in Portainer-Stacks:

services:
  prismcast:
    # 2026.02.09
    # GitHub home for this project with setup instructions: https://github.com/hjdhjd/prismcast.
    # Docker container home for this project : https://ghcr.io/hjdhjd/prismcast.
    image: ghcr.io/hjdhjd/prismcast:${TAG:-latest}
    container_name: prismcast
    hostname: prismcast
    dns_search: ${DOMAIN:-localdomain}
    shm_size: '1gb'
    ports:
      - ${HOST_PORT:-5589}:5589
      - ${HOST_VNC_PORT:-5900}:5900
      - ${HOST_NOVNC_PORT:-6080}:6080
      - ${HOST_HDHR_PORT:-5004}:5004
    environment:
      - DISPLAY_NUM=${DISPLAY_NUM:-99}
      - SCREEN_WIDTH=${SCREEN_WIDTH:-1920}
      - SCREEN_HEIGHT=${SCREEN_HEIGHT:-1080}
      - SCREEN_DEPTH=${SCREEN_DEPTH:-24}
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:5589/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
    volumes:
      - prismcast-data:/root/.prismcast
    restart: unless-stopped
volumes:
  prismcast-data:

And here are some sample env var overrides -- if you need to use any:

TAG=latest
DOMAIN=localdomain
HOST_PORT=5589
HOST_VNC_PORT=5900
HOST_NOVNC_PORT=6080
HOST_HDHR_PORT=5004
DISPLAY_NUM=99
SCREEN_WIDTH=1920
SCREEN_HEIGHT=1080
SCREEN_DEPTH=24

@hjd has taken over publishing the container. Here's what your Docker Compose should look like in Portainer-Stacks:

More like I felt guilty with you having the burden of updating the Docker builds you wrote every time I pushed a release and just automated it. I remain appreciative, and there's even an upcoming feature in the next release that's dedicated to you. :smile: As always, with gratitude.

1 Like

I didn't use Portainer to install Prismcast - I went to the Unraid app store, typed in "prismcast" - it found no results but a dockerhub button appeared - I pushed it and let Unraid figure out how to install and it actually works, but I guess its not maintained - I used Portainer in the past when I ran cDVR in Windows - sounds like I may have to figure out how to use Portainer from Unraid

EDIT: one other thing - the video actually does seem choppy at first, but it seems like if I pause for a second and resume, then enough video buffers up so that it becomes smooth...

Thanks - will try re-installing prismcast via Portainer this weekend

Thank you! I got it working. I’m still getting choppy playback but it’s not from chrome now. I’m on an Apple TV. So it might be the issue that was being noted above.

1 Like

@KineticMan

For FruitDeepLinks sports on PrismCast, I've been playing with PrismCast and the /play API endpoint. It was really straightforward to stream directly to PrismCast without having to build new channels within the PrismCast web interface. Similar to CC4C in use. AND HBO Max links click the play button to start those sporting events which CC4C never did :slight_smile:

Would you consider an FruitDeepLinks "multisource-lanes-PCast.m3u" output file in the Prismcast /play format for ease of use? It would need the PCast url and port similar to the Chrome Capture M3U.

The CDVR custom channel settings source text I'm using as an example:

#EXTM3U

#EXTINF:-1 tvg-id="lane.1" tvg-name="Fruit Lane 1" tvg-chno="25001" group-title="Sports Lanes",Fruit Lane 1
http://192.168.50.18:5589/play?url=http://192.168.50.18:6655/api/lane/1/launch?deeplink_format=http


#EXTINF:-1 tvg-id="lane.2" tvg-name="Fruit Lane 2" tvg-chno="25002" group-title="Sports Lanes",Fruit Lane 2
http://192.168.50.18:5589/play?url=http://192.168.50.18:6655/api/lane/2/launch?deeplink_format=http
2 Likes

After playing around with it more, I was wrong the error is still on the sever side. It will skip in chrome which makes the playback think the fps changed which then creates a larger skip or buffer in the playback. This happens on my shield, chromcast and Apple TV.

Besides being a "10th gen", what are the full specs on your server? Also, can you post what you used to spin this container up?

Thanks for your help. i9 10850k, 32 gigs of ram. Intel arc, igpu and nvidia card. I’m not sure what you mean about how I installed it. I pulled it from the conversation above - I’m still learning.

I think there might be an issue with hardware acceleration in the docker. I’m trying to give the docker either the igpu or the arc but it’s not seeing them - both are idle when playing.

1 Like

Did you use the Docker Compose I posted a few back, or something else?

It's a known issue with the Linux version of Chrome, not Docker.

I used docker run -d … /prismcast:latest

Could you post the full command you used please?

Thanks again for your help with this.

I tried a few:

My last run was an attempt to give it the igpu and avoid the nvidia card so I did:

docker stop prismcast && docker rm prismcast

docker run -d
--name='prismcast'
--shm-size=2g
--device /dev/dri/renderD128:/dev/dri/renderD128
-e "RENDER_DEVICE=/dev/dri/renderD128"
-e "NVIDIA_VISIBLE_DEVICES=none"
-p 5589:5589
-p 5905:5900
-p 6085:6080
-v '/mnt/user/appdata/prismcast':'/root/.prismcast':'rw'
--restart unless-stopped
'Package prismcast · GitHub'

My first few attempts were more like what the GitHub show as didn't give the docker the igpu directly or change the shm size

docker run -d
--name prismcast
--shm-size=1g
-p 5589:5589
-p 5900:5900
-p 6080:6080
-p 5004:5004
-v prismcast-data:/root/.prismcast

How do I completely delete my previous prismcast setup and re-install? I sucessfully updated using Portainer, but the channels seem to be a combination of my previous and the default lineup - I tried deleting the container and deleting the image and re-deploying, but that doesn't work

1 Like

If your PrismCast data is stored in the Docker Volume prismcast-data, stop the stack and then delete that volume in Portainer-Volumes. Restart the stack, and everything will be as new.

The only potential issue I see is the above. What is the path to the left of the colon mounted to?

You mean like where physically? It's in the cache.

That should be fine -- I just wanted to make sure it wasn't an NFS or CIFS share.

I'm running out of ideas. There was another user (@mackid1993), that reported some strangeness with Docker on Unraid -- and as I recall, stuttering was described. Though in his case it was with the CDVR Docker container that was giving these results.

You could try creating a Windows VM, and installing PrismCast directly, especially if your NVIDIA card is available to passthrough to that VM, so that you'd get a GPU in on the fun. :slight_smile:

I was having issues with Docker, Unraid, and SHIELD. The Shield would send RST storms and Windows fixed it.

I ended up giving up switching to Apple TV.

1 Like

Thanks. I'll keep trying too. Chrome shows it's hardware decoding but then all the gpus (including the igpu) are inactive, so something is confused. Thanks again for your help.