FFI binding for FFmpeg inner library.
Prerequisites
A Linux Machine with the Nightly Rust toolchain. You can use this one-liner script to install nightly Rust:
$ curl -s https://static.rust-lang.org/rustup.sh | sh -s -- --channel=nightly
cargo build
to build the bindings. If you have a pre-built ffmpeg, set PKG_CONFIG_PATH
to the path which points to *.pc
files in the build result(e.g. PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" cargo build
) then it will use the pre-built FFmpeg libraries. If no PKG_CONFIG_PATH
is set, it will first check if there are libav*-dev
installed. If not, it will git clone the FFmpeg from https://github.com/ffmpeg/ffmpeg and then configure and compile it for you. After the FFmpeg libraries is ready, the build script will take advantage of the package-config(*.pc
) files to: You can use cargo test
to test the generated bindings. If you haven't run cargo build
and you have pre-built FFmpeg libraries. Set the PKG_CONFIG_PATH
like this: PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" cargo test
which doesn't need to build the FFmpeg redundantly.
To see it works, you can run cargo run --example slice
.