It was: `split[a][b];[b]lut3d=${path}[c];[a][c]blend=all_mode=overlay:all_opacity=${opacity}`
You can't use some expresions on the command line like `x=(w-text_w)/2:y=(h-text_h)` but it can be workaround with some scripting using python bindings for example.
Some (simple) text overlay can be acomplished with:
gst-launch filesrc location=sample.mp4 \
! decodebin \
! videoconvert \
! textoverlay text="Hello" font-desc="Sans Bold 150px" y-absolute=0.5 \
! autovideosink
1. http://manpages.org/gst-launchUnrelated but wow, BBC has quite a bit of interesting and relevant open source projects. Simorgh, their react SSR framework, caught my eye “used on some of our biggest websites”. Encouraging for those looking to build out performance react/amp platforms https://github.com/bbc/simorgh
As far as I know in gst-launch you can't access properties from one element (video stream width) in other elements.
ffmpeg of 15 years ago was confusing, but now it's so simple - to compile, to add your own filters, and to use, they've done a great job.
It is unbelievably powerful though.
Some sort of deprecation or salience decay needs to be added.
Except for typos, syntax..etc, I don't edit someone else's answer; I leave a comment and let the original respondent edit.
And the worse part is everything is turned into command line arguments
It would be easier if you could specify it in something more human readable like (sigh) yaml