Hacker News new | past | comments | ask | show | jobs | submit login

ffmpeg has abysmal defaults. I've always been of the opinion that CLI utilities should have sane defaults useful to a majority of users. As someone who has used ffmpeg for well over a decade, I find it baffling that you have to pass so many arguments to get an even remotely usable result





For certain file formats, it's true (e.g. gif), but I gotta say- I use "ffmpeg -i input.mov output.mp4" after taking a video on mac, and it looks good and is a tiny fraction (sometimes 100x smaller) of the size.

Same! And I was pleasantly surprised by this working well without any additional parameters.

But I'd also confirm the other comments after going through the steps for shrinking a longer screen recording to <2.5MB with acceptable quality, and cropping some portion of the screen.

I needed a tutorial in addition to the built-in help pages to get it working.

It was a little bit fun almost to try&error my way through combinations of quality and cropping options, but sure, time consuming.

I have to say, I mostly like FFMPEGs approach. Anyone can build anything on top of it, like GUIs.

"Good" defaults can cause an explosion of complexity when providing many different options and allowing all technically feasible combinations.

There's also room for some kind of improved CLI I guess, but many possibilities always mean complex options. So this is probably easier said than done.

It does seem to have pretty good defaults in the MOV MP4 transcoding case.


it should really just have an interactive mode that supports batching. It would cover 99% of use cases.

I recommend everyone ITT to just use Handbrake (a GUI) unless they have extremely niche use cases. What's the point of using a LLM? You just need one person who knows ffmpeg better than you to write a GUI. And someone did. So use that.

If Handbrake doesn't solve your problem please just go to Stack Overflow. The LLM was trained there anyway, and your use case is not novel.


I used RazorLame back in the day and then MediaCoder for a decade. Then I found out MediaCoder uses ffmpeg!

The main thing I do with ffmpeg is make highly compatible MP4s because some devices can't handle some MP4s.

ffmpeg -i input.mp4 -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p -movflags faststart outut.mp4

If I can make a Handbrake preset for that, it might save me a tiny bit of hassle.


Yeah there's some default production-ready presets for widely-compatible MP4s which I use every time I need to edit on Vegas Pro. In the "Video" tab there's also a "fast decode" toggle which is useful to me.

Never had any issues since I switched to this particular workflow. Vegas (and I presume most editing software) is particularly anal about formats, especially when you need real time previews.

You can always add some extra command line options if you need to. It's just much easier to work with a GUI when the system is as complex as ffmpeg.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: