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 e363ab00bb
prep for release v25.3.0 [no ci]
2 weeks ago
.config dependencies and code cleanup (#2117) 1 month ago
.github try to fix docker manifest step 2 weeks ago
ErsatzTV add start from beginning option to playback troubleshooting (#2182) 3 weeks ago
ErsatzTV-Windows update windows launcher to respect ETV_UI_PORT (#2065) 2 months ago
ErsatzTV-macOS@d4dd985fd6 update macos app (#2066) 2 months ago
ErsatzTV.Application fix some issues with live stream playback (#2193) 2 weeks ago
ErsatzTV.Core fix some issues with live stream playback (#2193) 2 weeks ago
ErsatzTV.Core.Tests fix some issues with live stream playback (#2193) 2 weeks ago
ErsatzTV.FFmpeg fix some issues with live stream playback (#2193) 2 weeks ago
ErsatzTV.FFmpeg.Tests fix some stream continuity issues (#2186) 3 weeks ago
ErsatzTV.Infrastructure add chapters to search index (#2199) 2 weeks ago
ErsatzTV.Infrastructure.MySql fix media file path length for mysql (#2191) 3 weeks ago
ErsatzTV.Infrastructure.Sqlite add remote stream is_live property (#2181) 3 weeks ago
ErsatzTV.Infrastructure.Tests fix variant selection for hls remote streams (#2177) 3 weeks ago
ErsatzTV.Scanner add remote stream is_live property (#2181) 3 weeks ago
ErsatzTV.Scanner.Tests prep for release v25.3.0 [no ci] 2 weeks ago
api add v2 ffmpeg profile page (#768) 3 years ago
artwork v2 ui tweaks (#702) 3 years ago
docker fix docker tag typo 2 weeks ago
scripts remove v2 ui and node (#1564) 2 years ago
.dockerignore Initial commit 5 years ago
.editorconfig fix xmltv generation when no block items are selected for guide (#1702) 1 year ago
.gitattributes Used a UUID in HDHomeRun config to allow multiple instances on a same network (#1810) 1 year ago
.gitignore ui updates (#2109) 1 month ago
.gitmodules update submodule [no ci] 2 years ago
CHANGELOG.md prep for release v25.3.0 [no ci] 2 weeks ago
Directory.Build.props add yaml skip to item instruction (#1830) 1 year ago
ErsatzTV.sln fix plex collection sync (#1939) 9 months ago
ErsatzTV.sln.DotSettings use hardware-accelerated tonemapping with vaapi (#2028) 2 months ago
LICENSE update changelog for release v0.5.8-beta [no ci] 3 years ago
README.md Update README.md (#1567) 2 years ago
global.json upgrade to dotnet 9 (#2056) 2 months ago
mkdocs.yml fix github repo links (#1378) 2 years ago

README.md

ErsatzTV

ErsatzTV is beta software for configuring and streaming custom live channels using your media library. The software may be unstable and is under active development.

Documentation is available at ersatztv.org.

Want to join the community or have a question? Join us at the ErsatzTV Community or 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
  • Collection-based scheduling, with collections containing television shows, seasons, episodes and movies
  • Powerful scheduling options such as chronological collection playback throughout the day or over multiple days
  • Hardware-accelerated transcoding options (QSV, NVENC, VAAPI)
  • Plex media and metadata
  • Jellyfin media and metadata
  • Emby media and metadata
  • Song and music video libraries
  • Pre-roll, mid-roll, post-roll filler options
  • Subtitle burn-in

License

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