Ffmpeg 5.0
ffmpeg.org
ffmpeg.org
FFmpeg 5.0 (https://github.com/FFmpeg/FFmpeg/blob/release/5.0/Changelog)
113 points|_Gyan_|3 days ago|27 comments
Handbrake is the best frontend for it and "works fine" on basic settings and looks OK. But try to do anything advanced and....
Video processing is just really, really complicated when it involves compression/transcoding. There's no other way around it. And that's alright!
Also some users may benefit from a program that can identify what the particulars are about the input file(s) to help them make better commands. Or even ask them first what kind of result they want and work backwards from there. If the user knows they want multiple PNGs and then the input file is an MPEG-4 container with an x265 video bytestream, it's pretty clear what the user may want to do. But unless you're quite initiated, today's FFmpeg still really makes the average user work for it.
I was thinking something similar, but hadn't thought about tab completion - interesting idea! I was picturing something with a nano-like interface. Run the program from your terminal, get a simple set of menus you can navigate with a keyboard, tick off boxes for options, etc., then have an auto-updating command example output in a bottom "pane" showing you in real time what the cli args would be for what you specified.
In C* land I think they use ncurses to build those, if memory serves, but I probably wouldn't write it in C myself just since I'm not very well versed in it. Probably Go or Rust...
Anyway, good idea. If I hack on this I may see about implementing something like that, some day!
Well regardless of the latter, I learned the former was not true as I was looking for a way to turn an mp4 into a gif without some silly desktop app.
ffmpeg -i in.mp4 out.gif
That's it! Incredibly easy to use after all.Edit: maybe not training wheels. more like gutter bumpers in bowling. no matter what you do, you're going to hit some pins (make a playable output). with just a little trying, you can easily roll strikes
There's no better way to learn than to face something you don't know. 99/100 things you don't know or can't figure out, someone on the internet as been there done that. Come across enough of these things, and you start to think like ffmpeg!
It’s one of those products that has effectively replaced everything else I use video/audio related because ffmpeg is free and does everything.
And the APNG support was even worse. I spent days trying to get it to output an APNG that was within Discord's sticker size limits without losing quality. Eventually gave up on it and switched to pngasm which easily produced a small enough output.
EDIT: I should clarify that I still think ffmpeg is amazing, but I find that it can be tricky and does have some limitations that seem to come from being the input and output formats being so flexible.
It is true, but it applies to the library (libav...). As someone who has tried to use it I can confirm that it is possible to use correctly without a lot of work and access to weirdly encoded files to test your code. They do not make it easy to write correct come.
Two noteworthy items that stand out to me:
> AV1 Low overhead bitstream format muxer
> speex decoder
Congrats on the 5.0 milestone to all contributors!
Typically I just do informal listening tests, in this case against Apple's AAC encoder (the gold standard). You're right that ideally, I'd do something more formal like double-blind ABX testing.
[1] https://en.wikipedia.org/wiki/Perceptual_Evaluation_of_Audio...
It’s amazing that they manage to keep adding features.