2026-03-11 01:46:35 +08:00
2026-03-11 01:46:05 +08:00
2026-03-11 01:46:35 +08:00
2026-03-11 01:40:36 +08:00
2026-03-11 01:41:54 +08:00

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

# 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

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

# Debug build
cargo build

# Release build (optimized)
cargo build --release

Run

# Run with cargo
cargo run -- video.mp4

# Run the binary directly
./target/debug/video_probe video.mp4

Test

# Run all tests
cargo test

# Run with output
cargo test -- --nocapture

Code Quality

# Format code
cargo fmt

# Run linter
cargo clippy

# Check without building
cargo check

License

This project is licensed under the MIT License.

Description
No description provided
Readme 51 KiB
Languages
Rust 69.1%
Python 30.9%