ffav-sys

FFI bindings to FFmpeg


Keywords
audio, ffi, video
License
WTFPL

Documentation

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:

export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=/usr/aarch64-linux-gnu"
cargo build --target=-aarch64-unknown-linux-gnu