ffmpeg:在定義的區域平滑滾動圖像和文本

ffmpeg:在定義的區域平滑滾動圖像和文本

我知道如何使用以下命令將圖片從視頻底部滾動到頂部:

ffmpeg -f lavfi -i color=s=1920x1080 -loop 1 -t 0.08 -i "input.jpg" -filter_complex "[1:v]scale=1920:-2,setpts=if(eq(N\,0)\,0\,1+1/0.02/TB),fps=25[fg]; [0:v][fg]overlay=y=-\'t*h*0.02\':eof_action=endall[v]" -map "[v]" output.mp4

但我希望圖像和文字從底部的位置開始出現並平滑滾動並消失在頂部的位置,如下圖所示。 在此輸入影像描述

答案1

我們可以從背景圖像中裁剪相關區域,將滾動文字覆蓋在裁剪區域上,並將結果覆蓋到背景圖像中的相同區域。


例子:

bk.jpg
背景圖-提前準備:
在此輸入影像描述

input.jpg
前景影像-提前準備(樣本解析度為270x257): 在此輸入影像描述


命令範例:

ffmpeg -y -loop 1 -r 25 -i bk.jpg -loop 1 -r 25 -i input.jpg -filter_complex "[0:v]crop=270:257:360:55[c0];[c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg];[0:v][fg]overlay=x=360:y=55:eof_action=endall" -t 50 output.mp4


  • [0:v]crop=270:257:360:55[c0]- 從背景裁切 270x257 區域。
  • [c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg]- 將捲動文字覆蓋在裁切區域上。
  • [0:v][fg]overlay=x=360:y=55:eof_action=endall- 覆蓋[fg]背景影像(在裁切區域的相同位置)。

縮小結果:
在此輸入影像描述

相關內容