Конкат фильтра FFmpeg - PullRequest
       97

Конкат фильтра FFmpeg

0 голосов
/ 07 апреля 2020

У меня 2 одинаковых видео. В одном из видео нет звука, и я хочу concat их.

video1 = 1 video stream + 1 audio stream.
video2 = 1 video stream.
the result should be 1(concatenated) video stream, 1 audio stream

Я пробовал

ffmpeg -i videoonly.mov -i video+audio.mov -filter_complex "[0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov

, но он не работает и печатает сообщение об ошибке

Stream specifier ':a' in filtergraph description [0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a] matches no streams.

Я исключаю такого рода сообщение об ошибке, потому что во втором видео нет звука, и я разделил звук, но вопрос в том, как заставить его работать или это возможно?

Заранее спасибо.

1 Ответ

1 голос
/ 07 апреля 2020

Фильтр concat ожидает совпадения пар в каждом сегменте, поэтому, если у одного из сегментов нет звука, вы должны указать фиктивный поток. Ниже я использую фильтр anullsr c для его генерации.

ffmpeg -i videoonly.mov -i video+audio.mov -f lavfi -t 1 -i anullsrc -filter_complex "[0:v][2:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov
...