Async Rust wrapper for ffmpeg
Built on tokio with tracing, graceful shutdown, and progress parsing. Three execution modes, full cancellation support, and automatic binary discovery.
Quick start
Get up and running with libffmpeg in minutes
Explore by topic
Learn core concepts and discover advanced features
Execution modes
Choose between slim, standard, and graceful execution modes
Progress parsing
Parse structured progress updates from ffmpeg output
Cancellation
Use CancellationToken for responsive shutdown
Binary discovery
Automatic ffmpeg/ffprobe detection with env var overrides
ffprobe
Extract media metadata and duration information
Monitoring
Stream stdout/stderr with CommandMonitor
Key features
Built for production use with Rust async patterns
Async-first design
Built on tokio with full async/await support and CancellationToken integration
Graceful shutdown
Send ‘q’ to ffmpeg stdin before SIGKILL for clean transcoding termination
Progress parsing
Structured Progress type from ffmpeg’s -progress pipe:1 output
Tracing integration
All functions instrumented with tracing spans and valuable support
Ready to get started?
Follow our quickstart guide to build your first ffmpeg application with Rust
View Quickstart