When converting video to gif, I always use palettegen, e.g. ffmpeg -i input.mp4 -filter_complex "fps=15,scale=640:-2:flags=lanczos,split[a][b];[a]palettegen=reserve_transparent=off[p];[b][p]paletteuse=dither=sierra2_4a" -loop 0 output.gif See also: this blog post from 10 years ago [1] [1] https://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
Show HN: Ez FFmpeg – Video editing in plain English
51–60 of 210 posts
Re: Show HN: Ez FFmpeg – Video editing in plain English
#52Quite telling that these tools need to exist to make ffmpeg actually usable by humans (including very experienced developers).
Re: Show HN: Ez FFmpeg – Video editing in plain English
#53Earlier quoted context omitted.
As pessimistic about it as I am, I do think LLMs have a place in helping people turn their text description into formal directives. (Search terms, command-line, SQL, etc.) ... Provided that the user sees what's being made for them and can confirm it and (hopefully) learn the target "language." Tutor, not a do-for-you assistant.
Do most devs even look at the source code for packages they install? Or the compiled machine code? I think of this as just a higher level of abstraction. Confirm it works and not worry about the details of how it works
You can’t verify LLM’s output. And thus, any form of trust is faith, not rational logic.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#54Earlier quoted context omitted.
I agree apart from the learning part. The thing is unless you have some very specific needs where you need to use ffmpeg a lot, there’s just no need to learn this stuff. If I have to touch it once a year I have much better things to spend my time learning than ffmpeg command
There is no universe where I would like to spend brain power on learning ffmpeg commands by heart.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#55This looks handy.. along with the odd gist of "convert mkv to mp4" that I have to use every other week. Quite telling that these tools need to exist to make ffmpeg actually usable by humans (including very experienced developers).
But yea ffmpeg is awesome software, one of the great oss projects imo. working with video is hellish and it makes it possible.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#56Earlier quoted context omitted.
But doesnt something like this interface kind of show the inefficiency of this? Like we can all agree ffmpeg is somewhat esoteric and LLMs are probably really great at it, but at the end of the day if you can get 90% of what you need with just some good porcelain, why waste the energy spinning up the GPU?
Because FFmpeg is a swiss army knife with a million blades and I don't think any easy interface is really going to do the job well. It's a great LLM use case.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#57It's incredible what lengths people go to to avoid memorizing basic ffmpeg usage. It's really not that hard, and the (F.) manual explains the basic concepts fairly well.
Now, granted, ffmpeg's defaults (reencoding by default and only keeping one stream of each type unless otherwise specified) aren't great, which can create some footguns, but as long as you remember to pass `-c copy` by default you should be fine.
Also, hiding those footguns is likely to create more harm than it fixes. Case in point: "ff convert video.mkv to mp4" (an extremely common usecase) maps to `ffmpeg -i video.mkv -y video.mp4` here, which does a full reencode (losing quality and wasting time) for what can usually just be a simple remux.
Similarly, "ffmpeg extract audio from video.mp4" will unconditionally reencode the audio to mp3, again losing quality. The quality settings are also hardcoded and hidden from the user.
I can sympathize with ffmpeg syntax looking complicated at first glance, but the main reason for this is just that multimedia is really complicated and that some of this complexity is necessary in order to not make stupid mistakes that lose quality or waste CPU resources. I truly believe that these ffmpeg wrappers that try to make it seem overly simple (at least when it's this simple, i.e. not even exposing quality settings or differentiating between reencoding and remuxing) are more hurtful than helpful. Not only can they give worse results, but by hiding this complexity from users they also give users the wrong ideas about how multimedia works. "Abstractions" like this are exactly how beliefs like "resolution and quality are the same thing" come to be. I believe the way to go should be educating users about video formats and proper ffmpeg usage (e.g. with good cheat sheets), not by hiding complexity that really should not be hidden.
Edit: Reading through my comment again, I have to apologize for the slightly facetious opening statement, even if I quality it later on. The fact that so many ffmpeg wrappers exists is saying something about its apparent difficulty, but as I argue above, a) there are reasons for this (namely, multimedia itself just being complicated), and b) I believe there are good and bad ways to "fix" this, with oversimplified wrappers being more on the "bad" side.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#58Re: Show HN: Ez FFmpeg – Video editing in plain English
#59Earlier quoted context omitted.
As pessimistic about it as I am, I do think LLMs have a place in helping people turn their text description into formal directives. (Search terms, command-line, SQL, etc.) ... Provided that the user sees what's being made for them and can confirm it and (hopefully) learn the target "language." Tutor, not a do-for-you assistant.
Do most devs even look at the source code for packages they install? Or the compiled machine code? I think of this as just a higher level of abstraction. Confirm it works and not worry about the details of how it works
It isn’t fair to say “since I don’t read the source of the libraries I install that are written by humans, I don’t need to read the output of an llm; it’s a higher level of abstraction” for two reasons:
1. Most Libraries worth using have already been proven by being used in actual projects. If you can see that a project has lots of bug fixes, you know it’s better than raw code. Most bugs don’t show up unless code gets put through its paces.
2. Actual humans have actual problems that they’re willing to solve to a high degree of fidelity. This is essentially saying that humans have both a massive context window and an even more massive ability to prioritize important things that are implicit. LLMs can’t prioritize like humans because they don’t have experiences.
Re: Show HN: Ez FFmpeg – Video editing in plain English
#60This looks handy.. along with the odd gist of "convert mkv to mp4" that I have to use every other week. Quite telling that these tools need to exist to make ffmpeg actually usable by humans (including very experienced developers).
If one has fewer such commands its as simple as just bash aliases and just adding it to ~/.bashrc
alias convertmkvtomp4='ffmpeg command'
then just run it anytime with just that alias phrase i use ffmpeg a lot so i have my own dedicated cli snippet tool for me, to quickly build out complex pipeline in easier language
the best part is i have --dry-run then exposes the flow + explicit commands being used at each step, if i need details on whats happening and verbose output at each step