Benjamin Slingo
8c84b69028
Major refactoring: Event-driven livestream archiver
...
- Complete removal of polling loops for better performance
- Event-driven file processing with stability tracking
- Proper structured logging with tracing
- Graceful shutdown handling (SIGTERM/SIGINT)
- Disk space monitoring (5GB minimum threshold)
- Production-ready paths for RTSDA deployment
- Shared video_processing crate integration
- Filename compatibility improvements (| → () separator)
- Environment-based configuration
- Comprehensive error handling and logging
Performance improvements:
- No more wasteful 1-2 second polling
- Only processes files when filesystem events occur
- Proper resource management and cleanup
Production features:
- Default paths: /home/rockvilleav/.rtsda/livestreams → /media/archive/jellyfin/livestreams
- Configurable via INPUT_DIR and OUTPUT_DIR environment variables
- Structured logging configurable via RUST_LOG
- Hardware-accelerated video conversion (Intel QSV)
- NFO file generation for Jellyfin compatibility
2025-09-06 18:27:59 -04:00
RTSDA
a7206fa325
Make paths configurable via environment variables
...
- Replace hardcoded paths with INPUT_DIR and OUTPUT_DIR env vars
- Add sensible generic defaults if env vars not set
- Update service example with all environment variables
- Document environment variables in README
- Makes codebase more portable and configuration-driven
2025-08-16 19:09:21 -04:00
RTSDA
6bf2eb38aa
Add documentation and configuration templates
...
- Add comprehensive .gitignore for Rust projects
- Add MIT LICENSE file
- Add detailed README with installation and usage instructions
- Add generic service file template (livestream-archiver.service.example)
- Add generic deployment script template (deploy.sh.example)
- Keep sensitive configuration out of version control
2025-08-16 19:05:59 -04:00
RTSDA
5e3de7ec1c
Fix ownership and borrowing issues in LivestreamArchiver
2025-04-20 10:12:16 -04:00
RTSDA
cc7cf766cd
Fix ownership issue by using output_path from archiver
2025-04-20 10:10:43 -04:00
RTSDA
f07be605b7
Fix ownership issue by cloning output_path
2025-04-20 10:09:59 -04:00
RTSDA
8fbc43a9ef
Fix ownership issue by making LivestreamArchiver borrow the output path
2025-04-20 10:08:10 -04:00
RTSDA
8f98a688f1
Make extract_date_from_filename method public
2025-04-20 10:06:40 -04:00
RTSDA
bde1ca72c3
Prevent reprocessing of old files by checking for existing output files
2025-04-20 10:05:16 -04:00
RTSDA
6509ad8f58
Remove unused create_nfo_file method
2025-04-20 09:59:53 -04:00
RTSDA
edfaf8f44b
Fix file overwriting issue by implementing proper file existence checks and naming logic
2025-04-20 09:57:47 -04:00
RTSDA
bdcef093c0
Remove .mp4 files and update .gitignore
2025-02-06 22:14:51 -05:00
RTSDA
e778e0ec8f
Initial commit
2025-02-06 22:14:18 -05:00