ErsatzTV, a personal IPTV server that turns your own media into live, always on TV channels and streams them to Plex, Jellyfin and Emby through an HDHomeRun tuner, an M3U playlist and an XMLTV guide.
ErsatzTV is an open source personal IPTV server. It turns your own local media, such as movies, shows and music videos, into live, always on television channels that play on a schedule you define, then streams those channels over HLS and MPEG TS. It emulates an HDHomeRun network tuner and publishes an M3U playlist and an XMLTV electronic programme guide, so Plex, Jellyfin, Emby and other IPTV clients can add it as a live TV source and browse a proper channel guide.
A full web interface lets you connect media libraries, build channels, arrange schedules and tune the ffmpeg transcoding, and a REST API is available for automation. It suits home media enthusiasts who want their own broadcast style channels, and anyone building a private live TV lineup from content they already own.
ErsatzTV has no login of its own on its management interface, so cloudimg establishes a secure by default posture before the interface is ever reachable. ErsatzTV is kept bound to the local machine by a host firewall and placed behind a reverse proxy, and that public entry point is only brought up after a unique administrator password has been generated on each instance's first boot, hashed for the reverse proxy and written to a root only file, so no two instances share a login and there is no window in which an unauthenticated interface is exposed. The endpoints your players need, the tuner, the playlist and the guide, stay open without a password so Plex, Jellyfin and Emby keep working while the admin interface stays protected. The base is fully patched with unattended security upgrades enabled, and every deployment is paired with a step by step deploy guide and backed by 24/7 cloudimg support.
Real screenshots taken while testing this image against its deployment guide.