ErsatzTV

Stream custom live channels using your own media.

  • Media Applications
  • Other
  • Tools & Utilities
Stream custom live channels using your own media.

Nvidia GPU Use
Using the Unraid Nvidia Plugin to install a version of Unraid with the Nvidia Drivers installed and
add --runtime=nvidia to "extra parameters" (switch on advanced view) and
copy your GPU UUID to NVIDIA_VISIBLE_DEVICES.

Intel GPU Use
Edit your go file to include:
modprobe i915
, save and reboot, then
add --device=/dev/dri to "extra parameters" (switch on advanced view)

Platform availability

Available on 2 of 6 install platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox
  • Helm (not listed)

Also on Docker Hub and GitHub

Health score

81/100 Excellent

Maintained
100last commit 3 days ago
Popular
702,996 GitHub stars
Easy to install
452 install platforms, install notes, Docker image
Light to run
95500 MB minimum RAM, runs on ARM
How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today, links checked 9 days ago

GitHub stars
2,996
Open issues
0
Last commit
2026-10-06
Latest release
v26.11.0
License
Zlib
Activity
rising

Checked 3 days ago - source: GitHub (ErsatzTV/ErsatzTV)

Resources & Compatibility

Minimum requirements: 500 MB RAM. ARM (e.g. Raspberry Pi) is supported.

Checked 10 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Let TV apps find your virtual tuner ErsatzTV advertises itself to TV apps through discover.json and lineup.json, which tell the app where to find the channel list and streams. If that address or port is not reachable on your network, the TV will not see the virtual channels or guide. source
  • Channel streams use M3U8 URLs Each virtual channel is played from an M3U8 (stream playlist) URL, such as /iptv/channel/1/index.m3u8. If that stream path is wrong or blocked by your network, the channel may appear in the list but not play. source
  • FFmpeg profiles shape stream quality FFmpeg profiles tell ErsatzTV how to re-encode streams for different devices and network speeds. If the profile is missing, too heavy, or mismatched to your hardware, playback may stutter, fail, or use too much CPU. source

Fetched 10 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

Why might an ErsatzTV channel appear in the guide but not play?

Each virtual channel is played from an M3U8 stream URL. If that stream path is wrong or blocked by your network, the channel may appear in the list but not play.

What should I check if stream quality is poor or CPU usage is high?

FFmpeg profiles control how ErsatzTV re-encodes streams for different devices and network speeds. If a profile is missing, too heavy, or mismatched to your hardware, playback may stutter, fail, or use too much CPU.

What hardware acceleration does ErsatzTV support?

ErsatzTV supports hardware transcoding with NVENC, QSV, VAAPI, AMF, and VideoToolbox.

Which media servers can I connect to ErsatzTV?

ErsatzTV can connect to Plex, Jellyfin, Emby, and more.

Can Kodi be used with ErsatzTV?

A user reports that Kodi works well with both pulling from Jellyfin directly and using ErsatzTV, though it takes a bit more setup.

Answers sourced from github.com, github.com, github.com, www.reddit.com

Community

Collected 5 days ago - public community threads