Падение аудио / видео при объединении 3 команд FFmpeg, которое включает в себя масштаб, пэд, комплекс фильтров - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь масштабировать 2 видео до разрешения h = 240, сохраняя соотношение сторон.Затем я объединяю аудио и видео этих 2 видео в единый файл mp4.Всего у меня 3 команды, и окончательный результат хороший.

Однако я хочу объединить эти 3 команды и получить один и тот же результат в одной команде.Может кто-нибудь помочь мне в расчесывании этих команд?Заранее спасибо.

Первая команда:

ffmpeg -i 01_v.mp4 -vf "[0]scale=-1:240[scaled_240]; [scaled_240]pad=width=320:height=240:x=(320-in_w)/2:y=(240-in_h)/2:color=black" -preset ultrafast -y -r pal "1_v.mp4"

Вторая команда:

ffmpeg -i 02_v.mp4 -vf "[0]scale=-1:240[scaled_240]; [scaled_240]pad=width=320:height=240:x=(320-in_w)/2:y=(240-in_h)/2:color=black" -preset ultrafast -y -r pal "2_v.mp4"

Третья команда:

ffmpeg -i 1_a.opus -i 2_a.opus -itsoffset 0.024181 -i 1_v.mp4 -itsoffset 0.113192 -i 2_v.mp4 -filter_complex "[1:a]adelay=15726.168|15726.168[a1]; [0:a][a1]amix; [3:v]trim=0:15.726168,geq=0:128:128[silence]; [3:v]fifo[3v]; [silence][3v]concat[3_v_silence]; [2:v]fifo[2v]; [2v][3_v_silence]hstack[out_v]; [out_v]pad=width=640:height=480:x=(640-in_w)/2:y=(480-in_h)/2:color=black" -crf 40 -preset ultrafast -y -r pal "out.mp4"

Я пыталсяобъедините вышеупомянутые 3 команды и сформируйте единственную команду.Тем не менее, результат не очень хороший, звук приглушен в течение нескольких секунд в середине воспроизведения, также 2-е видео становится на несколько секунд раньше.Следовательно, заканчивая тем, что испортил аудио / видео синхронизацию.

Это моя единственная команда, которая не дает желаемого результата:

ffmpeg -i 1_a.opus -i 2_a.opus -itsoffset 0.024181 -i 01_v.webm -itsoffset 0.113192 -i 02_v.webm -filter_complex "[1:a]adelay=15726.168|15726.168[a1]; [0:a][a1]amix; [3:v]trim=0:15.726168,geq=0:128:128[silence]; [3:v]fifo[3v]; [silence][3v]concat[3_v_silence]; [2:v]scale=-1:240[2v_scaled_240]; [2v_scaled_240]pad=width=320:height=240:x=(320-in_w)/2:y=(240-in_h)/2:color=black[2v_padded]; [3_v_silence]scale=-1:240[3v_scaled_240]; [3v_scaled_240]pad=width=320:height=240:x=(320-in_w)/2:y=(240-in_h)/2:color=black[3v_padded]; [2v_padded]fifo[2v]; [2v][3v_padded]hstack[out_v]; [out_v]pad=width=640:height=480:x=(640-in_w)/2:y=(480-in_h)/2:color=black" -crf 40 -preset ultrafast -y -r pal out.mp4
...