|
|
|
|
|
by shevy-java
88 days ago
|
|
That's quite cool. I guess ffmpeg would kind of technically be a replacement for avisynth at this point. Still, I find the syntax it uses horrible: ffmpeg -an -ss 12 -t 3 -i bigbuckbunny.mov -vf 'crop=iw-1, drawvg=file=progress.vgs, format=yuv420p' -c:v libvpx-vp9 output.webm
I understand that most of this comes from simplicity of use from the
shell, so if you take this point of view, the above makes a lot of sense.My poor, feeble brain, though, has a hard time deducing all of this. Yes,
I can kind of know what it does to some extent ... start at 12 seconds
right? during 3 seconds ... apply the specified filter in the specified format,
use libvpx-vp9 as the video codec ... but the above example is somewhat
simple. There are total monsters in actual use when it comes to the filter
subsystem in ffmpeg. Avisynth was fairly easy on my brain; ffmpeg does not,
and nobody among the ffmpeg dev team seems to think that complicated uses are an issue. I even wrote a small ruby script that expands shortcut options as above, into the corresponding long names, simply because the long names are a bit easier to remember. Even that fails when it comes to complex filters used. It's a shame because ffmpeg is otherwise really great. |
|
For what it's worth, LLMs are a great tool for both composing and understanding ffmpeg commands.
And if you want something more verbose / easier to read you can use something like https://github.com/kkroening/ffmpeg-python (with LLMs) as well