livestream-archiver/Cargo.toml
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

29 lines
661 B
TOML

[package]
name = "livestream_archiver"
version = "0.1.0"
edition = "2021"
[lib]
name = "livestream_archiver"
path = "src/lib.rs"
[[bin]]
name = "livestream_archiver"
path = "src/main.rs"
[dependencies]
tokio = { version = "1.36", features = ["full", "signal"] }
anyhow = "1.0"
chrono = "0.4"
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"
# We don't need regex or other conversion-related deps
# since we're just copying and renaming files