Crate for the tools that use video processing
Go to file
2025-09-06 18:29:21 -04:00
src Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
target Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
tests Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
.DS_Store Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
.env.example Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
.gitignore Add .gitignore to exclude build artifacts and IDE files 2025-09-06 18:29:21 -04:00
Cargo.lock Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
Cargo.toml Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
README.md Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00

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(())
}