src | ||
target | ||
tests | ||
.DS_Store | ||
.env.example | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
Video Processing Crate
A shared Rust crate for video processing tasks including file watching, stability tracking, FFmpeg conversion, and NFO file generation.
Features
- Configurable FFmpeg conversion with environment variable support
- Event-driven file stability tracking
- File system watching with the
notify
crate - NFO file generation for Kodi media center compatibility
- Hardware-accelerated encoding support (Intel QSV)
Environment Variables
See .env.example
for all supported configuration options.
Usage
use video_processing::*;
#[tokio::main]
async fn main() -> Result<()> {
let config = VideoProcessingConfig::from_env();
let converter = VideoConverter::new(config.clone());
let stability_tracker = StabilityTracker::new(config.clone());
// Your video processing logic here
Ok(())
}