← Back to context

Comment by dlcarrier

18 days ago

Makes me wish more apps followed the UNIX model of separating every feature into separate applications with well documented interfaces that only change when new features absolutely require it and otherwise are only updated for security patches.

Yeah I like that idea too. Theres a lot of people who would have trouble with that approach though.

One common case I notice this is with FFMPEG. Everything that saves a video needs its own dialog with different settings. It would make a lot more sense if you had 1 single polished FFMPEG frontend that everyone just streamed data to.

On the other hand, I'm afraid that if this did happen that FFMPEG frontend would look like a GNOME app and I would hate using it.

  • Me, on the other hand, love ffmpeg, because I notice my ytdlp using it and my vlc player sometimes using it and I have two homemade powrshell scripts using it to convert flac to mp3 and whatever. I don't want to open a program and figure out it's UI for those things. It has a job, it does it well, you can sort of pipe things to it and I'm very happy.

    • I'm not sure you understood what I mean. I'm talking about applications like Krita using FFMPEG to export their data as video. Sometimes they include their own FFMPEG instead of using FFMPEG installed in the system. Each of them has its own dialog. The only way to input custom settings for FFMPEG would be to export in a lossless video format and then reencode using FFMPEG, when you should be able to just "connect" a data stream to an FFMPEG frontend as the input and the frontend has all the options you might want to customize how that data is turned into a .mp4 file or .mov file.

  • This is something I like about lots of web apis.

    Want to generate a video, it's just a few lines of code. Want to connect the user's camera (with permission), it's just a few lines of code. Websockets? About 4 lines of code.

    There could be 1000s of options for each of those but they mostly distilled it down to what most people need, and they're cross platform.

  • I'm just glad that we have one very polished backend, in FFMPEG itself.

    My favorite frontend is MPV, because I can generally forgo a GUI and just use single keystrokes to do everything.