Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Jason Dove 18137832e6
fix: update plex movie and other video titles (#2947)
6 days ago
.config chore: dependency updates (#2893) 2 months ago
.github fix duplicate windows zips on develop release 3 months ago
ErsatzTV feat: restore release notes on home page (#2942) 2 weeks ago
ErsatzTV-macOS@8dbe1e22f2 more dependency updates (#2629) 8 months ago
ErsatzTV.Application fix: properly delete manual collections from search index (#2939) 3 weeks ago
ErsatzTV.Core fix: update plex movie and other video titles (#2947) 6 days ago
ErsatzTV.Core.Nullable more dotnet 10 updates (#2676) 8 months ago
ErsatzTV.Core.Tests fix: synchronize subtitle titles from plex libraries (#2940) 2 weeks ago
ErsatzTV.FFmpeg chore: update dependencies (#2927) 1 month ago
ErsatzTV.FFmpeg.Tests fix: synchronize subtitle titles from plex libraries (#2940) 2 weeks ago
ErsatzTV.Infrastructure fix: update plex movie and other video titles (#2947) 6 days ago
ErsatzTV.Infrastructure.MySql fix: better handling of local subtitles (#2924) 1 month ago
ErsatzTV.Infrastructure.Sqlite chore: update dependencies (#2927) 1 month ago
ErsatzTV.Infrastructure.Tests fix: synchronize subtitle titles from plex libraries (#2940) 2 weeks ago
ErsatzTV.Scanner fix: update plex movie and other video titles (#2947) 6 days ago
ErsatzTV.Scanner.Tests fix: synchronize subtitle titles from plex libraries (#2940) 2 weeks ago
ErsatzTV.Tests chore: update dependencies (#2927) 1 month ago
api add v2 ffmpeg profile page (#768) 4 years ago
artwork update dmg icon (#2630) 8 months ago
docker only bundle the ersatztv-channel binary (#2851) 3 months ago
scripts rename to ersatztv legacy (#2842) 3 months ago
.dockerignore Initial commit 6 years ago
.editorconfig fix editorconfig and run code cleanup (#2324) 11 months ago
.gitattributes Used a UUID in HDHomeRun config to allow multiple instances on a same network (#1810) 2 years ago
.gitignore ui updates (#2109) 1 year ago
.gitmodules update submodule [no ci] 3 years ago
CHANGELOG.md fix: update plex movie and other video titles (#2947) 6 days ago
Directory.Build.props fix duplicate smart collection names (#2720) 7 months ago
Directory.Build.targets improve build time by only running analyzers explicitly (#2710) 7 months ago
ErsatzTV.sln Add select all controls to media lists (#2738) 7 months ago
ErsatzTV.sln.DotSettings use hardware-accelerated tonemapping with vaapi (#2028) 1 year ago
LICENSE rework windows launcher build process (#2758) 7 months ago
README.md remove more discord references [no ci] 5 months ago
global.json upgrade to dotnet 10 (#2667) 8 months ago
hdhr.md prep for release v26.3.0 [no ci] 5 months ago

README.md

ErsatzTV

ErsatzTV lets you transform your media library into a personalized, live TV experience - complete with EPG, channel scheduling, and seamless streaming to all your devices. Rediscover your content, your way.

contact features community

epg-example

How It Works

  1. Install ErsatzTV: Download and set up the server on your system.
  2. Add Your Media: Connect your media libraries and collections.
  3. Create Channels: Design and schedule your own live channels.
  4. Stream Anywhere: Watch on any device with IPTV and EPG support.

Key Features

  • Custom channels: Create and schedule your own live TV channels.
  • IPTV & EPG: Stream with IPTV and Electronic Program Guide support.
  • Hardware Transcoding: High-performance streaming with hardware acceleration (NVENC, QSV, VAAPI, AMF, VideoToolbox)
  • Media Server Integration: Connect Plex, Jellyfin, Emby and more.
  • Music & Subtitles: Mix music videos and enjoy subtitle support.
  • Open Source: Free, open, and community-driven project.

Documentation

Documentation is available at ersatztv.org.

License

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