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

person Edmund Rojas    schedule 14.02.2019    source источник


Ответы (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

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

person llogan    schedule 14.02.2019