▲ | Show HN: FFmpeg in plain English – LLM-assisted FFmpeg in the browser(vidmix.app) | ||||||||||||||||||||||||||||||||||||||||||||||||||||
153 points by bjano 4 days ago | 45 comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||
I found that I am using ChatGPT more and more to get the FFmpeg command I need, but the process can be a bit tedious: copy-pasting commands, dealing with input file names and locations, making sure the prompt contains enough info about the input files. This site attempts to solve that. You just describe what you want to do, pick the input files and an LLM (currently DeepSeek) generates the FFmpeg command. You can then run it directly in your browser or use the command elsewhere. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | kkukshtel 12 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
To yes, and this — I've started doing something similar on the command line with Claude Code that works incredibly well: claude -p "use ffmpeg to convert myvideo.mov into an h264 video suitable for youtube upload" --dangerously-skip-permissions Highly recommended! I use --dangerously-skip-permissions because I just want to set it and forget it and dont need to babysit the run. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | jjbinx007 14 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
I recently used Gemini to help with some dashcam videos that weren't being saved properly. I was sure most of the data were there but the files wouldn't play in VLC or MPC, so I asked Gemini. It suggested various things to try, and after pasting in the error messages each time it suggested more and more radical things. Eventually it suggested a program called Untrunc, where you give it a working video file as a reference and then the file that's faulty and as if by magic it worked! Just wanted to mention this in case anyone else is struggling to get FFmpeg to repair a file. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | jjcm 18 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Great work on this - I made a terminal command similar to this (llmpeg), and was actively trying to get exactly this working - a webasm compiled version of ffmpeg that could encode in the browser. I for the life of me couldn't get the provided examples on https://github.com/ffmpegwasm/ffmpeg.wasm to run. Just for my own development curiosity, was there anything specific you had to do to get ffmpegwasm to work? | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | orderone_ai 20 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
This is such a convenient tool for a casual user, and a great application of an LLM to a narrow task that probably couldn't be handled quite so easily everywhere. Also a great example of the emerging 'chat driven' UX trend, which I'm really liking. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | toddmorey 19 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The Warp terminal[1] is excellent for this type of thing. In agent mode, you just describe what you want to have happen and it generates the proper command(s) (that you can approve before running). I use it a lot to convert videos and turn a folder of tiff files into pngs at 1/2 size, etc. It's great at generating FFMEG commands and chaining the right tools together. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | adamgusky 6 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Anyone that has built something with FFmpeg understands why this is at the top of HN. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | matcha-video 8 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Love this! Folks here should also check out https://wide.video if they're looking for a VERY full featured free in-browser video editor | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | guluarte 6 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
I also recommend djcopley/ShellOracle if you are lazy like me and never remember the commands. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | danielvaughn 20 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
I tried to implement something very similar recently, and had the hardest time getting the LLM to produce anything remotely resembling actual ffmpeg commands. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | bsenftner 18 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
I think you need to add some liberal filename handling. I have directories of videos generated by various AI video models, and they have spaces in the filenames, not just one, but the prompt to generate the video plus the major parameters are all the filename. They are long, pains in the ass to work with, but they are there. Would be nice if your tool could work with them. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | raincole 12 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
That's great. How could it work in browser? Is it a webassembly implementation of FFmpeg? | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | somesun 15 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
a similar website https://ffmpeg.app/ | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | baobabKoodaa 12 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
This is a perfect use case for thin LLM wrappers! | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | p0w3n3d 15 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | pdyc 18 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
interesting, i created a video editor to generate ffmpeg commands because it was difficult to adjust ffmpeg commands on commandline https://newbeelearn.com/tools/videoeditor/ . This lets you tweak ffmpeg commands visually. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | yakattak 20 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Honestly what a great application of LLMs. FFmpeg is a very powerful tool, and as with most powerful tools is very complicated to run correctly. Do the files get uploaded though? Or does it just grab the location on disk? | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | Hassanijaz 10 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
[dead] |