Commit Graph

93 Commits

Author SHA1 Message Date
f2effe0832 Merge remote-tracking branch 'origin/main' into codex/enigma2-integration
# Conflicts:
#	public/index.html
2026-10-13 17:48:52 -07:00
a2c4b4a5c5 Preserve HLS subtitle and closed-caption cues across recovery 2026-10-13 17:26:25 -07:00
b9dad30f06 Recover Chromium HLS audio at ad discontinuities 2026-10-13 17:23:00 -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
d72d9cb59f Fix duplicate and inactive subtitle menu entries in both players 2026-10-12 17:45:22 -07: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
2999d6542f Display total VOD duration from provider metadata and stream probes
Adapted from MikaelKW/nodecast-tv-plus commit 9c6416cdba40813d44d21c8d76e31e4d9ab3155f.

Co-authored-by: Mikael <mikaelkwessel@gmail.com>
2026-10-12 16:42:23 -07:00
788d43a4cb Apply AAC remux filters only to matching audio tracks
Adapted from MikaelKW/nodecast-tv-plus commit 25f7cb636a07a3efb2c409ff182920ae0fbe01bd.

Co-authored-by: Mikael <mikaelkwessel@gmail.com>
2026-10-12 16:11:34 -07:00
f5e2c77d25 Fix ffmpeg redirects. Fix max resolution setting. 2026-04-24 15:19:19 -06:00
80d2c4bfb3 fix: copy stream url bug (#69) 2026-01-31 11:09:39 -08:00
7006513aaf fix: remove deduplication logic from channel list 2026-01-31 10:59:28 -08:00
e83b173755 fix: safari specific fixes for video player and watch page 2026-01-22 13:35:19 -08:00
89dbb96c92 fix: race condition in playNextEpisode() 2026-01-22 00:14:42 -08:00
ea4a0a4577 fix: implemented safari webkit support for fullscreen and PiP 2026-01-21 20:36:34 -08:00
056555c7b4 fix: hardware transcoding 10-bit error and EPG navigation bug (Issues #61, #63) 2026-01-19 14:36:53 -08:00
237d11cf00 feat: implement hardware and software upscaling 2026-01-19 01:34:45 -08:00
100a26fe4e chore: update screenshots in readme and sso icon 2026-01-18 19:49:22 -08:00
53c577a932 Added 60 second refresh interval for epg now indicator 2026-01-18 19:00:33 -08:00
4a8be395ca fix: mobile epg programme alignment 2026-01-18 18:48:58 -08:00
f9fefa3947 fix: filter homepage recent sections by hidden status 2026-01-18 17:06:26 -08:00
d6eda66360 fix: favorites arrow navigation stays in same group, add cross-player stop on new playback 2026-01-18 00:58:57 -08:00
fb2a50543a fix: update videoplayer to check for tvgid ensuring overlay displays program details correctly 2026-01-17 20:59: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
b467471590 feat: add copy stream URL menu and desktop sidebar collapse (closes #43, closes #45) 2026-01-16 18:04:24 -08:00
196b9520b7 feat: add large M3U playlist warning (50K+ channels) 2026-01-16 17:00:57 -08:00
616ec37a93 fix: align EPG program blocks with time header (#47) 2026-01-13 13:00:47 -08:00
c589b00e57 refactor: use Xtream API endpoints for M3U in Manage Content 2026-01-12 00:07:46 -08:00
04fcabda84 refactor: use Xtream API endpoints for M3U channel loading 2026-01-12 00:02:16 -08:00
5f24d7e264 perf: collapse groups by default and defer channel rendering in channel list 2026-01-11 16:08:20 -08:00
d96bb7c776 fix: replace spread operators with concat to handle massive M3U playlists 2026-01-11 12:48:03 -08:00
aeee45869b Fixed EPG description not displaying due to property name mismatch 2026-01-10 14:10:07 -08:00
8d36a2c07e feat: add subtitle extraction and display for MKV/container streams 2026-01-10 12:35:39 -08:00
346a0519e9 feat: added smart auto-transcoding with probe-based routing and MKV/remux support 2026-01-10 00:35:42 -08:00
53a54c760c Added picture-in-picture button to video player and search filter for manage content page 2026-01-09 15:38:37 -08:00
28f16980e8 Updated subtitle detection logic, added closed caption button 2026-01-06 20:58:57 -08:00
955d68e899 Update live tv player styling to match VOD player 2026-01-06 20:43:03 -08:00
813cd0cbe6 Removed getRefreshInterval() reference 2026-01-04 00:50:07 -08:00
a00082b0ef Implemented virutal scrolling for epg, optimized database batching, moved sync timer to server 2026-01-04 00:46:51 -08:00
374a87b2fd Implemented cascading update save logic 2026-01-03 21:46:07 -08:00
8805ddbc13 Refactored code to use sqlite for channel, epg and vod data 2026-01-03 21:07:18 -08:00
c48f2e070e Refactored EPG refresh logic 2026-01-02 15:00:11 -08:00
02ff6f3f80 Update epg guide to correctly to use server-side epg refresh interval 2026-01-01 16:37:56 -08:00
d5ebd270dc Added EPG refresh timer updateVisibleEpgInfo method to ChannelList 2026-01-01 14:20:45 -08:00
096420596b Merge branch 'main' into dev 2026-01-01 13:07:34 -08:00
e1a197f2be implement authentication and authorization 2026-01-01 15:36:38 -05:00
fc2f20d921 Fixed issue with safari/edge native HLS path mistakenly switching to proxy mode in some cases 2026-01-01 12:18:03 -08:00
46c68813ec add video controls 2026-01-01 11:07:07 -05:00
82a0743262 Fixed hls.js config error 2025-12-31 17:10:26 -08:00
2ab9b34f73 Improved audio discontinuity handling 2025-12-31 17:06:54 -08:00