FFMPEG 多文件模式在单个命令中不起作用

FFMPEG multiple file pattern not working in single command

我想在单个 ffmpeg 命令中添加多个文件序列,下面是我的代码,正在创建视频但只使用了第一个图像序列,第二个被忽略

ffmpeg -y -i input.mp4 -start_number 0000001 -i 1/%07d.png -i 2/%07d.png -filter_complex "[0][1]overlay=x=10:y=10:enable='between(t,0,3)'[v1];[v1][2]overlay=x=10:y=10:enable='between(t,3.8561422222222,6.9761777777778)'[v2]" -map "[v2]" -map 0:a out.mp4

现在的问题是 FFMPEG 想要连续的图像,我没有我在每个文件夹中都有从 0000001.png 开始的图像,我怎样才能在不改变我的图像

的情况下实现这一点

你能把图片传送到 -f image2pipe 吗?

cat $(find 1 2 -name '*.png' -print) | ffmpeg -y -i input.mp4 \
-f image2pipe -vcodec png -i - \    
-filter_complex "[0][1]overlay=x=10:y=10:enable='between(t,0,3)'[v1];[v1][2]overlay=x=10:y=10:enable='between(t,3.8561422222222,6.9761777777778)'[v2]" \
-map "[v2]" -map 0:a out.mp4

尝试使用 glob 模式来处理不一致的编号并使用 setpts 填充 PTS,这样叠加在显示之前就不会被消耗掉:

ffmpeg -y -i input.mp4 -pattern_type glob -i "1/*.png" -pattern_type glob -i "2/*.png" -filter_complex "[0][1]overlay=x=10:y=10:enable='between(t,0,3)'[v1];[2]setpts=PTS+3.856/TB[fg];[v1][fg]overlay=x=10:y=10:enable='between(t,3.8561422222222,6.9761777777778)'[v2]" -map "[v2]" -map 0:a out.mp4