I think sentiments such as "monoliths are bad" often start out well informed, but as time passes on and it's passed along between generations of developers, aspects such as when and why monoliths are bad gets lost until it's just some sort of universal truth that nobody bothers to question.
ffmpeg is one of the most hacky command line tool and library. The way the library is made has so many leaky abstractions from the fact it was ripped out of the command line tool.
Making a replacement that had a well designed library and a separate CLI that uses that library would be much better than what monolithic has offered.
out of curiosity, do you know about any project that deals with so many functionalities across so many formats, exposed mainly thru CLI and it's not hacky and leaky at places?
Maybe pandoc?
Most of ffmpeg functionality is extremely hard to use from a command line; my frequent kind of a custom development project is "help me enhance/optimise this PHP application using ffmpeg" (shows something that spits ffmpeg command line, two screens worth of it) => ending up writing a C app that does same stuff with libav* directly, sometimes app ending up smaller than original PHP code...
In the same category, gstreamer is perhaps cleaner than ffmpeg
Gstreamer vs ffmpeg is like microservices vs monolith. With similar problems. Microservices look nice in theory. Unfortunately they turn out to be highly complex to manage. Gstreamer is way more complex to use than it appears at first glance and connecting various filters often fails for reasons hard to understand and requires hours of fiddling to get it to work.
Linux kernel, llvm, gcc.
The work to make the cli streamlined is substantial, but examples exist
Docker
Multimedia isn't something that is easily represented on a CLI.