Я хотел бы взять несколько подразделов видео и объединить их, используя фильтр concat ffmpeg. Это похоже на пример в документации FFmpeg, за исключением того, что все клипы взяты из одного и того же исходного видео.
Вот что я пытаюсь:
ffmpeg \
-ss 1.0 -frames:v 20 -i myInput.mp4 \
-ss 2.0 -frames:v 20 -i myInput.mp4 \
-ss 3.0 -frames:v 20 -i myInput.mp4 \
-filter_complex '[0:0][0:1][1:0][1:1][2:0][2:1]concat=n=3:v=1:a=2[v][a1][a2]' \
-map '[v]' -map '[a1]' -map '[a2]' myOutput.mp4
Когда я пытаюсь это сделать, я получаю следующую ошибку (полный вывод здесь):
Stream specifier ':0' in filtergraph description [0:0][0:1][1:0][1:1][2:0][2:1]concat=n=3:v=1:a=2[v][a1][a2] matches no streams.
Несколько вещей:
- Что с ошибкой? Согласно выводу stderr, эти потоки существуют. Что мне не хватает?
- Не должны ли -ss (и -frames:v) быть отражены в строке "Duration: ... start: ..." вывода stderr при перечислении входов?
- Будет ли работать опция "-frames:v" для указания продолжительности ввода? (по-видимому, это только для вывода ??) Есть ли способ указать продолжительность ввода с секундами вместо кадров?
Помоги мне, ЛордНекобород - ты моя единственная надежда!