579b30d48967dca00da311ec640e1238c8d60bc3
3-column library-to-lineup builder replacing the four-editor chain: library browser (search/filter/poster grid, double-click or drag to add, collections via 5 typed browse calls) · drag-to-reorder lineup with add-time constraint surfacing (Rerun/Playlist only-valid-alone, MultiCollection requires shuffle, server lineup[i] 422 mapping) · settings rail (AUTO number, channel image w/ guide-logo + bug preview, shuffle/always-playing toggles with overrides-template tags, template picker + save-as-template, advanced override/view-defaults accordion). Creates channel atomically via POST /api/channels/from-lineup, artwork uploaded at create time. navigateToPath extracted to routing.ts to avoid an App<->builder import cycle. 16 new tests (106 total). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: advance ChicoryTV issue queue past #63 (PR #134); Claude-only process; next prompt = #89 Channel Builder
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.
How It Works
- Install ErsatzTV: Download and set up the server on your system.
- Add Your Media: Connect your media libraries and collections.
- Create Channels: Design and schedule your own live channels.
- 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.
