Commit Graph
63 Commits
Author SHA1 Message Date
euzu aa4463b632 fetching tmdb data for series 2025-12-19 15:57:46 +01:00
euzu 37985c0324 Integrate local movie file into playlist 2025-12-16 16:43:11 +01:00
euzu 2f32f1ece1 Local media library 2025-12-15 17:54:19 +01:00
euzu ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu 4281cbc90d kick debug log added 2025-12-13 11:32:55 +01:00
euzu 3e965c0bb7 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 21:31:28 +01:00
euzu e6db1a3c66 Added kick duration for web_ui kick 2025-12-12 20:32:46 +01:00
euzu afc0fe4ea8 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:12 +01:00
euzu 12f8326cb3 xtream and m3u parsing with streaming 2025-12-12 16:49:13 +01:00
euzu 73017363cc xtream and m3u parsing with streaming 2025-12-12 16:10:08 +01:00
euzu 2738f8b7f3 xtream and m3u parsing with streaming 2025-12-12 15:49:10 +01:00
euzu ee0441877d xtream and m3u parsing with streaming 2025-12-12 15:33:41 +01:00
euzu 1193fc2265 write operations optimized for less memory usage 2025-12-11 19:27:56 +01:00
euzu a66b227316 Fixed source editor connection delete refresh 2025-12-10 12:04:27 +01:00
euzu f3f7d0136d Merge remote-tracking branch 'deadc1de/feature/local-vod-module' into feature/local_media 2025-12-10 09:18:53 +01:00
moeandClaude Sonnet 4.5 d481303e57 feat: Add Local VOD (Video-on-Demand) Module
Implements comprehensive local video file scanning and metadata management:

Core Features:
- Recursive directory scanning with tokio::fs async operations
- Automatic classification (Movies vs TV Series) using regex patterns
- Multi-source metadata resolution (NFO → TMDB → filename parsing)
- JSON-based metadata storage with UUID tracking
- Virtual ID management (incremental, stable across scans)
- TMDB API integration with rate limiting (250ms default)
- NFO file reading/writing (Kodi/Jellyfin/Emby/Plex compatible)
- Incremental scanning (only processes changed files)
- Orphaned entry cleanup

Components Added:
- backend/src/vod/scanner.rs - Async file scanner
- backend/src/vod/classifier.rs - Movie/Series classification
- backend/src/vod/metadata.rs - Metadata models
- backend/src/vod/nfo_reader.rs - NFO parser
- backend/src/vod/tmdb_client.rs - TMDB API client
- backend/src/vod/metadata_storage.rs - JSON storage layer
- backend/src/vod/metadata_resolver.rs - Metadata orchestration
- backend/src/vod/processor.rs - Main processing pipeline

API Endpoints:
- POST /api/v1/vod/scan - Trigger VOD scan
- GET /api/v1/vod/status - Get VOD status
- GET /api/v1/vod/item/:id - Get VOD item by virtual ID

CLI Integration:
- --scan-vod - Scan VOD directories
- --force-vod-rescan - Force full rescan

Configuration:
- config/vod.yml.example - Example configuration
- New InputType::LocalVod in source.yml

Technical Details:
- Uses OnceLock for regex caching (no lazy_static needed)
- Arc-swap pattern for lock-free config updates
- Comprehensive unit tests
- ~3,200 lines of new code
- Zero new dependencies added

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-10 07:51:06 +01:00
euzu ee05a9e02e Atomic ordering changedFixed race conditions on user access 2025-11-30 12:53:47 +01:00
euzu cc45892d3f Refactored connection handling to avoid race conditions 2025-11-26 14:29:19 +01:00
euzu 21006dbf0f Refactored connection handling to avoid race conditions 2025-11-26 14:13:31 +01:00
euzu a873848a39 added exp_date for input, alias and csv batch file 2025-11-26 13:19:10 +01:00
euzu ddcd56b1ea Resource rewrite secret key to ensure rewritten url validity
Fixed epg rewrite
2025-11-21 17:09:14 +01:00
euzu 98dc80dd75 SyncIOBridge caused tokio panic 2025-11-21 01:35:04 +01:00
euzu eba6b7df96 Changes to the PR resource retry config by DarkBreakpoint 2025-11-11 10:00:35 +01:00
DarkBreakpoint 84429af955 feat: make reverse-proxy retries configurable 2025-11-10 20:06:52 -06:00
euzu 961d27a668 Connection handling fixed for user sessions 2025-11-05 11:50:05 +01:00
euzu cd76891ce4 Some refactorings
- HdHomerun
- WebUI GeoIP
- Playlist Updates
...
2025-10-28 19:52:46 +01:00
euzu 3c3c8df763 Added GeoIp config and update button to WebUI
Integrated GeoIp to stream Table
Fixed some HdHomerun issues
2025-10-28 18:42:09 +01:00
euzu 3ba4a5aaf6 hdhomerun fixes 2025-10-28 13:55:37 +01:00
euzu a5f0299fbe Merge branch 'feature/extract-media-quality-and-strm-output' into feature/stream_table 2025-10-28 13:29:04 +01:00
euzu 7b50f1229c Fixed clippy warnings for hdhomerun 2025-10-28 09:54:21 +01:00
jochen 26b1abec41 Implemented HDHomeRun discovery (SSDP and Proprietary) by adding dedicated modules, integrating new configuration settings into the application state and frontend 2025-10-28 03:04:03 +01:00
euzu 7c7c467f64 Stream table new columns 2025-10-25 20:40:58 +02:00
euzu c3f7912b41 Channel favourites 2025-10-23 18:26:25 +02:00
euzu 79906952c5 Telegram markdown support for structured json messages 2025-10-22 11:33:49 +02:00
euzu 8245bc4c85 Telegram markdown support for structured json messages 2025-10-22 11:09:43 +02:00
euzu 82258d91f2 Handling HLS errors from provider 2025-10-16 11:58:40 +02:00
euzu 3c5422bed6 custom video response optimizatation 2025-10-15 20:32:50 +02:00
euzu 6b7e2cd95a Handling edge cases for series info parsing 2025-10-06 21:00:13 +02:00
euzu 6464f50698 try to fix dev build 2025-09-30 20:41:03 +02:00
euzu e61d34478d Epg View optimization
Added async stream based xml parsing
2025-09-30 15:44:45 +02:00
euzu 2e91cd9615 Epg View optimization
Added async stream based xml parsing
2025-09-30 14:46:18 +02:00
euzu 859ad169ac fixes for series tmdb id, fix filename length, vod tmdbid without resolve 2025-09-20 16:19:41 +02:00
euzu 9bf787953d fixes for series tmdb id 2025-09-20 15:32:14 +02:00
euzu 5faba69108 config save 2025-09-01 13:33:34 +02:00
euzu e776b2d053 fixed generate random string for wasm 2025-08-28 00:45:38 +02:00
euzu 510c8daeab role based content 2025-08-28 00:37:20 +02:00
euzu aaa66b2dfc role based content 2025-08-28 00:14:39 +02:00
euzu 30df63359a fixed web path handling 2025-08-12 16:27:15 +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