
- Event-driven file stability tracking - FFmpeg video conversion with hardware acceleration - NFO file generation for Kodi compatibility - Environment-based configuration - Disk space monitoring and shutdown handling - Comprehensive logging with tracing
31 lines
876 B
Markdown
31 lines
876 B
Markdown
# 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
|
|
|
|
```rust
|
|
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(())
|
|
}
|
|
``` |