FFMPEG отображает несколько аудиовходов в один файл изображения для создания нескольких видеовыходов - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь создать несколько выходных файлов в 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 Ответ

0 голосов
/ 15 февраля 2019

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

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

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

Pipe

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

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

...