3

Я задаю этот вопрос, так как не смог найти ничего похожего на мою проблему. Я хотел бы прочитать различные потоки последовательностей изображений и поместить их "thumbnailed" в новый поток изображений.

Из приведенного ниже примера изображения вы видите, что я читаю различные последовательности изображений, чтобы создать поток большого изображения с большими пальцами.

Можно ли решить это только с помощью команд ffmpeg ???

Спасибо!

1 ответ1

5

Способ размещения 4 потоков изображений:

ffmpeg -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:0]pad=iw*2:ih*2[a];[a][1:0]overlay=w[x];[x][2:0]overlay=0:h[y];[y][3:0]overlay=w:h" -strict -2 output.mp4  

При этом не используется какой-либо другой фильтр, он использует пэд для уменьшения размера, а затем накладываемый фильтр, чтобы наложить его на четыре позиции пикселя. Но в цепочке фильтров он должен делать это несколько раз, комбинируя эффекты первых двух входов, затем накладывая их на третий и затем на четвертый.

Я использовал контейнер mp4 но он может работать для других контейнеров. Вам не понадобится -strict -2 в большинстве случаев - здесь он используется, потому что мой ffmpeg по умолчанию использует aac audio encoder для mp4.

Если нет звука, что весьма вероятно в вашем случае, вам снова не понадобится опция -strict -2 . Если у вас есть аудио в качестве входных данных, но вы не хотите использовать его в выходных данных, добавьте параметр -an в команду.

В качестве альтернативы, и это хороший вариант, используйте параметр map :

ffmpeg -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:0]pad=iw*2:ih*2[a];[a][1:0]overlay=w[x];[x][2:0]overlay=0:h[y];[y][3:0]overlay=w:h[v]" -map '[v]' output.mp4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .