#ffmpeg #audio #av

rsmpeg

A Rust crate that exposes FFmpeg's power as much as possible

26 releases (17 breaking)

0.18.0+ffmpeg.8.0 Aug 24, 2025
0.17.0+ffmpeg.7.1 Jul 8, 2025
0.16.1+ffmpeg.7.1 Jun 13, 2025
0.15.1+ffmpeg.7.0 Jun 18, 2024
0.1.0 Oct 31, 2020

#196 in Video

Download history 611/week @ 2026-01-21 746/week @ 2026-01-28 971/week @ 2026-02-04 840/week @ 2026-02-11 750/week @ 2026-02-18 838/week @ 2026-02-25 977/week @ 2026-03-04 1176/week @ 2026-03-11 753/week @ 2026-03-18 937/week @ 2026-03-25 1035/week @ 2026-04-01 1201/week @ 2026-04-08 1049/week @ 2026-04-15 1369/week @ 2026-04-22 1579/week @ 2026-04-29 2316/week @ 2026-05-06

6,558 downloads per month
Used in 6 crates (5 directly)

MIT license

230KB
4.5K SLoC

Rsmpeg

Doc Crates.io CI Ask DeepWiki

rsmpeg is a thin and safe layer above the FFmpeg's Rust bindings, its main goal is to safely expose FFmpeg inner APIs in Rust as much as possible.

Taking advantage of Rust's language design, you can build robust multi-media projects even quicker than using FFmpeg's C API.

Dependency requirements

Supported FFmpeg versions are 6.*, 7.*.

Minimum Supported Rust Version is 1.81.0(stable channel).

Getting started

Windows users

macOS, Linux users

Advanced usage

  1. Advanced FFmpeg linking: refer to rusty_ffmpeg's documentation for how to use environment variables to statically or dynamically link FFmpeg. rsmpeg also mirrors rusty_ffmpeg's link_system_ffmpeg and link_vcpkg_ffmpeg features for you to use ffmpeg installed by package manager (e.g., apt, brew, vcpkg).

  2. rsmpeg examples: Check out the tests/ffmpeg_examples folder, which partially mirrors ffmpeg examples.

Contributors

Thanks for your contributions!

Dependencies

~2.2–4.5MB
~89K SLoC