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 8575ab5c32
fix bt2020 playback (#2714)
3 weeks ago
.config upgrade to dotnet 10 (#2667) 1 month ago
.github improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV-Windows update icon (#2652) 1 month ago
ErsatzTV-macOS@8dbe1e22f2 more dependency updates (#2629) 2 months ago
ErsatzTV.Application allow playlists to have no items included in epg (#2713) 3 weeks ago
ErsatzTV.Core improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV.Core.Nullable more dotnet 10 updates (#2676) 1 month ago
ErsatzTV.Core.Tests improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV.FFmpeg fix bt2020 playback (#2714) 3 weeks ago
ErsatzTV.FFmpeg.Tests framerate improvements (#2692) 1 month ago
ErsatzTV.Infrastructure improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV.Infrastructure.MySql add migration to fix any incorrect channel sort numbers (#2701) 4 weeks ago
ErsatzTV.Infrastructure.Sqlite add migration to fix any incorrect channel sort numbers (#2701) 4 weeks ago
ErsatzTV.Infrastructure.Tests improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV.Scanner add remote stream metadata (#2690) 1 month ago
ErsatzTV.Scanner.Tests fix startup on systems unsupported by nvencsharp (#2678) 1 month ago
api add v2 ffmpeg profile page (#768) 4 years ago
artwork update dmg icon (#2630) 2 months ago
docker more dotnet 10 updates (#2676) 1 month ago
scripts fix interlaced check again (#2623) 2 months ago
.dockerignore Initial commit 5 years ago
.editorconfig fix editorconfig and run code cleanup (#2324) 5 months ago
.gitattributes Used a UUID in HDHomeRun config to allow multiple instances on a same network (#1810) 1 year ago
.gitignore ui updates (#2109) 6 months ago
.gitmodules update submodule [no ci] 2 years ago
CHANGELOG.md fix bt2020 playback (#2714) 3 weeks ago
Directory.Build.props add yaml skip to item instruction (#1830) 1 year ago
Directory.Build.targets improve build time by only running analyzers explicitly (#2710) 3 weeks ago
ErsatzTV.sln more dotnet 10 updates (#2676) 1 month ago
ErsatzTV.sln.DotSettings use hardware-accelerated tonemapping with vaapi (#2028) 7 months ago
LICENSE update changelog for release v0.5.8-beta [no ci] 4 years ago
README.md fix link [no ci] 3 months ago
global.json upgrade to dotnet 10 (#2667) 1 month ago
mkdocs.yml fix github repo links (#1378) 2 years 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.

discord roadmap 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.