CouchTube
YouTube-based frontend that simulates a scheduled TV channel

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 Services

Jellyfin
Self-hosted media server for managing and streaming your library
Jellyfin is a free, self-hosted media server to organize, manage, and stream movies, TV, music, and photos to web, mobile, and TV clients.

Cobalt
Ad-free web media downloader for public social platforms
Cobalt is a self-hostable web media downloader for saving publicly accessible videos and audio from supported social platforms via a simple paste-a-link interface and API...
SRS (Simple Realtime Server)
High-performance real-time media server for live streaming and WebRTC
SRS (Simple Realtime Server) is a high-efficiency media server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181 for real-time streaming.

Kodi
Open source home theater and media center software
Kodi is an open source media center for organizing and playing local and networked video, music, and photos with a TV-friendly interface and add-on ecosystem.


Invidious
Privacy-focused alternative web front-end for YouTube
Invidious is a lightweight, privacy-focused alternative front-end for YouTube with subscriptions, playlists, and an API—without Google accounts, ads, or tracking.

PeerTube
Federated video hosting and streaming with P2P delivery
PeerTube is a decentralized, ActivityPub-federated video hosting platform with live streaming, P2P WebRTC delivery, and customizable community-run instances.
JavaScript
Go
HTML
Docker
CSS