Commit graph

19 commits

Author SHA1 Message Date
Benjamin Slingo fb5dcbeec2 Add comprehensive documentation with event-driven architecture details 2025-09-08 13:06:31 -04:00
Benjamin Slingo b9c916167e Revert "Update README.md"
This reverts commit ce4b30b9a9.
2025-09-08 13:00:17 -04:00
Benjamin Slingo ce4b30b9a9 Update README.md 2025-09-08 12:58:36 -04:00
Benjamin Slingo ab9c293a01 Clean up architecture and remove unused code
- Remove duplicate stability tracker from LivestreamArchiver
- Remove unused wrapper methods that were causing warnings
- Clean separation: main.rs handles events, archiver handles processing
- No more compiler warnings - clean architecture
2025-09-08 12:30:57 -04:00
Benjamin Slingo ecea6a851d CRITICAL: Re-add PC sync functionality for original file editing
- Add PC_SYNC_TARGET environment variable support
- Sync original high-quality livestream files to Mac for editing
- Rsync happens after AV1 conversion but sends original file
- Essential workflow feature that was accidentally removed in refactoring
2025-09-08 12:27:35 -04:00
Benjamin Slingo 3cf60dbad1 Security improvements and architecture cleanup
- Remove hardcoded production paths for open source security
- Require INPUT_DIR and OUTPUT_DIR environment variables
- Remove organizational references from examples
- Clean up old deployment code with personal info
- Improve maintainability with proper env var validation
2025-09-08 12:09:58 -04:00
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