Crate for the tools that use video processing
The target/ directory contains Rust build artifacts and should never be committed. This was causing GitHub to incorrectly detect the repository as D language due to .d dependency files. |
||
|---|---|---|
| src | ||
| tests | ||
| .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
notifycrate - 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(())
}