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

Same HBO issue on version 1.10.2


[2026/05/27 07:00:51.466 PM] Login mode started for https://play.hbomax.com.
[2026/05/27 07:02:18.155 PM] Login tab was closed. Ending login mode.
[2026/05/27 07:02:18.261 PM] Login mode ended.
[2026/05/27 07:04:18.835 PM] [ERROR] [hbo-5tqmov] Stream setup failed for https://play.hbomax.com: Channel selection failed: HBO channel rail not found on /channels. HBO Max may have restructured the page, or the subscription may not be active.
[2026/05/27 07:04:18.835 PM] [hbo-5tqmov] Stream ended after 11s (setup failed).
[2026/05/27 07:04:18.835 PM] [WARN] Stream setup failed for hbo: Failed to start stream.
[2026/05/27 07:04:30.835 PM] [ERROR] [hbo-suh1b4] Stream setup failed for https://play.hbomax.com: Channel selection failed: HBO channel rail not found on /channels. HBO Max may have restructured the page, or the subscription may not be active.
[2026/05/27 07:04:30.836 PM] [hbo-suh1b4] Stream ended after 11s (setup failed).
[2026/05/27 07:04:30.836 PM] [WARN] Stream setup failed for hbo: Failed to start stream.
[2026/05/27 07:04:42.841 PM] [ERROR] [hbo-8sfnda] Stream setup failed for https://play.hbomax.com: Channel selection failed: HBO channel rail not found on /channels. HBO Max may have restructured the page, or the subscription may not be active.

@DaveTheNerd you can find local network access under Privacy and Security > Local Network Access. There you can enable node's network access.

That's where the setting is, but there's no way to enable network access for node there. It doesn't show up asking for permission, and there's no plus(+) sign to add it manually.

Trying to get PrismCast to support higher resolution other than 1920x939. The server I am running is Debian 13 with no graphical interface installed. Below is the screenshot of the warning stating it will default to 720p. Using docker as well.

I tried to add environment height and width but didn't seem to make a difference. Just keeps defaulting to 1920x939

You need to choose a resolution higher than what you want to use. For example if you want 1920x1080, your env variables need to be 2560 × 1440

OK, so I moved PrismCast to a Mac Mini. I installed it natively with Homebrew, not in Docker.

And the docs say:

Headless Servers

macOS works without a physical monitor. Windows and Linux servers without a display need an HDMI dummy plug or a virtual display adapter to provide a display resolution for Chrome to render into.

But I still can't get higher than 720p.

Am I missing something here?

What resolution do you have your "Display" set to when you VNC/Screen Share into your Mac mini? I know that Chrome needs to be able to launch a window that's large enough to capture your desired resolution. The "Your display cannot support this resolution" seems to indicate that at least PrismCast doesn't think your (virtual) display size is of a high enough pixel count.

I also found PrismCast's http://x.x.x.x:5589/debug endpoint to be helpful when troubleshooting things (full disclosure: I just cloned the repo and pointed Claude Code at it to help me troubleshoot the previously-mentioned local network access issue, and through that it surfaced the /debug interface :wink:).

I don't know. I'm just using the built in screen sharing. I don't keep it open anyways. is that something you have to do?

Yes I totally understand that. But I can't figure out how to get it to do that. I also have an HDMI dummy plugged in to mimic a monitor. But I can't figure out on Debian 13 or if its Prismcast that doesn't want to see a higher resolution.

I defaulted the grub to 1920x1080. But PrismCast didn't seem to care.

Docker knows nothing of your host's HDMI port, so nothing you do at the host level is going to make any difference. The PrismCast container uses Xvfb (a virtual X11 display server), which is what you're controlling with the env vars. Setting those to 2K resolution should give you the ability to change your PrismCast Quality Preset.

Starting PrismCast with noVNC support...
  Display: :99
  Screen: 2560x1440x24
  VNC Port: 5900
  noVNC Port: 6080
  PrismCast Port: 5589
  Data Directory: /root/.prismcast
  Intel GPU: /dev/dri/renderD128 present (LIBVA_DRIVER_NAME=iHD)
Starting Xvfb...
screen 0 shmid 0
WARNING: Kernel has no file descriptor comparison support: Operation not permitted
Xvfb started successfully (DRI3: -vfbdevice /dev/dri/renderD128).
Starting x11vnc...
Xlib:  extension "DPMS" missing on display ":99".
The VNC desktop is:      prismcast:0

0
x11vnc started successfully.
Starting noVNC...
Warning: could not find self.pem
Using installed websockify at /usr/bin/websockify
Starting webserver and WebSockets proxy on port 6080
WebSocket server settings:
  - Listen on :6080
  - Web server. Web root: /usr/share/novnc
  - No SSL/TLS support (no cert file)
  - proxying from :6080 to localhost:5900
noVNC started successfully.
==============================================
  noVNC available at: http://localhost:6080/vnc.html
  PrismCast UI at:    http://localhost:5589
==============================================
Starting PrismCast...
Navigate to this URL:
    http://prismcast:6080/vnc.html?host=prismcast&port=6080
Press Ctrl-C to exit
[2026/05/28 09:02:38.192 AM] Starting PrismCast v1.10.3 with configuration:
[2026/05/28 09:02:38.192 AM]   Configuration file: /root/.prismcast/config.json
[2026/05/28 09:02:38.192 AM]   Chrome profile: /root/.prismcast/chromedata
[2026/05/28 09:02:38.192 AM]   Server port: 5589
[2026/05/28 09:02:38.192 AM]   Quality preset: 1080p-high (1920×1080)
[2026/05/28 09:02:38.192 AM]   Capture codecs: h264, hevc
[2026/05/28 09:02:38.192 AM]   Video bitrate: 20000000
[2026/05/28 09:02:38.192 AM]   Max retries: 4
[2026/05/28 09:02:38.192 AM]   Max concurrent streams: 10
[2026/05/28 09:02:38.192 AM]   Circuit breaker threshold: 10 failures in 5 minutes
[2026/05/28 09:02:38.192 AM]   Chrome executable: /usr/local/bin/chrome-no-sandbox
[2026/05/28 09:02:38.192 AM]   HLS segment duration: 2s, max segments: 10
[2026/05/28 09:02:38.192 AM]   HDHomeRun emulation: enabled (port 5004)
[2026/05/28 09:02:38.196 AM] Using FFmpeg at: /usr/lib/node_modules/prismcast/node_modules/ffmpeg-for-homebridge/ffmpeg.
[2026/05/28 09:02:38.218 AM] Loaded 1384 channels (214 user, 1170 predefined).
[2026/05/28 09:02:39.014 AM] Chrome ready: Chrome/148.0.7778.167 (GPU: Mesa Intel(R) Graphics (ADL-N)).
[2026/05/28 09:02:44.923 AM] Capture system verified successfully.
[2026/05/28 09:02:45.050 AM] CDP proxy listening at /cdp.
[2026/05/28 09:02:45.051 AM] PrismCast is now listening on 0.0.0.0:5589.
[2026/05/28 09:02:45.052 AM] HDHomeRun emulation is now listening on 0.0.0.0:5004 (DeviceID: 2A87050E).

Docker Compose for Portainer:

services:
  prismcast:
    # 2026.03.16
    # GitHub home for this project with setup instructions: https://github.com/hjdhjd/prismcast.
    # Docker container home for this project: https://github.com/hjdhjd/prismcast/pkgs/container/prismcast.
    image: ghcr.io/hjdhjd/prismcast:${TAG:-latest}
    container_name: prismcast
    hostname: prismcast
    dns_search: ${DOMAIN:-localdomain}
    shm_size: '2gb'
    devices:
      - /dev/dri:/dev/dri
    ports:
      - ${HOST_PORT:-5589}:${PORT:-5589}
      - ${HOST_VNC_PORT:-5900}:${VNC_PORT:-5900}
      - ${HOST_NOVNC_PORT:-6080}:${NOVNC_PORT:-6080}
      - ${HOST_HDHR_PORT:-5004}:${HDHR_PORT:-5004}
    environment:
      - PORT=${PORT:-5589}
      - VNC_PORT=${VNC_PORT:-5900}
      - NOVNC_PORT=${NOVNC_PORT:-6080}
      - HDHR_PORT=${HDHR_PORT:-5004}
      - DISPLAY_NUM=${DISPLAY_NUM:-99}
      - SCREEN_WIDTH=${SCREEN_WIDTH:-1920}
      - SCREEN_HEIGHT=${SCREEN_HEIGHT:-1080}
      - SCREEN_DEPTH=${SCREEN_DEPTH:-24}
      - TZ=${TZ:-America/New_York}
      - LIBVA_DRIVER_NAME=${LIBVA_DRIVER_NAME:-iHD} # Override below with LIBVA_DRIVER_NAME=i965 for older Intel GPUs (pre-Gen 9 aka Skylake).
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:${PORT:-5589}/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
    volumes:
      - prismcast-data:/root/.prismcast
    restart: unless-stopped
volumes:
  prismcast-data:

Sample Env Var Overrides:

TAG=latest
DOMAIN=localdomain tailxxxxx.ts.net
HOST_PORT=5589
HOST_VNC_PORT=5900
HOST_NOVNC_PORT=6080
HOST_HDHR_PORT=5004
DISPLAY_NUM=99
SCREEN_WIDTH=2560
SCREEN_HEIGHT=1440
SCREEN_DEPTH=24
CDVR_STARTING_CHANNEL=13001
TZ=America/Denver
DEVICES=true
LIBVA_DRIVER_NAME=iHD

I will try this more later tonight when I have time.

I think it worked. It is no longer complaining about the resorting to 720p.

This is what I set the environment variables to.

-e SCREEN_WIDTH=2560 -e SCREEN_HEIGHT=1440 -e SCREEN_DEPTH=24 -e TZ=America/Chicago \

This is not a project I would recommend spinning-up from the command line. Docker Compose via Portainer is the way to go. Too easy to get things wrong, and to keep track of what you used. Just to give you an example, this would be about the equivalent docker run command:

docker run -d \
  --name prismcast \
  --hostname prismcast \
  --dns-search localdomain \
  --shm-size=2gb \
  --device /dev/dri:/dev/dri \
  -p 5589:5589 \
  -p 5900:5900 \
  -p 6080:6080 \
  -p 5004:5004 \
  -e PORT=5589 \
  -e VNC_PORT=5900 \
  -e NOVNC_PORT=6080 \
  -e HDHR_PORT=5004 \
  -e DISPLAY_NUM=99 \
  -e SCREEN_WIDTH=2560\
  -e SCREEN_HEIGHT=1440\
  -e SCREEN_DEPTH=24 \
  -e TZ=America/Chicago \
  -e LIBVA_DRIVER_NAME=iHD \
  --health-cmd='wget -q --spider http://localhost:5589/health || exit 1' \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  --health-start-period=30s \
  -v prismcast-data:/root/.prismcast \
  --restart unless-stopped \
  ghcr.io/hjdhjd/prismcast:latest

I'm running PrismCast natively on a headless Mac mini as well. I got a 4K HDMI dongle, which allows me to set a screen resolution of up to 3840x2160, however this still didn't seem to enable at least 1080P. I believe the developer said you have to have a display greater than 4K to enable 4K.. and with my dongle setting to 4K, remotely connecting to the tiny screen was more headache than it was worth, so I gave up.

A Mac doesn't need an HDMI dongle.
I run it natively on a M4 Mac Mini with Display set to 3840 X 2160.
I attached it to my 4K monitor to set it, then it runs headless, as I switch the monitor to my Windows PC.
I use Remote Ripple to connect to its screen sharing.

1 Like


I definitely don't get other display options running headless. Even after plugging in the dongle, setting to 4K and then removing it, I'm only presented with these options. Mac mini M4 on MacOS 26.5

Thanks, I do have portainer as well. Used a textpad file for the command line. So I kinda did the same thing as portainer ;-). I was just installing this for the first time and wanted to make sure most of it works before I buy a service I can try with it.

Personally, and this probably because I'm away from home base for half the year, but I find the GL.inet Comet to be far superior to a dongle.

I set mine to a 2K resolution, which works great for PrismCast @ 1080p, and gives me a very robust way to access my Mac-Mini-M4 in a KVM fashion -- which is the closet thing to having a monitor and keyboard attached sitting locally:

PrismCast:

GlKVM browser tab:

Same Mac and OS as yours
M4 Mac Mini Tahoe v26.5

This is a screenshot from Remote Ripple with no display attached.
Appears it remembers the display I had attached when I set the resolution.