rff-codec
The codec abstraction layer of remade_ffmpeg_rs — the Decoder and
Encoder traits plus the CodecRegistry that every codec crate registers into.
FFmpeg's libavcodec core, minus the codecs themselves.
Decoder/Encodertraits — push/pull, following theAgain/Eofdrain protocol fromrff-core.CodecRegistry— lookup byCodecIdor by FFmpeg-style name ("vp9","aac"), which is what powersffmpeg -codecs.Codec— the registration record: id, name, long name, media type, and optional decoder/encoder factories, so a codec can be decode-only or encode-only.CodecParams— the negotiated stream parameters handed to a codec at open time.- Adding a codec is one
register(&mut registry)call — no engine-core changes.
Usage
use ;
use ;
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.