Jason Dove 9d40caebd6 rework media layout (#22)
* replace media items tables with card grids

* style cleanup

* add basic paging

* sort and page in the db

* optimize sql for movies

* support movie posters

* resize movie posters and store in cache with channel logos

* fix bug preventing folders with more than 50 chars as local media sources

* support tv posters
2021-02-14 00:15:18 +00:00
2021-02-08 21:13:53 -06:00
2021-02-08 21:13:53 -06:00
2021-02-14 00:15:18 +00:00
2021-02-08 21:13:53 -06:00
2021-02-14 00:15:18 +00:00
2021-02-08 21:13:53 -06:00
2021-02-08 21:13:53 -06:00
2021-02-08 21:13:53 -06:00
2021-02-08 21:13:53 -06:00
2021-02-12 22:26:05 +00:00
2021-02-08 21:13:53 -06:00
2021-02-08 21:13:53 -06:00

ErsatzTV

ErsatzTV is pre-alpha software for configuring and streaming custom live channels using your media library. The software is currently unstable and under active development.

Want to join the community or have a question? Join us on Discord.

Current Features

  • Use local media files and optional sidecar NFO metadata; no need for a full media server
  • IPTV server and HDHomeRun emulation support a wide range of client applications
  • Channel-specific streaming mode (MPEG-TS or HLS) and transcoding settings
  • Automatic creation of television media collections
  • Powerful scheduling options such as chronological collection playback throughout the day or over multiple days
  • OpenAPI spec for easy scripting from other languages (available while running at /swagger/v1/swagger.json)
  • Command line project for easy shell scripting

In Development

  • Plex media, metadata and collections
  • Published Docker image

Planned Features

  • Jellyfin media, metadata and collections
  • Meta collections to logically group other collections
  • Run as a Windows service
  • Spots to fill unscheduled gaps

Preview

ErsatzTV UI

ErsatzTV UI

Plex Live TV

Plex Live TV Stream Sintel is © copyright Blender Foundation | durian.blender.org

Running ErsatzTV

The easiest way to run ErsatzTV is with Docker:

docker run -d \
  -e TZ=America/Chicago \
  -p 8409:8409 \
  -v /path/to/appdata/config:/root/.local/share/ersatztv \
  -v /path/to/shared/media:/path/to/shared/media:ro \
  --restart unless-stopped \
  jasongdove/ersatztv

After running ErsatzTV for the first time, configure it by visiting the web UI at http://[address]:8409.

Development

See development documentation.

License

This project is inspired by pseudotv-plex and the dizquetv fork and is released under the zlib license.

Description
Fork of ErsatzTV - custom IPTV channel server (upstream archived Feb 2026)
Readme Zlib 31 MiB
Languages
C# 86.5%
HTML 11.8%
JavaScript 1.4%
Dockerfile 0.1%