The gist of it is that if your static image is in bgr24 (most of BMP images) format, when converting to typical video pixel format (like yuv420p), the color will be distorted.
This can be worked around by converting to rgb24 first (which is exactly why this bug is bizarre, since the two should be practically identical.)
(There is also the BT601/BT709 conversion thing, but that's not a bug, just something need to be taken care of.)
[1] https://trac.ffmpeg.org/ticket/979
Edit: small correction: I said PNG before, but it's actually BMPs that are usually in bgr24.
This demonstrates, in a rather extreme example, the colossal composability of the interface, even if it lacks nice formatting here.
On many systems I work with and have to debug, gnuplot won't be already installed (and won't be installable on a system not connected to the Internet) so 'rich' would be 'flush in packages with a full system available'.
Sometimes, even imagemagick isn't there, but rsvg-convert is, you can still do amazing things with just bash+curl+svg...
When I use it, I just look for "pre-baked recipes" otherwise it's a really unpleasant rabbit hole to get into.
No one is going to type out this one-liner from scratch, or have an easy time understanding what it means by reading it, but as it's made up of a series of smaller, more easily understood commands, in a shell or Python script it could be vastly more legible and, dare I say it, usable.
This is also the reason why there are so many frontends to ffmpeg, to simplify various specific tasks. I can't count how many one-off apps I've seen that do one thing and do it well, and just ship a full copy of ffmpeg to do that one thing. Making an actual GUI for all of this would be just... insane, really, but it's so versatile and flexible that you can basically do anything with it.
Challenge accepted! (No seriously, that's what I'm working on)
If you can manage to cobble together a single command (as illegible as that may be), you might be able to do what you're looking to do in far less time
[0] https://github.com/zvakanaka/ffeasy [1] https://www.npmjs.com/package/mklapse
Doesn't kdenlive use melt [0] instead of ffmpeg directly?
It almost seems like the best way to understand an ffmpeg complex filter graph is to actually draw a graph...
Every couple of years worth of not using an option I need to look it up again. But it's usually not too hard.
Compare:
frontend -s 05:28:38.667 -e 05:28:58.767 input.ts
ffmpeg -ss 05:28:28.667 -i input.ts -ss 10 -t 20.100 -pass 1
ffmpeg -y -ss 05:28:28.667 -i input.ts -ss 10 -t 20.100 -pass 2Someone could make a million dollars by making a blog that just writes about ffmpeg incantations for use-cases like this.
You can try Xfade filter, hope oneday I can write opengl glsl effect in ffmpeg.
However, the final command is a little crazy:
[0] https://el-tramo.be/blog/ken-burns-ffmpeg/