FFMPEG объединяет 2 случайных и разных видео - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь создать приложение, в котором пользователи могут отправлять видео, и оно будет автоматически объединено с другими видео. Так что видео в произвольном формате, но я преобразую их перед объединением, используя эту команду:

ffmpeg -y -i {orginalVideo.itsExtention} -vcodec wmv2 4.wmv

Для объединения у меня есть следующая команда:

ffmpeg -y -i concat.wmv -i 4.wmv -filter_complex "[0:0][0:1][1:0][1:1] concat=n=2:v=1:a=1" output.wmv

но я получаю следующую ошибку

Input link in1:v0 parameters (size 640x480, SAR 1:1) do not match the corresponding output link in0:v0 parameters (1080x1920, SAR 1:1)

Failed to configure output pad on Parsed_concat_0
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #1:0

Спасибо за ваш ответ

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Размер видео должен быть одинаковым (то есть размер в пикселях). Выходной поток не может изменить размеры в середине. Поэтому измените размер одного (или обоих) до желаемого размера.

например:.

ffmpeg -y -i {orginalVideo.itsExtention} -vf scale=640:480 -vcodec wmv2 4.wmv

И см. https://trac.ffmpeg.org/wiki/Scaling для получения дополнительной информации.

0 голосов
/ 07 марта 2019

Использование отдельного шага для масштабирования неэффективно и приведет к потере качества другого поколения при использовании кодера с потерями.

Поскольку вы уже перекодируете, вы можете масштабировать с помощью той же команды:

ffmpeg -y -i concat.wmv -i 4.wmv -filter_complex "[1:v]scale=1080:1920,setsar=1[v1];[0:v][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.wmv

Или вы можете использовать более сложную команду, чтобы избежать растяжения или сжатия из-за различий в соотношении сторон:

ffmpeg -y -i concat.wmv -i 4.wmv -filter_complex "[1:v]scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2,setsar=1[v1];[0:v][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.wmv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...