rff-format
The container abstraction layer of remade_ffmpeg_rs — the Demuxer and
Muxer traits, the Stream descriptor and the FormatRegistry that every
container crate registers into. FFmpeg's libavformat core, minus the
containers themselves.
Demuxer/Muxertraits — readPackets out of a byte stream, or write them into one; generic over anyRead + Send/Write + Send.FormatRegistry— resolve a container by name, by file extension, or by content probe (ProbeFnscoring, the same idea as FFmpeg's probe scores).Stream— per-stream descriptor: index,CodecId, timebase, and codec parameters.Format— the registration record with optional demuxer/muxer factories, so a container can be read-only (e.g. Matroska today).- Adding a container is one
register(&mut registry)call — no engine-core changes.
Usage
use FormatRegistry;
use Error;
Part of Remade With Rust
This crate is one layer of
remade_ffmpeg_rs — a
ground-up, permissively-licensed Rust rebuild of FFmpeg: a drop-in
ffmpeg/ffprobe CLI on pure-Rust codecs, with no copyleft. Most users want
the remade-ffmpeg engine facade or the
rff-cli binaries rather than this crate
directly.
Also check out our sister project
FFAI — media for an AI-first
world — and the rest of
github.com/remade-with-rust, including
the standalone codec crates
rusty_h264,
rusty_vp9,
rusty_mp3,
rusty_aac,
rusty-opus,
rusty_vorbis, and the
rusty-av1-toolkit forks.
About Mata Network
Mata Network builds sovereign, self-hostable infrastructure. Remade With Rust is our open-source home for the permissively-licensed building blocks that work depends on.
License
Apache-2.0. See the workspace LICENSE.