Remix.run Logo
Show HN: FFmpeg WebCLI – Full FFmpeg in Browser, Offline PWA, No Uploads(WASM)(github.com)
63 points by tejaswigowda 3 hours ago | 18 comments

Built a browser-based FFmpeg editor that runs entirely client-side via WebAssembly. Your files never leave your device -- all processing happens in a Web Worker. Works offline as an installable PWA after first load.

mdswanson 12 minutes ago | parent | next [-]

I find it fascinating that we keep trying to build things that already exist, but on top of another app (web browser). I mean, it's cool to see, and it will have its use-cases, but I wonder where we'd be if we didn't have to do this.

senshi001 3 hours ago | parent | prev | next [-]

Just a thought - is the text “Click to upload” with a cloud icon perhaps a bit misleading?

If it’s fully client side, then you are just opening a file in essence - no clouds in sight!

hdb2 24 minutes ago | parent | next [-]

Yeah, if the author sees this, it would be best to change this to "Click to Open". We can argue about the icon (I would say the floppy image), but seeing the word "upload" with a cloud icon 1000% means "send this up to the Internet."

pooploop64 2 hours ago | parent | prev | next [-]

I agree something like a folder or file icon would be more accurate.

shevy-java an hour ago | parent | prev [-]

I guess UI-wise some changes wouldn't be bad, but I am just glad it works. I am currently converting an ancient .mpg into a .mp4; I could do so via ffmpeg from the commandline, but I always forget which options to use, so a GUI kind of frees brain space here.

ale42 2 hours ago | parent | prev | next [-]

Nice interface at a first glance, for sure can be useful for users who would find using the actual thing too cumbersome. How does performance compare to the native app? Is any form of hardware decoding/encoding like h264_nvenc available? (I guess not?)

dtf 2 hours ago | parent [-]

I would imagine the only way to use NVENC directly from a browser would be via WebCodecs.

bxclltkfz 25 minutes ago | parent | prev | next [-]

I love this, be interesting if this could make an in-browser video editor

jamal-kumar 3 hours ago | parent | prev | next [-]

Any chance those AVX-512 optimizations they released a while ago work within this? [1]

[1] https://www.phoronix.com/news/FFmpeg-July-2025-AVX-512

dtf 3 hours ago | parent | next [-]

I think WASM SIMD is only 128-bit wide.

adzm 2 hours ago | parent | prev [-]

Note those only apply to scene_sad which is used for scene change detection and freeze detection and a few other things like mpdecimate -- it's a very specific use case

theturtletalks 33 minutes ago | parent | prev | next [-]

FFmpeg is so useful for TTS

majorchord 2 hours ago | parent | prev | next [-]

vibe-coded, and the github repo does not even contain the sources, just a single 'server.js' that is only for the documentation

rvz 35 minutes ago | parent [-]

Just look at the descriptive commit messages. /s

Tells you that most here just read the headline and not the code or commits any-more and this will just become abandonware.

zuzululu 2 hours ago | parent | prev | next [-]

this is ffmpeg running inside the browser am I correct? did not know this was possible. wonder what else we can run via webassembly

luispa 2 hours ago | parent | prev | next [-]

This is dope. Made a PR.

shevy-java an hour ago | parent | prev | next [-]

Interesting idea - must have been a lot of work to add all those features. I just tried it and it works locally too, which is pretty epic.

westurner 3 hours ago | parent | prev [-]

From https://news.ycombinator.com/item?id=44717303 :

> Objective metrics and tools for video encoding and source signal quality: netflix/vmaf, easyVmaf, psy-ex/metrics, ffmpeg-quality-metrics,

netflix/vmaf: https://GitHub.com/netflix/vmwaf

gdavila/easyVmaf: https://github.com/gdavila/easyVmaf

psy-ex/metrics: https://github.com/psy-ex/metrics/

slhck/ffmpeg-quality-metrics: Calculate quality metrics with FFmpeg (SSIM, PSNR, VMAF, VIF) https://github.com/slhck/ffmpeg-quality-metrics

Something like this would be great too:

The Ardour Manual > Loudness Analyzer and Normalizer: https://manual.ardour.org/mixing/basic-mixing/loudness-analy...