8 stable releases

4.4.0 May 13, 2021
4.3.4 Jan 29, 2021
4.3.3 Oct 20, 2020
4.3.1 Aug 1, 2020

#32 in Video

Download history 28/week @ 2021-04-02 23/week @ 2021-04-09 49/week @ 2021-04-16 46/week @ 2021-04-23 39/week @ 2021-04-30 36/week @ 2021-05-07 46/week @ 2021-05-14 8/week @ 2021-05-21 11/week @ 2021-05-28 11/week @ 2021-06-04 19/week @ 2021-06-11 4/week @ 2021-06-18 21/week @ 2021-06-25 20/week @ 2021-07-02 11/week @ 2021-07-09 12/week @ 2021-07-16

133 downloads per month
Used in 2 crates (via ffav)

WTFPL license

210KB
4K SLoC

ffav-sys

ffav-sys on crates.io Build Status

This is a fork of the abandoned ffmpeg-sys-next crate. You can find this crate as ffav-sys on crates.io.

This crate contains low level bindings to FFmpeg. You're probably interested in the high level bindings instead: ffav-rs.

A word on versioning: major and minor versions 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 bug fixes of this crate and does not track FFmpeg patch versions.

FAQ

Cross Compilation

To build with cross toolchain, you shoud be set BINDGEN_EXTRA_CLANG_ARGS to tell the clang where to find the headers, if not do this, the bindgen maybe raise an error like:

/usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
/usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found, err: true
thread 'main' panicked at 'Unable to generate baldrapi.h bindings: ()', src/libcore/result.rs:1009:5

For example, to build with --target=aarch64-unknown-linux-gnu --features=bundled:

# .cargo/config.toml:
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
# Shell commands:
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=/usr/aarch64-linux-gnu"
cargo build --target=aarch64-unknown-linux-gnu --features=bundled

Dependencies

~0–1.6MB
~33K SLoC