Comment by Dwedit

21 hours ago

Has anyone made a good GUI frontend for accessing the various features of FFMPEG? Sometimes you just want to remux a video without doing any transcoding, or join several video and audio streams together (same codecs).

Handbrake fits the bill, I think!

It's a great tool. Little long in the tooth these days, but gets the job done.

  • Seconded, HandBrake[0] is great for routine tasks / workflows. The UI could be simplified just a tad for super duper simple stuff (ex. ripping a multi-episode tv show disc but don't care about disc extras? you kind of have to hunt and poke based on stream length to decide which parts are the actual episodes. The app itself could probably reliably guess and present you with a 1-click 'queue these up' flow for instance) but otherwise really a wonderful tool!

    Past that, I'm on the command line haha

    [0] https://handbrake.fr

I have found the best front-end to be ChatGPT. It is very good at figuring out the commands needed to accomplish something in FFmpeg, from my natural description of what I want to do.

Joining videos together sounds easy, but there's tons of ways it can go wrong! You've got time bases to consider, start offsets, frame/overscan crops, fps differences (constant vs variable), etc. And even though your videos might both be h264, one might be encoded with B frames and open GOP, and the other not, and that might cause playback issues in certain circumstances. Similarly, both could be AAC audio, but one is 48kHz sample rate, the other 44.1kHz.

Someone else mentioned Lossless-Cut program, which is pretty good. It has a merge feature that has a compatibility checker ability that can detect a few issues. But I find transcoding the separate videos to MPEG-TS before joining them can get around many problems. If you fire up a RAM-Disk, it's a fast task.

  ffmpeg -i video1.mp4 -c copy -start_at_zero -fflags +genpts R:\video1.ts;
  ffmpeg -i video2.mp4 -c copy -start_at_zero -fflags +genpts R:\video2.ts;
  ffmpeg -i "concat:R:\video1.ts|R:\video2.ts" -c copy -movflags +faststart R:\merged.mp4

For Mac users, ffWorks [1] is an amazing frontend for FFmpeg that surfaces most of the features but with a decent GUI. It’s batchable and you can setup presets too. It’s one of my favorite apps and the developer is very responsive.

Handbrake and Losslssscut are great too. But in addition to donating to FFmpeg, I pay for ffWorks because it really does offer a lot of value to me. I don’t think there is anything close to its polish on other platforms, unfortunately.

[1]: https://www.ffworks.net/index.html

I haven't used a GUI I like, but LLMs like ChatGPT have been so good for solving this for me. I tell it exactly what I need it to do and it produces the ffmpeg command to do it.

Every frontend offers only a small subset of ffmpeg's total features, making them usable only for specific tasks.

It would need to be a non-linear editor node-based editor. Pretty much all open source video editors are just FFMPEG frontends, e.g. Kdenlive.