Commit Graph
242 Commits
Author SHA1 Message Date
euzu 354911aa27 stream properties refactored 2025-12-26 16:03:03 +01:00
euzu d5207e886f stream properties refactored 2025-12-26 14:09:44 +01:00
euzu 76bde0fcc4 stream properties refactored 2025-12-22 21:00:58 +01:00
euzu 19b8153fa5 stream properties refactored 2025-12-22 18:00:42 +01:00
euzu c7bc0beb96 stream properties refactored 2025-12-22 17:33:18 +01:00
euzu 7a503360c0 If clipboard not supported open dialog with content 2025-12-20 20:55:01 +01:00
euzu 238693f810 fixed xtream vod_info and series_info 2025-12-20 20:24:30 +01:00
euzu e8a4f75d40 some refactoring for panel api config 2025-12-20 16:48:21 +01:00
euzu 5e246aefab some refactoring for panel api config 2025-12-20 15:15:36 +01:00
euzu 3c2a3855cf version inc 2025-12-19 21:22:07 +01:00
euzu 53723d3015 Merge commit '7bb8a0c4f1a65a542bd3fae716fcb4236461072a' into feature/provider_api 2025-12-19 18:30:07 +01:00
euzu eac510ca6e integrated local series into playlist 2025-12-19 16:41:12 +01:00
euzu ca3ae3e81b integrated local series into playlist 2025-12-19 16:27:06 +01:00
euzu a2effbeb3f integrated local series into playlist 2025-12-19 16:00:02 +01:00
euzu aa4463b632 fetching tmdb data for series 2025-12-19 15:57:46 +01:00
euzu 0506e8f201 fetching tmdb data for series 2025-12-18 16:15:38 +01:00
knylbyte 61f9071603 feat: added client_info to fetch user information 2025-12-17 18:12:17 +01:00
knylbyte 7b2dd5be14 feat: added support for panel api 2025-12-16 23:03:24 +01:00
euzu 5f9fa8ea56 Merge remote-tracking branch 'github/feature/local_media' into feature/local_media 2025-12-16 20:09:17 +01:00
euzu a571f863bb Integrate local movie file into playlist 2025-12-16 19:59:53 +01:00
euzu 37985c0324 Integrate local movie file into playlist 2025-12-16 16:43:11 +01:00
euzu 8d1378c294 Integrate local movie file into playlist 2025-12-16 16:23:15 +01:00
euzu 96899cf5f9 Local media library 2025-12-15 21:55:48 +01:00
euzu 2946cb1dd5 Local media library 2025-12-15 21:26:12 +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 2f32f1ece1 Local media library 2025-12-15 17:54:19 +01:00
euzu 29bedf2202 Merge branch 'feature/source_editor' into feature/local_media 2025-12-14 12:30:53 +01:00
euzu 7c5f0b62b3 fixing dependency problem 2025-12-14 11:31:39 +01:00
euzu 758585c8c6 memory fix 2025-12-13 20:28:21 +01:00
euzu ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu e9766bcdfe increased version 2025-12-13 15:33:35 +01:00
euzu 80b7183d10 replaced serde_json Value with RawValue to reduce memory usage 2025-12-13 15:07:47 +01:00
euzu 60e74f38a9 force reconnect removed 2025-12-13 13:55:35 +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 a789f1386d Merge branch 'develop' into feature/source_editor 2025-12-12 16:57:52 +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 bce4ee5919 Merge branch 'feature/source_editor' into feature/local_media 2025-12-10 17:34:41 +01:00
euzu be2370fc37 Merge branch 'develop' into feature/source_editor 2025-12-10 17:31:52 +01:00
euzu c2652a7ece Made cache storage more robust 2025-12-10 17:19:57 +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