Repository navigation
remade_ffmpeg_rs 0.2.2 — current codec engines
The remade_ffmpeg_rs crate family, republished against the current codec engines. The family moves to 0.2.2: every crate in it is API-compatible with its previous release (checked with cargo semver-checks against crates.io), so cargo update picks it up with no manifest change. The HEVC, H.264 and Opus adapters took new minor versions (published earlier today from #25) because their engine requirements moved across 0.x boundaries; depend on those versions directly to take the engine upgrades.
Engine upgrades
| Adapter | Engine before | Engine now |
|---|---|---|
rff-codec-hevc 0.2.0 |
rusty_h265 0.1 |
rusty_h265 0.6 — 147/147 JCT-VC HEVC_v1 streams bit-exact, 6183/6183 SEI picture hashes |
rff-codec-h264 0.3.0 |
rusty_h264 0.8 |
rusty_h264 0.16 |
rff-codec-opus 0.3.0 |
rusty-opus 0.9 |
rusty-opus 1.0 |
rff-codec-flac 0.2.2 |
rusty_flac 0.1 |
rusty_flac 0.2 |
rff-codec-jpeg 0.2.2 |
rusty_jpeg 0.3 |
rusty_jpeg 0.4 |
New
- HEVC decode in the engine:
rusty_h265behindremade-ffmpeg, wired through MP4, MKV and MPEG-TS. rtp://input (RFC 6184 H.264, RFC 2435 JPEG) and thertp,mjpegandmpjpeg(MJPEG over HTTP) formats — new cratesrff-format-rtpandrff-format-mjpeg.- H.264 encoder options:
-preset,-profile,-g,-b:v,-qp; one packet per frame through the lookahead.
Fixes and performance
- WAV demux reads the data chunk into its own buffer — no file-sized copy.
- Decode-to-WAV output path: no trailer copy, one-pass conform.
rff-io: the empty host binds every interface, and RTCP on the port is not treated as a stream.rusty_vp90.1.2: an opt-inprometheus-telemetryfeature (off by default) that records the encoder's coefficient-token entropy bins; output is byte-identical with or without it.
Unchanged
rusty_aac / rff-codec-aac 1.1.0, rusty_mp3 / rff-codec-mp3 1.0.0, rusty_h265 0.6.0, rff-codec-webp / rff-format-webp 0.2.1, rusty_webp and rusty_vorbis 0.1.1 were already current on crates.io and are not republished; they work with this release as-is.
What's Changed
- rusty_aac 0.4.0: measured vs FFmpeg, LATM/LOAS, HE-AAC signalling, 5.1 layouts by @Ttimmahlax in #2
- add release-plz so merged dependency bumps actually reach crates.io by @Ttimmahlax in #5
- ci: call the shared portfolio check, so a dependency bump has a baseline by @Ttimmahlax in #8
- bump rusty_alloc-api to =1.1.6 by @Ttimmahlax in #7
- rtp:// and MJPEG-over-HTTP inputs, rusty_h264 0.12 with preset/profile, rusty_jpeg 0.4.0 from crates.io by @Ttimmahlax in #11
- rff-io: the empty host binds every interface, and RTCP on the port is not a stream by @Ttimmahlax in #13
- ci: --no-fail-fast, so one broken crate stops hiding every other crate's tests by @Ttimmahlax in #15
New Contributors
- @Ttimmahlax made their first contribution in #2
Full Changelog: v0.1.0...v0.2.2
What's Changed
- rusty_aac 0.4.0: measured vs FFmpeg, LATM/LOAS, HE-AAC signalling, 5.1 layouts by @Ttimmahlax in #2
- add release-plz so merged dependency bumps actually reach crates.io by @Ttimmahlax in #5
- ci: call the shared portfolio check, so a dependency bump has a baseline by @Ttimmahlax in #8
- bump rusty_alloc-api to =1.1.6 by @Ttimmahlax in #7
- rtp:// and MJPEG-over-HTTP inputs, rusty_h264 0.12 with preset/profile, rusty_jpeg 0.4.0 from crates.io by @Ttimmahlax in #11
- rff-io: the empty host binds every interface, and RTCP on the port is not a stream by @Ttimmahlax in #13
- ci: --no-fail-fast, so one broken crate stops hiding every other crate's tests by @Ttimmahlax in #15
New Contributors
- @Ttimmahlax made their first contribution in #2
Full Changelog: v0.1.0...v0.2.2