1.1 KiB
1.1 KiB
Development Guide
This document provides information for developers working on the video_probe project.
Prerequisites
- Rust 1.70+ (https://rustup.rs/)
- FFmpeg/ffprobe (for probing video files)
Build Commands
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
# Format code
cargo fmt
# Run linter
cargo clippy
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
├── docs/
│ ├── DEVELOPMENT.md
│ ├── USAGE.md
│ └── API.md
├── Cargo.toml
└── README.md
Code Conventions
- Structs/Enums: PascalCase (e.g., VideoMetadata)
- Functions/Methods: snake_case (e.g., probe_video)
- Variables: snake_case (e.g., video_path)
Testing
# Run all tests
cargo test
# Run with output
cargo test -- --nocapture