Hacker News new | ask | show | jobs
by your_challenger 799 days ago
Use the terminal. There does not exist a single GUI interface that does everything ffmpeg does.

Use ChatGPT to help you find the right command for your need.

5 comments

Whenever I search for ffmpeg commands, there is always some person suggesting an 8 liner with 25 arguments, and next to that someone suggesting a command with two -i and one -o argument. On visual inspection both do the same, but I’m always left with the feeling that I did something wrong or just “got lucky” with the shorter command.

I would love a “unless you’re a pro with hyper specific needs, forget these 90% of arguments and only use this 10% in this way” type of guide.

> 8 liner with 25 arguments

That’s tame for FFmpeg, likely just specifying a bunch of encoder parameters the simpler command left out for defaults, maybe with some input/output streams explicitly spelled out. If you want to look at really incomprehensible FFmpeg commands, try anything with filtergraphs.

Too true! For a recent video project I wrote a 300 line bash script to generate the ffmpeg arguments needed to accomplish what I was after.
My experience is that ChatGPT is dreadful at everything but the simplest ffmpeg invocations, and will often produce command lines with subtle quirks (such as "only works if the input is an even number of pixels wide").

But then again, my experience is that ChatGPT is dreadful at everything but the simplest anything.

My experience is similar, but I find it can still be useful if you go step by step, check its work and explain errors and corrections as you go. Admittedly when I describe it like that it doesn't seem very useful, but if I'm figuring things out by myself then most of that work is a given anyway and the bot helps that process along.
Sometimes... but most often, after I explain in detail an error it did, it will just say "I apologize for the mistake, you are correct, <re-iteration of my explanation of the error>. Here is a version with the error fixed:", followed by either the exact same output or an equally wrong alternate output.

The fact that these glorified Markov chains manage to fool people into thinking they posses some kind of actual intelligence or ability to reason baffles me.

> my experience is that ChatGPT is dreadful at everything but the simplest anything.

Have you tried Claude 3 Opus (or even just Claude 3 Sonnet)?

https://www.anthropic.com/news/claude-3-family

No
That's such a clunky workflow and takes so long, sometimes you want to drag and drop a file, tick a couple of checkboxes and click a button
Why don't you keep a text file with the 3 commands you want to regularly run in the ffmpeg directory? fast. easy. cheap.
That still feels like a chore, opening some text file, copying the right command, opening a terminal, messing around with input and output file paths..

I don't like interacting with command line parameters in general, it feels clunky to me, but I don't think there's a point in arguing about it since it is more of a personal preference

Considering the website we’re on, under what circumstances would you not have a terminal open?
But which checkboxes? Ffmpeg would probably need a hundred thousand.
categorize, add tooltips, show defaults... this is some basic UI design stuff, should be possible.
But all of them have parameters. And depend on each other. And the order of filters matters. There is no way to make a simple interface for all ffmpeg can do.
> Use ChatGPT to help you find the right command for your need.

That would give you hallucinated commands, not commands that actually exist or make sense. Better read documentation or ask experienced humans.

Can't confirm. LLMs tend to be oddly good at FFmpeg and give you a good starting point you can work with.
probably because the documentation (of which there's a lot) is very good.
I don't know if I agree with that. The official docs do list a lot but often you get something like compression_level takes an integer from 1-8. But doesn't tell you if 1 is smaller output or 8 is to work the hardest.

However the wiki pages can be quite good if they cover your use case and the real strength is so many examples online. Even if many of the example command lines feel like they have been cargo-culted through the years and no one actually understands what exactly they do.

No, that's bad advice imho. ChatGPT (and Claude etc.) are all pretty damned good at this. Strongly recommend using them over reading the docs or asking other people if you're getting started.
So this is a good use case for it: you will most likely get immediate feedback if it's wrong, and a bit delayed feedback if it achieved the wrong thing; and you can prod it to try harder. LLMs are best used when you can easily verify the results.
StackOverflow is a much more reliable version of ChatGPT :)
use ffprobe on the file first then paste that output and what you want done to it. Helps if there’s something about the file/codec that GPT would have to work around. Had better success that way.