FFMPEG отображает несколько аудиовходов в один файл изображения для создания нескольких видеовыходов

Я пытаюсь иметь несколько выходных файлов в ffmpeg для отображения на несколько входов, однако вместо каждого сопоставления ввода с уникальным выводом я получаю первое сопоставление ввода с первым видео, а затем никогда не создаются следующие видео, я точно опишу, что Я пытаюсь достичь ниже,

Мне необходимо:

  1. создать несколько выходных видео файлов
  2. из нескольких аудио входных файлов
  3. которые все используют один и тот же общий файл изображения для создания видео

Я опубликую свою команду ниже, любая помощь будет принята с благодарностью

-y -i input1.mp3 -i input2.mp3 -f image2 -loop 1 -r 2 -i imagefile.png -shortest -c:a aac -c:v mpeg4 -crf 18 -preset veryfast -movflags faststart -map 0 output1.mp4 -map1 output2.mp4

1 ответ

Основная команда

ffmpeg -i input1.mp3 -i input2.mp3 -loop 1 -framerate 10 -i imagefile.png -map 2:v -map 0:a -vf format=yuv420p -shortest output1.mp4 -map 2:v -map 1:a -vf format=yuv420p -shortest output2.mp4

Видео фильтруется и кодируется один раз для каждого выхода.

С разделенным фильтром

ffmpeg -i input1.mp3 -i input2.mp3 -loop 1 -framerate 10 -i imagefile.png -filter_complex "[2:v]format=yuv420p,split=outputs=2[v0][v1]" -map "[v0] -map 0:a -shortest -movflags +faststart output1.mp4 -map "[v1]" -map 1:a -shortest -movflags +faststart output2.mp4

Видео фильтруется всего один раз и кодируется отдельно для каждого выхода.

труба

ffmpeg -y -v error -loop 1 -framerate 10 -i imagefile.png -filter_complex "[0:v]format=yuv420p[v]" -map "[v]" -c:v libx264 -f nut - | ffmpeg -y -i - -i input1.mp3 -i input2.mp3 -map 0:v -map 1:a -c:v copy -shortest -movflags +faststart output1.mp4 -map 0:v -map 2:a -c:v copy -shortest -movflags +faststart output2.mp4

Видео фильтруется и кодируется только один раз, и каждый выходной поток копирует его.

Другие вопросы по тегам