Hacker News new | ask | show | jobs
by edgarvaldes 88 days ago
One of the best open-source tools out there. I'm a frequent user of Plex, Jellyfin, Tunarr, local music files, etc. I use it weekly to extract subtitles, trim videos, convert music formats, and remove audio tracks. After writing the previous paragraph, I realized I've never donated to the project; it's time to change that.
1 comments

It's a lower-level component in so much stuff we're not even aware of.
Yep. Which is a great architecture IMO. Simple, performant and flexible: choose 3
As a FFMPEG API user (e.g. through libavcodec etc.) I would definitely not say "simple". It's constantly breaking stuff and deprecating features from one version to another, and basically requires reading the source constantly to make sure of what's happening and on which backend / API each function can operate. Just today, when I was trying to implement vulkan video decode in ossia score (https://ossia.io) :

    Copy data to or from a hw surface. At least one of dst/src must have an AVHWFramesContext attached.
    int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags);
Well unlike what the very first sentence of the comment block hints towards, it actually is only implemented for host<->device copy, not device<->device for many backends

That said, when it works, it's really great

FFmpeg is a prime single-block-everything-is-built-on xkcd example.
It's a sibling to curl in that way
Big difference for ffmpeg especially (but I imagine for curl too): it's not just one guy in Nebraska. Seems to have a very healthy community of devs involved in it.
Well, I don't how it is these days, but it hasn't always been describable as "Healthy".
I guess you guys have never heard of HarfBuzz, huh?
> prime single-block-everything-is-built-on xkcd

Sometimes I wonder if we can vanish one single project out of existence instantly, which one would cause the most chaos.

It looks like the EU compiled a list of contenders.

https://interoperable-europe.ec.europa.eu/sites/default/file...