使用 FFmpeg 实现多种效果叠加

使用 FFmpeg 实现多种效果叠加

讨论了此主题这里之前有过类似的问题,但我的问题有些不同。我有一个透明的 tiff 序列,其中包含连续的数字,我希望将其覆盖在另一个 tiff 序列之上,以便创建一个视频文件。

此外,我想使用 drawtext 过滤器从文本文件添加文本覆盖。

分别地,我设法完成了这两个操作,但是当我尝试将它们组合到单个命令行时,代码要么不起作用,要么只生成其中一个视频过滤器。

这是我用于连续数字覆盖的代码:

ffmpeg -i sc060_sh0050_v02.%4d.tif -i %d.tif -vcodec v210 -filter_complex overlay -shortest 00output.mov

这是我用于标题覆盖的代码:

ffmpeg -f image2 -i sc060_sh0050_v02.%4d.tif -vcodec v210 -vf "[in]drawtext=fontfile=Arial.ttf: fontsize=50: textfile=filename.txt: r=25: x=100: y=(lh): fontcolor=0x76FF08: box=1: boxcolor=0x00000099[out]" -y 00output.mov

有谁知道如何才能在单个命令行中实现这两种效果?

答案1

ffmpeg \
-i sc060_sh0050_v02.%4d.tif \
-i %d.tif \
-vcodec v210 \
-filter_complex "[0:v][1:v]overlay,drawtext=fontfile=Arial.ttf:fontsize=50:textfile=filename.txt: r=25: x=100: y=(lh): fontcolor=0x76FF08: box=1: boxcolor=0x00000099" \
-shortest \
-y \
test.mov
  1. 您必须使用 filter_complex 因为覆盖有两个输入。
  2. 第一个叠加序列%d.tiff超过sc060_sh0050_v02.%4d.tif
  3. 添加 drawtext 过滤器。注意 overlay 和 drawtext 之间的逗号链接了过滤器。

相关内容