CouchTube

Website

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 screenshot

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:

Share:

Similar to CouchTube

ErsatzTV logo

ErsatzTV

Open-source server that turns personal media into scheduled IPTV channels

2.9k
205
Last commit

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.

ZlibActively maintained
Alternative to:
Channels DVR logo
Channels DVR
+1
ChannelTube logo

ChannelTube

Scheduled YouTube channel downloader using yt-dlp

324
24
Last commit

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.

GPL-3.0Actively maintained
Alternative to:
iTubeGo logo
iTubeGo
+2
TubeSync logo

TubeSync

PVR for syncing YouTube channels to your media server

2.8k
165
Last commit

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

AGPL-3.0Actively maintained
Alternative to:
iTubeGo logo
iTubeGo
+2
Meelo logo

Meelo

Self-hosted personal music server focused on music collectors

1.2k
36
Last commit

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

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+9
PASTA logo

PASTA

Batch audio and subtitle track manager for Plex

443
15
Last commit

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.

Actively maintained
Alternative to:
Plex logo
Plex
MeTube logo

MeTube

Web GUI for yt-dlp to download videos from YouTube and other sites

14.3k
1k
Last commit

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.

AGPL-3.0Actively maintained
Alternative to:
4K Video Downloader logo
4K Video Downloader
+10