← Back to context

Comment by JadoJodo

18 hours ago

I don't know a huge amount about video encoding, but I presume this is one of those libraries outlined in xkcd 2347[0]?

[0] - https://xkcd.com/2347/

Yeah, basically anytime a video or audio is being recorded, played, or streamed its from ffmpeg. It runs on a couple planets [0], and on most devices (maybe?)

[0] https://link.springer.com/article/10.1007/s11214-020-00765-9

  • FFMpeg is definitely fairly ubiquitous, but you are overstating its universality quite a bit. There are alternatives that utilize Windows/macOS's native media frameworks, proprietary software that utilizes bespoke frameworks, and libraries that function independently of ffmpeg that offer similar functionality.

    That being said, if you put down a pie chart of media frameworks (especially for transcoding or muxing), ffmpeg would have a significant share of that pie.

  • Not necessarily. A lot of video software either leverages the Windows/MacOS system codecs (ex. Media Player Classic, Quicktime) or proprietary vendor codecs (Adobe/Blackmagic).

    Linux doesn't really have a system codec API though so any Linux video software you see (ex. VLC, Handbrake) is almost certainly using ffmpeg under the hood (or its foundation, libavcodec).

Pretty much.

It also was originally authored by the same person who did lzexe, tcc, qemu, and the current leader for the large text compression benchmark.

Oh, and for most of the 2010's there was a fork due to interpersonal issues on the team.

  • Brings back memories. There was a time when the fork, libav, became the default on Ubuntu, and ffmpeg commands would say "this command is no longer maintained" or so. That was where I learned that there was a fork, and I thought ffmpeg was going to die as a result because there was heavy development activity on libav compared to ffmpeg initially. Surprise, ffmpeg outlived its fork!

    This post talks about the situation back then: https://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

Yeah I think pretty much everything that involves video on Linux or FreeBSD in 2025 involves FFmpeg or Gstreamer, usually the former.

It’s exceedingly good software though, and to be fair I think it’s gotten a fair bit of sponsorship and corporate support.