LiamPowell 4 hours ago [-]
I have no issue with people sharing LLM generated tools if they actually work, even if they're 100% LLM generated and the poster has just validated that they work, but with just a quick glance I can see many issues with this that indicate you haven't tested it or even bothered to read the handful of words on the page:

- The target file size option on the compression tab just changes the bitrate without any consideration for the length of the video. This is immediately visible if you either test the command, if you're aware of what bitrate is, or if you even bother to read the LLM generated code in which there's a comment that says "Assuming 60 second video".

- The resolution options do not allow for anything other than 16:9, you can set one parameter to -1 (or -n for a multiple of n) to make it work with any aspect ratio. I can maybe see a person clumsily missing this one.

- There is no such thing as a "wav" encoder in ffmpeg. This is again immediately obvious if you test the generated commands as ffmpeg will print an error message and not produce an output file.

- Why does the command for "video compression" (which it isn't) in the FAQ not match the command generated by the tool?

LeoPanthera 3 hours ago [-]
This is dangerously oversimplified. It takes no account of source files with multiple tracks, so you'll probably end up accidentally throwing some away.

The "quality" slider implies that if you move it to the right, you'll get more quality. But higher numbers of the crf value are lower quality, not higher.

The resize function takes no account of the original aspect ratio of the source video, so you'll probably squash things.

Audio extraction ignores whatever the source codec is, missing the opportunity of extracting the source codec without recompressing. Additionally the built-in "aac" codec is very low quality and should not be used. ("libflac" is probably a better choice than "flac", too.)

gyf304 4 hours ago [-]
Look great, a few nits:

- For the convert page, the tool seems to conflate codec and container format. For example, for MKV option, the tool specifies libx264, when MKV is capable of many more codecs. In addition, a lot of the times when people want to "convert", e.g. from MP4 to MKV, they mean to remux - i.e. "-c copy", which doesn't seem like an option here.

- For the compress page, the tool allows you to specify the target size, however the command output limits bitrate instead of target size. This means that the output size will vary depending on how long the input is, and will almost never be the specified target size.

I would suggest merge the "Convert" and "Compress" tabs, and allow specifying:

- video bitrate (-b:v)

- video codec (-c:v)

- audio bitrate (-b:a)

- audio codec (-c:a)

- container format

I found handbrake to be a good GUI-based alternative if ffmpeg commands are overwhelming.

alehlopeh 4 hours ago [-]
AI has been pretty solid with ffmpeg commands
kevmo314 4 hours ago [-]
I wonder if it would be more productive to bake that into ffmpeg at some point.

For example, something like

> ffmpeg -llm "can you take input.mp4 and resize it to 720p, transcode to vp8 output to output.webm"

socalgal2 4 hours ago [-]
How about just using a LLM that can execute commands

> llm -yolo "can you take input.mp4 and resize it to 720p, transcode to vp8 output to output.webm"

separate tools for separate jobs. ffmpeg doesn't need more features.

kevmo314 4 hours ago [-]
Then people will keep building tools like this. Which, there's nothing specifically wrong with, but rather it's clear there's a demand for ffmpeg-but-more-ergonomic and ffmpeg is in the best position to do that.
scyzoryk_xyz 1 hours ago [-]
Isn't most non-linear editing software basically ffmpeg-but-more-ergonomic?
miohtama 3 hours ago [-]
You do not need to execute. Copy pasting command from a LLM answer to terminal takes less than a second.
guluarte 4 hours ago [-]
you can use shell oracle for that
dingnuts 4 hours ago [-]
then you have to ship a model with ffmpeg lol
kevmo314 4 hours ago [-]
With the recent Whisper integration there's already precedence for a way to do that.
bsimpson 4 hours ago [-]
Working with open source software is definitely a strength of AI. Makes Nix a lot more approachable too, since just about every use of their language ever is on GitHub.
dingnuts 4 hours ago [-]
was literally the first thing I found LLMs to be good at

this website would've been awesome ten years ago.. it'll make great training data now I guess

hdbdbdb 1 hours ago [-]
This site is a counter example since it is obvious AI slop generating wrong commands
jurakovic 4 hours ago [-]
Why build "pages" with so much overhead though? Let alone with so many mistakes (as other pointed them out). It could be simple github readme or even just gist
wrs 4 hours ago [-]
I have to say, I used to have a similar cheat sheet, but Claude has totally solved this problem for me.

Way more than that, in fact... I had a bunch of 20-year-old 8mm film transfers on DV, where the scanner had put white-on-black titles between the reels. Claude wrote me a script combining ffmpeg and other tools that not only converted the format from DV to MP4, but found the interstitial titles, did OCR on them, regenerated them in full resolution, replaced the original titles with the new ones, and rendered the result as one file per reel.

omoikane 3 hours ago [-]
These pages need to take input file into account to provide better flags. Maybe what you want is a page that generates shell scripts.

+ Compress to target needs to know input length, as others have mentioned. Also, usually I would encode in multiple passes to better allocate the bits if I am targeting a specific size.

+ "Extract audio" shows commands that will reencode the audio stream. If input stream is already in a format that I can use, what I would do is to copy the audio stream without reencoding (`-c:a copy`).

gaowanliang 4 hours ago [-]
Unless the task is very simple, I rarely use FFmpeg commands. I use GUI tools like Handbrake, which can reduce my cognitive load. Commands only add to my pressure.
coisasdavida 4 hours ago [-]
Very useful! I'll bookmark that! My most recent search to use with FFMPEG was to convert a folder of Sony videos to Prores. ChatGPT helped me with this one-liner: for f in *.MTS; do ffmpeg -y -i "$f" -c:v prores_ks -profile:v 1 -vendor apl0 -pix_fmt yuv422p10le "proResLT_${f%.MTS}.mov"; done Maybe having the option to create one liners like this, for different platforms, would be nice!
cloudking 4 hours ago [-]
This is useful!

Personally I use AI-shell CLI, type "ai" and ask things like "ffmpeg convert input.mp4 to webm clip first 8 seconds" or any other shell command you need.

https://github.com/BuilderIO/ai-shell

Flux159 4 hours ago [-]
This is helpful when I don't want to use AI.

Any chance you could add "extract clips" in addition to extract frames? Specifically I had to split a video into x-second clips recently & had to use AI to get the right command for that.

hdbdbdb 1 hours ago [-]
This is AI generated and the commands are wrong in multiple cases
haunter 4 hours ago [-]
The FAQ is basically my use case of ChatGPT. Not just for FFmpeg but pretty much every CLI tool
tombert 4 hours ago [-]
I've been using ffmpeg so long and so frequently that I have almost forgotten how opaque it is to people who aren't terminally on the computer.

This looks like it could be useful for most people.

DeepYogurt 3 hours ago [-]
Love this. Thank you much
habibur 4 hours ago [-]
Alternate,

a few batch files

for all common tasks

names starting with ffmpeg.*

and -h displays help.

guluarte 4 hours ago [-]
i use shell oracle (https://github.com/djcopley/ShellOracle), works fine most of the time

> convert this video.mp4 to webm without audio using ffmpeg

$ ffmpeg -i video.mp4 -c:v libvpx -an output.webm