CouchTube
YouTube-based frontend that simulates a scheduled TV channel
259 stars 10 forks last commit first released GPL-3.0
Actively maintained
Last commit 19 Mar 2026.

CouchTube is a lightweight Go application that recreates a TV-channel experience by scheduling playback of curated YouTube videos from user-provided JSON playlists. It presents channel lists and plays specified video sections according to the current time so viewers see consistent, time-aligned playback.
Key Features
- Time-based scheduler that maps channel playlists to the current time so users see the same video for a given channel at the same moment.
- JSON-based channel and video format (channels → videos with id, sectionStart, sectionEnd) for easy sharing and customization.
- Trims playback to a specified sectionStart/sectionEnd within each video for curated excerpts rather than full videos.
- Skips videos that are private, restricted, or disabled for embedding and advances to the next available item.
- Single-file SQLite database for local state and pre-populated channel lists via a videos.json bundle.
- Container-friendly distribution with a provided Docker image and docker-compose configuration.
- Configurable via environment variables (port, DB file path, JSON file path, full-scan and read-only modes).
Use Cases
- Ambient or background “TV channel” streams for co-watching, events, or office displays.
- Community-maintained themed channels where contributors submit shared JSON playlists of clips.
- Curated presentation mode for installations or kiosks that play selected video excerpts on a schedule.
Limitations and Considerations
- Playback depends on the availability and embeddability of external videos; private or non-embeddable videos will be skipped.
- Basic error handling and early-stage development: expect occasional bugs and limited production hardening.
- Scheduling consistency requires correct server time; deployments should ensure accurate system clocks.
CouchTube is intended for simple, shareable channel-style playback of existing videos using a compact configuration format. It is focused on ease of customization and simple deployment rather than complex streaming infrastructure.
Categories:
Tags:
Tech Stack:
Similar to CouchTube

ErsatzTV
Open-source server that turns personal media into scheduled IPTV channels
ErsatzTV is an open-source media server that creates scheduled, EPG-driven IPTV-style channels from local libraries or Plex/Jellyfin/Emby, with hardware transcoding and M3U/XMLTV output.

ChannelTube
Scheduled YouTube channel downloader using yt-dlp
Fetch and synchronize video or audio from YouTube channels on a schedule using yt-dlp. Runs in Docker and can trigger Plex/Jellyfin library scans.

TubeSync
PVR for syncing YouTube channels to your media server
TubeSync is a YouTube PVR that automatically indexes channels or playlists, downloads new videos, and updates Plex or Jellyfin with organized local media.

Meelo
Self-hosted personal music server focused on music collectors
Open-source self-hosted music server for collectors with flexible metadata parsing, multiple releases/versions support, music-video handling and Docker deployment.

PASTA
Batch audio and subtitle track manager for Plex
Client-side web app to inspect and batch-change audio and subtitle tracks on Plex Media Server. Provides a GUI for series-, season-, or episode-level track and subtitle updates.

MeTube
Web GUI for yt-dlp to download videos from YouTube and other sites
A lightweight web interface for yt-dlp (youtube-dl fork) that manages queued downloads, playlists, and filename templates via Docker or local Python/Angular setup.





