ffmpeg concat преобразует несколько видео в версию для бурундука с половиной видео тишины - PullRequest
1 голос
/ 26 мая 2020

я пытаюсь объединить несколько видео в одно видео и добавить к нему фоновую музыку c.

по какой-то причине фоновая музыка c отлично добавляется к выходному видео, но звук каждого часть вывода - это ускорение до версии самого видео с бурундуком. это приводит к выходному видео продолжительностью 7 минут с примерно 5 минутами тишины, поскольку все происходит настолько быстро, что весь звук заканчивается примерно через 2 минуты.

моя команда:

ffmpeg -safe 0 -i videolist.ffconcat -i bg_loop.mp3 -y -filter_complex "[1:0]volume=0.3[a1];[0:a][a1]amix=inputs=2" -vcodec libx264 -r 25 -filter:v scale=w=1920:h=1080 -map 0:v:0 output.mp4

я попытался удалить фоновую музыку c (так как я не смог l oop через видео, я подумал, что, возможно, это проблема) и все же ... весь звук в видеоклипах по-прежнему ускоряется, что приводит к хаотичному c аудио в начале и тишине в конце.

мой список видео выглядит так:

ffconcat version 1.0
file intro.mp4
file clip-x.mp4
file clip-y.mp4
file clip-x.mp4
file clip-y.mp4
[... and so on]

Надеюсь, кто-нибудь скажет мне, что я m делает здесь неправильно (и, возможно, как настроить мою команду на l oop фоновую музыку c через все клипы)

Я немного погуглил и нашел настройку моей команды, чтобы добавить amix=inputs=2:duration=first но это не помогает, и если я добавлю duration=shortest или duration=longest, выходной звук не изменится

1 Ответ

1 голос
/ 27 мая 2020

Демультиплексор concat требует, чтобы все потоки на входе имели одинаковые свойства. Для звука, который включает код c, частоту дискретизации, расположение каналов, формат образца ..

Если звук некоторых входов звучит смешно после конкатенации, это обычно указывает на несоответствие частоты дискретизации. Для проверки введите ffprobe -show_streams -select_streams a -v 0 "input-file" на каждом входе. Для тех, которые отличаются, вы можете перекодировать только звук, добавив -ar X, где X - наиболее распространенная частота дискретизации среди ваших входов, например, -ar 44100. Остальные параметры будут зависеть от деталей формата. Сохраняйте видео, используя -c:v copy.

...