Crate for the tools that use video processing
Find a file
Benjamin Slingo f4b5d9ec39 Remove target directory from version control
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.
2025-09-13 21:26:54 -04:00
src 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
.env.example Initial commit: Shared video processing crate 2025-09-06 18:26:58 -04:00
.gitignore Remove .DS_Store and enhance gitignore rules 2025-09-13 21:24:41 -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(())
}