sermon-converter/Cargo.toml
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

26 lines
563 B
TOML

[package]
name = "sermon_converter"
version = "0.1.0"
edition = "2021"
[lib]
name = "sermon_converter"
path = "src/lib.rs"
[[bin]]
name = "sermon_converter"
path = "src/main.rs"
[dependencies]
tokio = { version = "1.0", features = ["full", "signal"] }
anyhow = "1.0"
chrono = "0.4"
regex = "1.5"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
async-trait = "0.1"
video_processing = { git = "https://git.rockvilletollandsda.church/RTSDA/video-processing-support.git", branch = "main" }
[dev-dependencies]
tempfile = "3.0"