Replaces the FFmpeg -> MediaMTX -> HLS pipeline with a raw MPEG-TS fan-out architecture: - Go stream.Hub holds ONE upstream connection per active channel and broadcasts the raw TS bytes to all connected browsers via /ts. The IPTV provider only ever sees one IP (the server), no matter how many viewers are watching (shared single-channel model). - Frontend uses mpegts.js to play the raw TS in-browser via MSE, fixing HEVC/H.265 4K streams that HLS could not package. - Dropped FFmpeg, MediaMTX, RTMP/RTSP, HLS proxy, playback/ingest modes, the OBS source toggle, and FFmpeg health stats. - UI look preserved (fullscreen video, collapsible sidebar, status bar, upstream-down banner, hourly playlist auto-refresh). Tradeoff: loses iOS Safari (no MSE/mpegts.js); fixes desktop/Android playback of both H.264 and H.265.
20 lines
676 B
YAML
20 lines
676 B
YAML
services:
|
|
tuner:
|
|
build: .
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
# real1.m3u is mounted read-only as the local source.
|
|
# It is only used when PLAYLIST_USE_LOCAL=true.
|
|
- ./real1.m3u:/data/playlist.m3u.local:ro
|
|
environment:
|
|
RESTREAMER_PORT: "8080"
|
|
PLAYLIST_PATH: "/data/playlist.m3u"
|
|
# Default: fetch playlist from URL on every boot.
|
|
# Set PLAYLIST_USE_LOCAL=true to use real1.m3u instead.
|
|
PLAYLIST_URL: "https://pia.cx/m3u/630xhAmY/smp424GL"
|
|
PLAYLIST_USE_LOCAL: "false"
|
|
# Set to "0" or "off" to disable automatic playlist refresh.
|
|
PLAYLIST_AUTO_REFRESH_INTERVAL: "1h"
|
|
restart: unless-stopped
|