Я пытаюсь сделать видео с FFMPEG, и я сочиняю несколько видео вместе. Однако последние два генерируются из PNG-изображения с помощью параметра -loop .

ffmpeg -loop 1 -i img001.png -filter crop=768:432:128:72 -c:v libxvid -q 1 -t 5 -s 360x288 -aspect 16:9 out1.mp4
ffmpeg -loop 1 -i img002.png -filter crop=768:432:128:72 -c:v libxvid -q 1 -t 5 -s 360x288 -aspect 16:9 out2.mp4

Затем я добавляю тишину к нему, используя wav-файл.

ffmpeg -i out1.mp4 -i silence.wav -shortest -c:v copy -c:a ac3 out11.mp4
ffmpeg -i out2.mp4 -i silence.wav -shortest -c:v copy -c:a ac3 out21.mp4

После этого я ожидаю, что он готов, поэтому я запускаю фильтр concat.

ffmpeg -f concat -i full.txt -c copy "Q1-Full.mp4"

full.txt содержит

file 'Likoonl-Q1-Intro.mp4'
file 'Likoonl-Q1-All.mp4'
file 'Likoonl-Q1-X2.mp4'
file 'out11.mp4'
file 'out21.mp4'

И прямо в конце пробега я получаю этот вывод.

[mp4 @ 049e6a80] st:0 PTS: 98240188 DTS: 98240188 < 689858768 invalid, clipping

Когда я играю Q1-Full.mp4 , он имеет правильную длительность, но останавливается в конце «Likoonl-Q1-X2.mp4».

1 ответ1

0
ffmpeg -i Q1-Full.mp4 -i Q1-Contact.mp4 -filter_complex "[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .