// the find
zmwangx/rust-ffmpeg
Safe FFmpeg wrapper.
Safe Rust bindings for FFmpeg, covering the full API surface: demuxing, decoding, encoding, muxing, filtering, scaling, resampling. Forked from an abandoned crate and kept alive by one maintainer. The target audience is Rust developers who need to do real multimedia work without shelling out to a subprocess.
Covers the full FFmpeg API breadth — format/codec/filter/software contexts are all there, not just the happy path. Version compatibility range is genuinely impressive: 3.4 through 8.0 with automated detection via build.rs rather than hand-managed feature flags. Working examples for transcode, remux, and frame extraction mean you can get something running without reading FFmpeg documentation first. Build pipeline is CI-tested against multiple FFmpeg versions, so 'it compiles' is actually verified.
Maintainer has explicitly declared maintenance-only mode and can't guarantee PR review turnaround — you are effectively on your own if you hit a gap in the API coverage. The versioning scheme is explicitly non-semver: minor versions can break your code, which means you need to peg an exact version or audit the changelog on every update. Filter graph API is present but thin — anyone building a complex filtergraph will find themselves reaching past the wrapper into unsafe territory faster than expected. No async support; all calls block, which is a real constraint in anything tokio-based.