Как объединить два видео (одно без звука, другое со звуком) с помощью FFMPEG - PullRequest
0 голосов
/ 19 октября 2018

ffmpeg -i video1.avi -i video2.avi-комплекс фильтров «[0: v: 0] [0: a: 0] [1: v: 0] [1: a: 0] concat = n =2: v = 1: a = 1 [v] [a] »-map« [v] »-map« [a] »output_video.avi

video1.avi ---> это видео не 't аудиопоток, имеет только видеопоток video2.avi ---> имеет видео и аудиопотоки

[Errors]

Спецификатор потока ': a: 0' в описании filtergraph [0: v] [0: a: 0] [1: v] [1: a: 0] concat = n = 2: v = 1: a = 1 [v] [a] не соответствует ни одному потоку.

Как объединить эти два видео?

использовать следующие команды, можно сконцентрировать эти два видео, но в выходном видео нет звука, как решить эту проблему?

ffmpeg.exe -i video1.avi -y 1.ts

ffmpeg.exe -i video2.avi -y 2.ts

ffmpeg.exe -i concat: 1.ts | 2.ts -f output.mp4

1 Ответ

0 голосов
/ 09 февраля 2019

Я использую Laravel, и этот код работает для меня:

Без аудио:

exec("ffmpeg -i " . $URLVIDEO1 . " -i " . $URLVIDEO2 . " -filter_complex \"[0:v:0] [1:v:0] concat=n=2:v=1 [v]\" -map \"[v]\" " . $URLVIDEOFINAL);

С аудио:

exec("ffmpeg -i " . $URLVIDEO1 . " -i " . $URLVIDEO2 . " -filter_complex \"[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]\" -map \"[v]\" -map \"[a]\" " . $URLVIDEOFINAL);

Очевидно, что исходные переменные не названы таким образом.Я надеюсь, что помогу вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...