euzu
|
c8d34e0dfd
|
Integrate local movie file into playlist
|
2025-12-16 20:35:19 +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
|
15bd0ab88e
|
update guards added
|
2025-12-16 10:04:26 +01:00 |
|
euzu
|
1aacff84dc
|
update guards added
|
2025-12-16 09:58:44 +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
|
ba200135ce
|
Merge branch 'feature/source_editor' into feature/local_media
|
2025-12-13 15:34:51 +01:00 |
|
euzu
|
22e6f74bae
|
replaced serde_json Value with RawValue to reduce memory usage
|
2025-12-13 15:33:04 +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
|
66f57a780d
|
Added kick duration for web_ui kick
|
2025-12-12 21:25:18 +01:00 |
|
euzu
|
efc23c2b21
|
Added kick duration for web_ui kick
|
2025-12-12 21:16:52 +01:00 |
|
euzu
|
b951794bc4
|
Added kick duration for web_ui kick
|
2025-12-12 20:58:55 +01:00 |
|
euzu
|
e6db1a3c66
|
Added kick duration for web_ui kick
|
2025-12-12 20:32:46 +01:00 |
|
euzu
|
b84e2ca96f
|
Merge branch 'feature/source_editor' into feature/local_media
|
2025-12-12 17:05:29 +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
|
c22a3df93b
|
write operations optimized for less memory usage
|
2025-12-11 20:18:31 +01:00 |
|
euzu
|
80660312e4
|
write operations optimized for less memory usage
|
2025-12-11 20:02:20 +01:00 |
|
euzu
|
09452d7b85
|
write operations optimized for less memory usage
|
2025-12-11 19:51:39 +01:00 |
|
euzu
|
a522d2863b
|
write operations optimized for less memory usage
|
2025-12-11 19:50:31 +01:00 |
|
euzu
|
1193fc2265
|
write operations optimized for less memory usage
|
2025-12-11 19:27:56 +01:00 |
|
euzu
|
ab8e6c0d53
|
write operations optimized for less memory usage
|
2025-12-11 14:32:04 +01:00 |
|
euzu
|
55191d6c84
|
vod resolve refactored
Arc<Client> is now Client
|
2025-12-11 09:54:28 +01:00 |
|
euzu
|
ab44ecc75f
|
Some little debug fixes
|
2025-12-11 08:03:27 +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
|
07991f172e
|
Made cache storage more robust
|
2025-12-10 17:30:34 +01:00 |
|
euzu
|
c2652a7ece
|
Made cache storage more robust
|
2025-12-10 17:19:57 +01:00 |
|
euzu
|
a5cafb1b78
|
Merge remote-tracking branch 'deadc1de/feature/local-vod-module' into feature/local_media
|
2025-12-10 10:48:24 +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 |
|
euzu
|
0ee5f94dde
|
little fixes
|
2025-12-10 08:00:45 +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 |
|
knylbyte
|
f342121d9e
|
feat: check log level für client request logging
|
2025-12-07 21:53:19 +01:00 |
|
knylbyte
|
93cc8b9f10
|
feat: check log level für client request logging
|
2025-12-07 21:43:51 +01:00 |
|
knylbyte
|
757036c1b2
|
feat: debug output adjusted
|
2025-12-07 19:29:18 +01:00 |
|
knylbyte
|
ab2cdc7d11
|
fix: cargo clippy
|
2025-12-07 19:01:14 +01:00 |
|
knylbyte
|
573f3fdc3c
|
fix: set episode/catchup virtual_id to requested mapping id
|
2025-12-07 18:57:17 +01:00 |
|