#multimedia-video #ffmpeg #audio-video #multimedia

ffmpeg-next

Safe FFmpeg wrapper (FFmpeg 4 compatible fork of the ffmpeg crate)

27 stable releases (4 major)

Uses old Rust 2015

7.1.0 Sep 29, 2024
7.0.4 Jul 31, 2024
7.0.2 May 28, 2024
6.1.1 Jan 3, 2024
0.2.0 Sep 20, 2018

#2 in Video

Download history 5117/week @ 2024-08-24 5451/week @ 2024-08-31 3877/week @ 2024-09-07 3377/week @ 2024-09-14 4037/week @ 2024-09-21 4464/week @ 2024-09-28 3979/week @ 2024-10-05 4120/week @ 2024-10-12 3839/week @ 2024-10-19 3886/week @ 2024-10-26 3920/week @ 2024-11-02 3641/week @ 2024-11-09 3908/week @ 2024-11-16 4556/week @ 2024-11-23 4127/week @ 2024-11-30 4543/week @ 2024-12-07

17,659 downloads per month
Used in 53 crates (39 directly)

WTFPL license

470KB
14K SLoC

crates.io docs.rs build

This is a fork of the abandoned ffmpeg crate by meh..

This crate is currently in maintenance mode, and aims to be compatible with all of FFmpeg's versions from 3.4 (currently from 3.4 til 7.0)

Build instructions can be found on the wiki.

Documentation:

Note on upgrading to v4.3.4 or later: v4.3.4 introduced automatic FFmpeg version detection, obsoleting feature flags ffmpeg4, ffmpeg41, ffmpeg42 and ffmpeg43. If you manually specify any of these features, now is the time to remove them; if you use ffmpeg43 through the default feature, it's still on for backward-compatibility but it has turned into a no-op, and you don't need to do anything. Deprecation plan: ffmpeg43 will be dropped from default features come 4.4, and all these features will be removed come 5.0.

See CHANGELOG.md for other information on version upgrades.

A word on versioning: major and minor versions of this crate track major and minor versions of FFmpeg, e.g. 4.2.x of this crate has been updated to support the 4.2.x series of FFmpeg. Patch level is reserved for changes to this crate and does not track FFmpeg patch versions. Since we can only freely bump the patch level, versioning of this crate differs from semver: minor versions may behave like semver major versions and introduce backward-incompatible changes; patch versions may behave like semver minor versions and introduce new APIs. Please peg the version you use accordingly.

Please realize that this crate is in maintenance-only mode for the most part. Which means I'll try my best to ensure the crate compiles against all release branches of FFmpeg 3.4 and later (only the latest patch release of each release branch is officially supported) and fix reported bugs, but if a new FFmpeg version brings new APIs that require significant effort to port to Rust, you might have to send me a PR (and just to be clear, I can't really guarantee I'll have the time to review). Any PR to improve existing API is unlikely to be merged, unfortunately.

🤝 If you have significant, demonstrable experience in Rust and multimedia-related programming, please let me know, I'll be more than happy to invite you as a collaborator. 🤝

Dependencies

~0.2–3.5MB
~60K SLoC