Top
Best
New

Posted by josharsh 12/27/2025

Show HN: Ez FFmpeg – Video editing in plain English(npmjs.com)
I built a CLI tool that lets you do common video/audio operations without remembering ffmpeg syntax.

Instead of: ffmpeg -i video.mp4 -vf "fps=15,scale=480:-1:flags=lanczos" -loop 0 output.gif

You write: ff convert video.mp4 to gif

More examples: ff compress video.mp4 to 10mb ff trim video.mp4 from 0:30 to 1:00 ff extract audio from video.mp4 ff resize video.mp4 to 720p ff speed up video.mp4 by 2x ff reverse video.mp4

There are similar tools that use LLMs (wtffmpeg, llmpeg, ai-ffmpeg-cli), but they require API keys, cost money, and have latency.

Ez FFmpeg is different: - No AI – just regex pattern matching - Instant – no API calls - Free – no tokens - Offline – works without internet

It handles ~20 common operations that cover 90% of what developers actually do with ffmpeg. For edge cases, you still need ffmpeg directly.

Interactive mode (just type ff) shows media files in your current folder with typeahead search.

npm install -g ezff

268 points | 125 commentspage 3
alexellisuk 12/27/2025|
This 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).

teitoklien 12/27/2025||
i figure out the niche ffmpeg commands various chain filters, etc then expose them from my python cli tool with words similar to what this gentleman above has done.

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

sallveburrpi 12/27/2025||
I have a text file with some common commands, so no tools needed.

But yea ffmpeg is awesome software, one of the great oss projects imo. working with video is hellish and it makes it possible.

vivzkestrel 12/27/2025||
I would love to see something like this for OpenSSL
Tempest1981 12/27/2025||
I was surprised that macOS (QuickTime/Preview, iMovie) can't read .mp4 files. Not sure if it was due to H.265 or the audio codec. I tried using ffmpeg to convert to .mov but that also failed to open, since I guess MOV is just another container format.

Is there an easier way?

kiicia 12/27/2025||
MP4 is container, not format, so if you have unsupported format packed into MP4 container it won’t be played. Example is trying to play AV1 video codec on devices with M2 chip or older. It won’t play. But it will play on devices with M3 chip and newer. Easiest solution is to use other player so that you can watch any MP4 file but with software decoding where hardware decoding is not available. Examples of such players are MPV or VLC.
Tempest1981 12/27/2025||
Yes, VLC works fine for playing. The user wanted to edit some mp4 videos with iMovie (vs ffmpeg).

I think it was an M4 Mac. Does iMovie need a codec pack? I know some PC OEMs don't ship an h.265 codec, pointing users to a $0.99 download. Thought Mac would include it, being aimed at content creators. Hoping for a cheaper solution than Adobe Premiere.

felixfoertsch 12/27/2025|||
IMHO the de-facto video player for macOS is [IINA](https://iina.io/).
trvz 12/27/2025||
That exists, but it’s still VLC.
wging 12/27/2025||
It's based on mpv, not vlc.
andrewf 12/27/2025|||
Try something like: ffmpeg -i in.mp4 -c:v h264 -c:a aac out.mp4

To re-encode the content into H.264+AAC, rather than simply "muxing" the encoded bitstreams from the MP4 container into a new MOV container.

Tempest1981 12/27/2025||
Thanks, I can even somewhat remember that. AI gave me args like

  -c:v libx264 -pix_fmt yuv420p -preset medium -crf 18 \
  -c:a aac -b:a 192k \
stackedinserter 12/27/2025||
"-c:v h264_videotoolbox -b:v 5000k" on macos, it will use hardware encoder.
codegladiator 12/27/2025||
vlc
pdyc 12/27/2025||
interesting approach, i solved similar problem by creating visual tool to generate ffmpeg commands but its not the same(it cant do conversion etc.)

I like that you took no AI approach, i am looking for something like this i.e. understanding intent and generating command without using AI but so far regex based approaches have proved to be inadequate. I also tried indexing keywords and creating index of keywords with similar meaning that improved the situation a bit but without something heavy like bert its always a subpar experience.

gamer191 12/27/2025||
Thanks, will definitely check this out

Has anyone else been avoiding typing FFmpeg commands by using file:// URLs with yt-dlp

bdbdbdb 12/27/2025||
Sometimes an idea comes along thats so obvious it makes me angry. I have been struggling with ffmpeg commands for over well a decade. All the time I wasted googling and creating scripts so I wouldn't have to regoogle and this could have existed literally from day one
dheera 12/27/2025||
See also:

https://github.com/dheera/scripts/blob/master/helpme

    helpme ffmpeg assemble all the .jpg files into an .mp4 timelapse video at 8fps
This evolved from an ffmpeg wrapper I wrote before:

https://news.ycombinator.com/item?id=40410637

Joyfield 12/27/2025||
Uhm... Millibit, Millibyte, Megabit, Megabyte?
two_handfuls 12/27/2025|
Good point, "mb" as used in the linked example would mean "millibit", which is almost certainly not what they meant.
maximgeorge 12/27/2025||
[dead]
Kcnfjhggjbh 12/27/2025|
Nnjdjfuvugnguh