以一定的時間間隔在 MP4 上疊加 GIF(同時保持 GIF 透明度)

以一定的時間間隔在 MP4 上疊加 GIF(同時保持 GIF 透明度)

我正在尋找一種在 mp4 之上實現 gif 疊加的方法,具有以下特徵:

  • 保持影片上的 GIF 透明度
  • 讓 GIF 僅在特定時間間隔內顯示(例如 0:02-0:06)
  • 將 GIF 放置在 MP4 檔案的左下角

答案1

您可以使用x=between(t, 2, 6), 0, NAN) 表達評估y=(H-h)
查看overlay過濾器文件(閱讀範例 - 它們足夠接近)。

ffmpeg -y -i in.mp4 -i in.gif -filter_complex "[0][1]overlay=x='if(between(t, 2, 6), 0, NAN):y=(H-h)':format=yuv444" -vcodec libx264 -pix_fmt yuv444p -crf 17 -acodec copy out.mp4

format=yuv444-pix_fmt yuv444p用於提高輸出品質。

我使用了下面的透明 gif郵政,並疊加合成圖案。

輸出幀範例:
在此輸入影像描述


建構合成模式(用於測試):

ffmpeg -y -f lavfi -r 10 -i testsrc=size=640x480:rate=1:duration=300 -vf setpts=N/10/TB -vcodec libx264 -pix_fmt yuv444p -crf 17 in.mp4

具有透明度的 GIF 影像:
在此輸入影像描述

相關內容