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 3da5144a0d
update entrypoint so reset_playout is not required to return an updated context (#2385)
4 months ago
.config fix editorconfig and run code cleanup (#2324) 5 months ago
.github remove extra windows Resources folder 5 months ago
ErsatzTV add pad_until_exact and wait_until_exact scripted schedule calls (#2384) 4 months ago
ErsatzTV-Windows update windows launcher to respect ETV_UI_PORT (#2065) 6 months ago
ErsatzTV-macOS@d4dd985fd6 update macos app (#2066) 6 months ago
ErsatzTV.Application fix adding single items to playlists (#2382) 4 months ago
ErsatzTV.Core add pad_until_exact and wait_until_exact scripted schedule calls (#2384) 4 months ago
ErsatzTV.Core.Tests add graphics elements on classic schedule items (#2380) 4 months ago
ErsatzTV.FFmpeg fix transcoding bt709/pc (#2363) 4 months ago
ErsatzTV.FFmpeg.Tests fix editorconfig and run code cleanup (#2324) 5 months ago
ErsatzTV.Infrastructure add graphics elements on classic schedule items (#2380) 4 months ago
ErsatzTV.Infrastructure.MySql add graphics elements on classic schedule items (#2380) 4 months ago
ErsatzTV.Infrastructure.Sqlite add graphics elements on classic schedule items (#2380) 4 months ago
ErsatzTV.Infrastructure.Tests use cancellation tokens in many places (#2350) 4 months ago
ErsatzTV.Scanner fix mysql playout builds (#2352) 4 months ago
ErsatzTV.Scanner.Tests use cancellation tokens in many places (#2350) 4 months ago
api add v2 ffmpeg profile page (#768) 4 years ago
artwork v2 ui tweaks (#702) 4 years ago
docker openapi improvements (#2381) 4 months ago
scripts update entrypoint so reset_playout is not required to return an updated context (#2385) 4 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 adding single items to playlists (#2382) 4 months ago
Directory.Build.props add yaml skip to item instruction (#1830) 1 year ago
ErsatzTV.sln fix plex collection sync (#1939) 1 year 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 Update README.md (#1567) 2 years ago
global.json upgrade to dotnet 9 (#2056) 6 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.