Benjamin Slingo
|
18bddf4e6f
|
Major refactoring: Event-driven sermon converter
- 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)
- Shared video_processing crate integration
- Filename compatibility improvements (| → () separator)
- Environment-based configuration
- Comprehensive error handling and logging
Features:
- Intelligent sermon filename parsing (Title - Speaker (Date).mp4)
- Date extraction with full month name support
- Title and speaker metadata extraction
- Environment variable configuration (SERMON_WATCH_PATH, SERMON_OUTPUT_PATH)
- Hardware-accelerated video conversion (Intel QSV)
- NFO file generation for Jellyfin compatibility
- Syncthing temporary file filtering
- AV1 video encoding with configurable settings
Performance improvements:
- No more wasteful 1-2 second polling
- Only processes files when filesystem events occur
- Proper resource management and cleanup
|
2025-09-06 18:30:06 -04:00 |
|