Remix.run Logo
byteknight 4 days ago

Seems so easy! You only need the entire world even tangentially related to video to rely solely on your project for a task and you too can have all the developers you need to work on performance!

astrange 4 days ago | parent | next [-]

ffmpeg has competition. For the longest time it wasn't the best audio encoder for any codec[0], and it wasn't the fastest H.264 decoder when everyone wanted that because a closed-source codec named CoreAVC was better[1].

ffmpeg was however, always the best open-source project, basically because it had all the smart developers who were capable of collaborating on anything. Its competition either wasn't smart enough and got lost in useless architecture-astronauting[2], or were too contrarian and refused to believe their encoder quality could get better because they designed it based on artificial PSNR benchmarks instead of actually watching the output.

[0] For complicated reasons I don't fully understand myself, audio encoders don't get quality improvements by sharing code or developers the way decoders do. Basically because they use something called "psychoacoustic models" which are always designed for the specific codec instead of generalized. It might just be that noone's invented a way to do it yet.

[1] I eventually fixed this by writing a new multithreading system, but it took me ~2 years of working off summer of code grants, because this was before there was much commercial interest in it.

[2] This seems to happen whenever I see anyone try to write anything in C++. They just spend all day figuring out how to connect things to other things and never write the part that does anything?

godelski 4 days ago | parent | next [-]

  > They just spend all day figuring out how to connect things to other things and never write the part that does anything?
I see a lot of people write software like this regardless of language. Like their job is to glue pieces of code together from stack overflow. Spending more time looking for the right code that kinda sorta works than it would take to write the code which will just work.
astrange 3 days ago | parent [-]

At least they get there.

I was thinking about two types of people; one gets distracted and starts writing their own UI framework and standard library and never gets back to the program. The other starts writing a super-flexible plugin system for everything because they're overly concerned with developing a community to the point they don't want to actually implement anything themselves.

(In this space the first was a few different mplayer forks and the second was gstreamer.)

godelski 3 days ago | parent [-]

Sometimes they get there but a lot of times not too.

I'm pretty sure there are a lot more types and the two you wrote aren't the copy-pasters either. Me, I try to follow the Unix philosophy[0] though I think there's plenty of exceptions to be made. Basically just write a bunch of functions and make your functions simple. Function overhead calls are usually cheap so this allows things to be very flexible. Because the biggest lesson I've learned is that the software is going to change so it is best to write with this in mind. The best laid plans of mice and men and all I guess. So write for today but don't forget about tomorrow.

Then of course there are those that love abstractions, those that optimize needlessly, and many others. But I do feel the copy-pasters are the most common type these days.

[0] https://en.wikipedia.org/wiki/Unix_philosophy

skeaker 3 days ago | parent | prev [-]

That's a fun term for [2]. Our team always called it bikeshedding.

ackfoobar 4 days ago | parent | prev | next [-]

I seem to recall that they lamented on twitter the low amount of (monetary or code) contribution they got, despite how heavily they are used.

godelski 4 days ago | parent | next [-]

They have some fire tweets, especially when people say they write things from scratch or boast about how much money they make with ffmpeg wrappers

https://x.com/FFmpeg/status/1775178803129602500

https://x.com/FFmpeg/status/1856078171017281691

https://x.com/FFmpeg/status/1950227075576823817

Oh, and here's one making fun of HN comments. Hi ffmpeg :) https://x.com/FFmpeg/status/1947076489880486131

hdgvhicv 4 days ago | parent | prev | next [-]

Wasn’t that a trillion dollar company demanding support for their little problem?

lo_zamoyski 4 days ago | parent | prev [-]

No one is forcing them to produce code for free. There is something toxic about giving things away for free with the ulterior motive of getting money for it.

imchillyb 4 days ago | parent [-]

It’s market manipulation, with the understanding that free beats every other metric.

Once the competition fails, the value extraction process can begin. This is where the toxicity of our city begins to manifest. Once there is no competition remaining we can begin eating seeds as a pastime activity.

The toxicity of our city; our city. How do you own the world? Disorder.

Disorder…

hluska 4 days ago | parent | prev [-]

You know friend, if open source actually worked like that I wouldn’t be so allergic to releasing projects. But it doesn’t - a large swath of the economy depends on unpaid labour being treated poorly by people who won’t or can’t contribute.