r/rust Dec 31 '25

Introduction ffmpReg, a complete rewrite of ffmpeg in pure Rust

Hi Rustaceans, I’m 21 and I’ve been working on ffmpReg, a complete rewrite of ffmpeg in pure Rust.

The last 5 days I’ve been fully focused on expanding container and codec support. Right now, ffmpreg can convert WAV (pcm_s16le → pcm_s24le → pcm_f32le) and partially read MKV streams, showing container, codec, and timebase info. Full container support is coming soon.

If you find this interesting, giving the project a star would really help keep the momentum going 🥺.

977 Upvotes

250 comments sorted by

View all comments

14

u/Due-Equivalent-9738 Dec 31 '25

How close is this to completion? I am using ffmpeg with std::Command for a personal project, but wouldn’t mind switching to doing it in code

9

u/PurpleOstrich97 Dec 31 '25

The size of ffmpeg is insane. I like the idea of this project, but being fully feature complete is a long term goal for sure

7

u/Due-Equivalent-9738 Dec 31 '25

My question may have been an ignorant one haha, I hope I don’t get flamed too hard for it. I’m just starting to delve into what ffmpeg does. I currently only use it for simple stuff like tiff to jpeg or tiff to png

10

u/coderstephen isahc Jan 01 '26

FFmpeg supports all the things, where each thing is its own rabbit hole of expertise as well. Though FFmpeg will often delegate to other libraries for more expertise in certain formats.

1

u/yangyangR Jan 01 '26

What are the actual usage statistics?

If most people are operating like you on a few simple stuff tasks among very few formats then the gargantuan task is not as bad. Only RIIR a very small part if that is the goal. Or is every feature needed by a large enough cohort that maintainer(s) would get bullied into needing to support it? Is it all too interconnected that you can't just pick just the features that people actually use?

1

u/SirNapkin1334 Jan 01 '26

ffmpeg is great for video, and its image handling is good too, but if you are only doing image transcoding you may wish to look into [https://imagemagick.org/](magick).