Commit Graph
28 Commits
Author SHA1 Message Date
euzuandGitHub fc0f1f32aa Enhanced Metadata Resolution, Stream Analysis & Improved STRM-Output. Added connection priority management.
**Description:**
This PR introduces a major overhaul of how streams are analyzed and connections are managed. It integrates `ffprobe` for deep stream analysis, adds a background task queue for metadata resolution to prevent UI blocking, introduces a connection priority system, and adds support for Live TV probing.

### 🚀 Key Features

*   **FFprobe Integration & Live TV Probing**:
    *   Automatically probes streams (VOD/Series **and now Live TV**) to determine resolution, codecs (HEVC/AV1), dynamic range (HDR/DV), bit depth, and audio channels.
    *   **Safe Probing**: Probing strictly respects the provider's `max_connections` limit.
    *   Docker images now include static `ffmpeg/ffprobe` binaries.

*   **Smart Connection Management (Priority System)**:
    *   Introduced a priority system for connections to manage provider limits intelligently.
    *   **Preemption**: Users with higher priority can preempt (kick) lower priority connections when provider slots are full.
    *   **Background Queue**: Metadata resolution and stream analysis run as background tasks (Priority 0). They only run when connection slots are idle and yield immediately if a real user needs to stream.

*   **Enhanced Metadata Resolution**:
    *   **Fallback Logic**: If a provider is missing the TMDB ID or Release Date, the system resolves them via the TMDB API.
    *   **Smart Title Cleaning**: Implemented a centralized cleaner to strip common IPTV prefixes before attempting metadata matches or generating filenames, significantly improving match rates.

*   **Improved Output**:
    *   **Quality Tags**: Filenames in STRM files now include detailed tags (e.g., `Movie - [4K HEVC HDR].strm`).
    *   **Flat Grouping**: `flat: true` now correctly groups multi-version movies into single folders based on TMDB ID.
    *   **Global Series Date**: Ensures consistent series folder naming even if episodes have different years.
2026-02-12 15:06:57 +01:00
euzu 89b2782049 BPlusTree space management for smaller value types 2025-12-28 13:53:55 +01:00
euzu 23d6c90c1d Local media library 2025-12-15 21:10:45 +01:00
euzu 89cea7a7c2 Local media library 2025-12-15 19:26:31 +01:00
euzu 4281cbc90d kick debug log added 2025-12-13 11:32:55 +01:00
euzu e6db1a3c66 Added kick duration for web_ui kick 2025-12-12 20:32:46 +01:00
euzu bdb838e2b0 - CPU usage
- disable cloudfare header
2025-11-29 19:01:42 +01:00
euzu b69ed4921e better connection handling 2025-11-10 01:04:13 +01:00
euzu 3c68287cd8 WebUI
- Aded kick command for streams table
- Added better stream type description for streams table
- Added clipboard not supported message
- Added Copy Credentials menu for user table
- Added random credentials generation for user creation
- Input table header column now with preview and reveal.
2025-11-06 10:36:23 +01:00
euzu 961d27a668 Connection handling fixed for user sessions 2025-11-05 11:50:05 +01:00
euzu 60c2e5a161 User Stream Connection table added 2025-10-24 18:37:14 +02:00
euzu 82258d91f2 Handling HLS errors from provider 2025-10-16 11:58:40 +02:00
euzu 5a37a1203d save config, show modified pages 2025-08-31 15:26:02 +02:00
euzu 8e35322531 fixxed hot reload mapping path change 2025-08-06 11:28:01 +02:00
euzu 420912a79d web_ui_path fixes 2025-08-05 14:20:13 +02:00
euzu bb79c201c4 web_ui_path fixes 2025-08-05 13:57:21 +02:00
euzu 0ad2eae1cc WebUI Source Explorer custom source download 2025-08-04 14:18:46 +02:00
euzu b3e7e2cd89 Playlist update added to web ui 2025-08-03 10:24:23 +02:00
euzu 0e18083960 some little clippy fixes 2025-08-02 12:37:13 +02:00
euzu 1e3fa841f0 added provider channel browser
added toastr service
2025-08-01 21:03:50 +02:00
euzu 4ada26c207 initialized empty playlist explorer view 2025-07-29 18:14:43 +02:00
euzu d691a29be1 authorization for websocket added 2025-07-29 10:44:55 +02:00
euzu 78e138e5d8 some clippy fixes 2025-07-24 14:27:57 +02:00
euzu 963943978b Shared stream handling with task per connection 2025-07-23 17:22:45 +02:00
euzu b8bcba585d bincode removed from webui. 2025-07-23 12:49:43 +02:00
euzu 20b7c557e9 bundled event handling in event manager 2025-07-22 17:37:56 +02:00
euzu 6c238c607f refactored unwrap calls to make it more stable 2025-07-22 11:32:46 +02:00
euzu 504b4df277 Fix shared stream provider connections
Web UI State update through websocket
2025-07-21 22:17:57 +02:00