FFMPEG шаблон нескольких файлов не работает в одной команде - PullRequest
0 голосов
/ 19 марта 2019

Я хочу добавить несколько последовательностей файлов в одну команду 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 в каждой папке, как я могу сделать это, не сильно меняя свои изображения

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Попробуйте шаблон glob для работы с непоследовательной нумерацией и добавьте PTS с помощью setpts, чтобы оверлей не использовался до его отображения:

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
0 голосов
/ 19 марта 2019

Можете ли вы передать изображения на -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
...