#ffmpeg
#ffmpeg
Вопрос:
Приведенная ниже команда перемещает изображение слева направо, начиная с внешней стороны рамки с левой стороны, сохраняя непрозрачность изображения.
ffmpeg -i test.mp4 -i bar.png -filter_complex "[1:v]format=argb,geq=r='r(X,Y)':a='0.5*alpha(X,Y)'[zork];[0:v][zork]overlay=x='if(lte(-w (t)*100,100),-w (t)*100,100)':y=0" output.mp4
Что мне нужно, так это чтобы изображение было полноэкранным в начале видео, а затем медленно перемещалось в правую сторону, никогда полностью не выходя из кадра вплоть до того момента, когда видео заканчивается (изображение остается полноэкранным, когда видео заканчивается).
Таким образом, темп должен варьироваться в зависимости от длины видео, чтобы изображение не выходило из кадра ни в начальной, ни в конечной точке.
Ответ №1:
ffmpeg -i test.mp4 -i bar.png -filter_complex "[1:v]format=argb,geq=r='r(X,Y)':a='0.5*alpha(X,Y)'[zork];[0:v][zork]overlay=x=-w ((W w)/N)*t" output.mp4
- Где
N
длительностьtest.mp4
. Так что, еслиtest.mp4
это 30 секунд, изменитеN
на30
. - Вы можете получить продолжительность с
ffprobe
помощью . - См. Документацию по фильтру наложения.