Germany's sovereign tech fund donated a bit more than $150k. What is a year of META Engineer time? $300k? More? If they spent a year of Engineering time, Meta gave more than double Germany's sovereign tech fund. My guess is that they have a team, probably including more than junior and mid level software engineers, working on media encoding and upstreaming patches, so I wouldn't be surprised if they are providing in terms of work at least $1M a year.
Isn't this like telling the world you ate a full meal by eating samples at Costco? Meta is ranking in billions as we speak, they ensure the FOSS projects they rely on are properly funded instead of shovelling cash to bullshit datacentre developments. Otherwise we're basically guaranteed to end up with another XZ fiasco once again when some tired unpaid FOSS maintainer ends up trusting a random Jia Tan in their desperation
> As our internal fork became increasingly outdated, we collaborated with FFmpeg developers, FFlabs, and VideoLAN to develop features in FFmpeg that allowed us to fully deprecate our internal fork and rely exclusively on the upstream version for our use cases.
Some comments seem to glance over the fact that they did give back and they are not the only ones benefitting from this. Could they give more? Sure, but this is exactly one of the benefits of open source where everyone benefits from changes that were upstreamed or financially supported by an entity instead of re-implementing it internally.
It's a positive development, but we can't minimize or ignore the conditions that precipitated it, giving back was less than hanging onto the changes for private benefit.
Still, Meta has also put a lot out there in open source, from a differentiation perspective it doesn't seem to go unnoticed.
Yeah, but who needs the features of a corp who has to process zillions of videos? Very very very few. So your argument about FOSS is deeply flawed and only serves those in power.
> At the same time, new versions of FFmpeg brought support for new codecs and file formats, and reliability improvements, all of which allowed us to ingest more diverse video content from users without disruptions.
While it is good they worked to get their internal improvements into upstream, and this is certainly better behavior than some other unmentioned tech giants. It makes one wonder (since they are presumably running it tens of billions of times per day), if they were involved in supporting these improvements all along. If not, why not?
> By running all encoder instances in parallel, better parallelism can be obtained overall.
This makes a lot of sense for the live-streaming use case, and some sense for just generally transcoding a video into multiple formats. But I would love to see time-axis parallelization in ffmpeg. Basically quickly split the input video into keyframe chunks then encode each keyframe in parallel. This would allow excellent parallelization even when only producing a single output. (And without lowering video quality as most intra-frame parallelization does)
Can you know in advance where the keyframes will be? I have been under the impression they are usually placed for maximum encoding efficiency (meaning, they are placed where the encoding of the inter-frame differences adds up to the same size as encoding a full frame), it might not be possible to split the work up in advance.
tens of billions of executions per day is insane. i run ffmpeg a few thousand times daily for automated video assembly and even at that scale the process startup overhead is noticeable. the single-decode multi-output trick alone saved me like 40% wall time when i switched to it. cant imagine what those savings look like multiplied by 10 billion
I am thankful to the Meta / Facebook team for contributing time, energy & improvements to `ffmpeg` and `ffprobe`. I hope they consider funding the project, so that `ffmpeg` can invest in code quality, documentation & ease of use, community events / hackathons, and more.
30 comments
[ 4.8 ms ] story [ 55.7 ms ] threadSome comments seem to glance over the fact that they did give back and they are not the only ones benefitting from this. Could they give more? Sure, but this is exactly one of the benefits of open source where everyone benefits from changes that were upstreamed or financially supported by an entity instead of re-implementing it internally.
We're using React Native, hello!?
We're using React!
Tons of projects, we should be very grateful they give so much tbh.
Still, Meta has also put a lot out there in open source, from a differentiation perspective it doesn't seem to go unnoticed.
[Edit: Why is anyone downvoting me linking to the previous post of this? What possible objection could you have to this particular comment?]
Oof. That is so relatable.
Also ffmpeg 8 is finally handling HDR and SDR color mapping for HDR perfectly as of my last recompile on Gentoo :)
While it is good they worked to get their internal improvements into upstream, and this is certainly better behavior than some other unmentioned tech giants. It makes one wonder (since they are presumably running it tens of billions of times per day), if they were involved in supporting these improvements all along. If not, why not?
This makes a lot of sense for the live-streaming use case, and some sense for just generally transcoding a video into multiple formats. But I would love to see time-axis parallelization in ffmpeg. Basically quickly split the input video into keyframe chunks then encode each keyframe in parallel. This would allow excellent parallelization even when only producing a single output. (And without lowering video quality as most intra-frame parallelization does)