Commit Graph

24 Commits

Author SHA1 Message Date
53b65b6a0d Cancel superseded Enigma2 startup and select programs throughout playback 2026-10-13 17:56:26 -07:00
700f63da90 Add Enigma2/OpenWebif M3U support: program mapping and zap-before-streaming
- Parse #EXTVLCOPT:program=N from M3U playlists (both full and streaming
  parsers, per channel, strict mode) and store it on playlist items
- Transcode multi-program MPEG-TS streams by mapping only the selected
  program's first video and audio stream (DVB teletext/subtitles in the
  program otherwise make FFmpeg fail to produce HLS)
- Optional per-source "zap before streaming" with configurable delay:
  POST /api/openwebif/zap takes sourceId + streamId, requires an enabled,
  zap-enabled M3U source containing that channel, derives the receiver
  from the configured source URL (never from the client), validates the
  Enigma2 service reference, uses a timeout without redirects and does
  not echo the receiver response
- Live TV: Stop button, and stop playback when leaving the page
- Tests for ordinary and program-tagged playlists and the zap endpoint

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 23:01:38 +01:00
e30978d1e2 Retire cancelled playback sessions and preserve VOD content time
Adapted from MikaelKW/nodecast-tv-plus playback lease work beginning at 43a58c7685f541498663b827c4b9d6b3753e7202. Reject superseded requests, release on cancellation, bound live restart attempts and await FFmpeg close before deleting cache.

Co-authored-by: Mikael <mikaelkwessel@gmail.com>
2026-10-12 17:11:13 -07:00
1f665dcb11 Authenticate browser media with durable HttpOnly login cookies
Adapted cookie, origin, URL validation and secret handling from MikaelKW/nodecast-tv-plus. Protect API roles, revoke logins across restart, preserve existing accounts, and isolate transcode sessions by account.

Co-authored-by: Mikael <mikaelkwessel@gmail.com>
2026-10-12 16:53:15 -07:00
9fff0474e1 fix(remux): preserve encrypted HLS and test protocol restrictions
Allow nested crypto for encrypted HTTP HLS while rejecting top-level protocol wrappers and local-file access. Replace the HLS-only http_persistent option with HTTP multiple_requests across probe/remux/transcode paths, fixing the raw HTTP regression introduced by #124. Add real FFmpeg regression tests and PR CI.
2026-10-12 15:41:13 -07:00
f5e2c77d25 Fix ffmpeg redirects. Fix max resolution setting. 2026-04-24 15:19:19 -06:00
237d11cf00 feat: implement hardware and software upscaling 2026-01-19 01:34:45 -08:00
c1f8077438 feat: add smart audio copy and audio mix presets for configurable 5.1 downmixing 2026-01-17 13:31:13 -08:00
2c34359b2c feat: Implement hardware-accelerated HLS transcoding with granular controls, smart stereo downmixing, and robust support for MKV and 10-bit HEVC playback. 2026-01-17 03:07:16 -08:00
efcf14a545 feat: implement GPU encoder pipelines 2026-01-17 01:39:26 -08:00
2a03cad213 feat: add -seekable 0 to fix 405 errors and configurable User-Agent presets for stream requests 2026-01-17 00:45:55 -08:00
8d36a2c07e feat: add subtitle extraction and display for MKV/container streams 2026-01-10 12:35:39 -08:00
5bb0629de2 Changed transcode ffmpeg flags 2026-01-06 20:16:20 -08:00
f525a6ee67 Added streaming service style watch page for movies and series playback 2026-01-06 20:01:43 -08:00
dd95c6f6ed Removed +igndts and +nobuffer from FFmpeg fflags 2026-01-03 23:25:47 -08:00
8805ddbc13 Refactored code to use sqlite for channel, epg and vod data 2026-01-03 21:07:18 -08:00
024b847d05 Increased stream analyze duration to 0.5 seconds 2026-01-01 16:16:39 -08:00
9fb8df7255 Improve FFmpeg startup speed and stream resilience 2026-01-01 11:52:47 -08:00
218757c6c3 Replaced deprecated ffmpeg -vsync with -fps_mode 2026-01-01 00:47:55 -08:00
54cedd197b Added more aggressive timestamp handling for ad stitched streams 2026-01-01 00:45:41 -08:00
2531f1786f Improved ffmpeg error resilience for ad stitched streams 2026-01-01 00:33:10 -08:00
3b14a17bfb Updated transcoding to support surround sound 2025-12-29 22:55:09 -08:00
83ca622efa Added HLS discontinuity detection 2025-12-29 17:45:09 -08:00
32e0434785 feat: Add FFmpeg audio transcoding for Dolby/AC3/EAC3 compatibility
- Add /api/transcode endpoint for audio-only transcoding
- Video passthrough (no re-encoding) for fast performance
- Audio transcode to AAC for browser compatibility
- Add 'Force Audio Transcode' setting toggle in UI
- Add ffmpeg-static as optional dependency
- Handle Electron asar.unpacked path for packaged apps
2025-12-29 16:52:01 -08:00