
ErsatzTV
Open-source server that turns personal media into scheduled IPTV channels
2.9k stars 205 forks last commit first released Zlib
Actively maintained
Last commit 27 Jul 2026.

ErsatzTV transforms a personal media library into scheduled, live TV-style channels with Electronic Program Guide (EPG) support and standard IPTV outputs. It runs on Windows, Linux, and macOS, integrates with Plex, Jellyfin, and Emby, and uses FFmpeg-based profiles for streaming and transcoding.
Key Features
- Create custom, scheduled channels and playlists from local files or synchronized media servers
- EPG support with XMLTV export and M3U playlists for client consumption
- Hardware-accelerated transcoding support (NVENC, QSV, VAAPI, AMF, VideoToolbox) via configurable FFmpeg profiles
- Integrations with Plex, Jellyfin, and Emby for one-way metadata synchronization
- Streaming output compatible with common clients (HLS and MPEG-TS modes) and configurable streaming profiles
- Local library scanning with NFO metadata fallback and path-replacement support for media-server-driven libraries
- Cross-platform packaging and optional containerized deployment
Use Cases
- Build a personalized IPTV lineup to stream your movie/TV/music-video collections to TVs and devices
- Unify multiple media servers (Plex/Jellyfin/Emby) into scheduled channels and EPG-driven guides for client DVR/Live TV features
- Create always-on background or themed channels (music videos, curated shows, tutorials) for home or small deployments
Limitations and Considerations
- Plex client integration requires a Plex Pass on the client side and supports MPEG-TS streaming mode for direct Plex playback
- Hardware transcoding can require careful FFmpeg profile configuration and may exhibit platform- or driver-specific issues (e.g., QSV/encoder edge cases)
- When syncing from Plex/Jellyfin/Emby, only Movies and Shows are supported; other media kinds require local libraries
ErsatzTV is a community-driven, open-source project designed for self-hosted personal media streaming and channel scheduling. It focuses on flexible channel creation, broad client compatibility, and configurable transcoding pipelines to suit a range of home media setups.
Categories:
Tags:
Tech Stack:
Similar to ErsatzTV
CouchTube
YouTube-based frontend that simulates a scheduled TV channel
CouchTube is a Go application that schedules and plays curated YouTube videos as TV-style channels using JSON playlists, with Docker and SQLite support.
Emby
Personal media server for streaming your library to any device
Emby is a personal media server that organizes and streams your movies, TV, music, photos, and home videos to apps, browsers, smart TVs, and DLNA clients.

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.

Navidrome Music Server
Lightweight open-source web music server and streamer
Open-source web music server that streams personal music collections via a modern web UI and Subsonic-compatible APIs; supports large libraries and on-the-fly transcoding.
Youtarr
Automated YouTube downloader and organizer for media servers
Self-hosted web app to auto-download YouTube channels, organize media with metadata, and schedule downloads for Plex, Jellyfin, Emby, and Kodi.

Riven
VFS-based automated media management and streaming platform
Open-source media management system that exposes a FUSE-based virtual filesystem, automates discovery/scraping/downloading, and integrates with Plex/Jellyfin/Emby.
