# video_probe Extract video metadata using ffprobe (Rust version) A fast and efficient command-line tool to extract comprehensive metadata from video files using ffprobe. ## Features - Fast & Efficient - Written in Rust for optimal performance - Cross-platform - Works on Linux, macOS, and Windows - Comprehensive - Extracts video, audio, subtitle, and format metadata - JSON Output - Structured JSON output for easy processing - User-friendly - Clear console output with formatted summaries - Lightweight - Single binary deployment, no runtime dependencies ## Installation ### Prerequisites - Rust 1.70+ (https://rustup.rs/) - ffprobe from FFmpeg - macOS: brew install ffmpeg - Ubuntu/Debian: sudo apt-get install ffmpeg ### From Source ```bash # Clone the repository git clone http://192.168.110.200:3000/warren/video_probe.git cd video_probe # Build release version cargo build --release ``` The compiled binary will be available at `target/release/video_probe`. ## Usage ### Basic Usage ```bash video_probe video.mp4 ``` This will create a `video.probe.json` file in the same directory as the video file. ## Project Structure ``` video_probe/ ├── src/ │ ├── main.rs # CLI entry point │ ├── lib.rs # Library interface │ ├── error.rs # Error types │ ├── metadata.rs # Data structures │ ├── probe.rs # ffprobe execution │ ├── parser.rs # JSON parsing │ └── output.rs # Output formatting ├── tests/ │ └── integration_test.rs ├── Cargo.toml └── README.md ``` ## Development ### Build ```bash # Debug build cargo build # Release build (optimized) cargo build --release ``` ### Run ```bash # Run with cargo cargo run -- video.mp4 # Run the binary directly ./target/debug/video_probe video.mp4 ``` ### Test ```bash # Run all tests cargo test # Run with output cargo test -- --nocapture ``` ### Code Quality ```bash # Format code cargo fmt # Run linter cargo clippy # Check without building cargo check ``` ## License This project is licensed under the MIT License. ## Links - Repository: http://192.168.110.200:3000/warren/video_probe - Issues: http://192.168.110.200:3000/warren/video_probe/issues