我有以下ffmpeg-cli命令,它不会在文档中产生描述的效果。这可能是一个错误,或者我的命令有问题。
ffmpeg \
-y \
-i small.mp4 \
-i monkey/monkey_%04d.png \
-filter_complex "[0:v][1:v]overlay=enable='between(t,1,5)'[out1]" \
-map '[out1]' \
output.mp4
我希望它在第1秒和第5秒之间将#1流覆盖在#0之上。
您可以从以下链接下载测试tarball:
它包括测试用例的资产。
我试过的构建:
答案 0 :(得分:3)
FFmpeg是一个基于时间的处理器,即它按时间戳对齐数据包,因此您必须将图像序列的开头与叠加的开始对齐。
ffmpeg \
-y \
-i small.mp4 \
-i monkey/monkey_%04d.png \
-filter_complex "[1:v]setpts=PTS-STARTPTS+(1/TB)[1v]; \
[0:v][1v]overlay=enable='between(t,1,5)'[out1]" \
-map '[out1]' \
output.mp4