Получение исключения при объединении двух файлов с помощью ffmpeg

Я пытаюсь объединить два файла mp4 с помощью команды ffmpeg. Мои входные файлы не в той же кодировке, поэтому они не объединяются с обычной командой. Я использую команду ниже, но получил исключение. Команда: -

ffmpeg -i File_1.mp4 -i File_2.mp4 -filter_complex "[0:v]setsar=1[0v];[1:v]scale=720:576:force_original_aspect_ratio=decrease,setsar=1,pad=720:576:(ow-iw)/2:(oh-ih)/2[1v];[0v][0:a][1v][1:a]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -c:v libx264 -crf 23 ffmpeg1.mp4

Исключение у меня есть: -

[Parsed_concat_4 @ 00000000067ea380] Input link in1:v0 parameters (size 720x576, SAR 1:1) do not match the corresponding
output link in0:v0 parameters (320x240, SAR 1:1)
[Parsed_concat_4 @ 00000000067ea380] Failed to configure output pad on 
Parsed_concat_4
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #1:0
Conversion failed!

Скажите, пожалуйста, какое решение для этой или любой команды, которая может помочь мне объединить любые два файла mp4 в Windows с помощью cmd.


person Arpit Pagaria    schedule 28.02.2018    source источник
comment
Все видеовходы для фильтра concat должны иметь одинаковое разрешение и SAR. Итак, либо повторите тот же масштаб/сетсар/пэд для 0:v, либо измените значение масштаба для 1:v на 320x240.   -  person Gyan    schedule 28.02.2018
comment
@Mulvya, не могли бы вы написать полную команду. Не понял вашей точки зрения.   -  person Arpit Pagaria    schedule 28.02.2018
comment
Замените [0:v]setsar=1[0v]; на [0:v]scale=720:576:force_original_aspect_ratio=decrease,setsar=1,pad=720:576:(ow-iw)/2:(oh-ih)/2[0v];   -  person Gyan    schedule 28.02.2018
comment
@Mulvya это сработало. Спасибо   -  person Arpit Pagaria    schedule 28.02.2018
comment
Добавил ответ.   -  person Gyan    schedule 01.03.2018


Ответы (1)


Фильтр concat требует, чтобы все его видеовходы имели одинаковое разрешение и соотношение сторон выборки. Частота кадров и формат пикселей могут различаться, хотя результат может быть не таким, как вы хотите.

Итак, в этой команде измените фильтрацию первого видеовхода, чтобы она соответствовала второму.

ffmpeg -i File_1.mp4 -i File_2.mp4 -filter_complex "[0:v]scale=720:576:force_original_aspect_ratio=decrease,setsar=1,pad=720:576:(ow-iw)/2:(oh-ih)/2[0v];[1:v]scale=720:576:force_original_aspect_ratio=decrease,setsar=1,pad=720:576:(ow-iw)/2:(oh-ih)/2[1v];[0v][0:a][1v][1:a]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -c:v libx264 -crf 23 ffmpeg1.mp4
person Gyan    schedule 01.03.2018