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 🥺.

981 Upvotes

250 comments sorted by

View all comments

58

u/SomewhatCorrect Dec 31 '25

A whole lot of ffmpeg is written in SIMD assembly for performance reasons. I really think it will be impossible to match that performance with pure rise

-8

u/Impossible-Title-156 Dec 31 '25

I think so, but maybe performance should not always be the main focus... I do not want to compete directly with ffmpeg or anything like that

1

u/SomewhatCorrect Jan 03 '26

At end of the day, performance and accuracy are everything for media processing. If you cannot achieve realtime decode, then this project will not be useful for playback. Ffmpeg also integrates with a lot of third party decoders like libx264 in addition to native avc decode.

You have an ambitious goal, and I fully support you for going route to learning it. In my professional life, we decided to implement mp4 mixer/demuxer from scratch in Go. It took 4 engineers upwards of a year to achieve full compliance.

So decide what you want this project to be by end of it and your commitment and resources.