Кілька послідовностей зображень, зменшених на одній площині зображення. (FFMPEG)


3

Я задаю це питання, оскільки я не зміг знайти нічого подібного до своєї проблеми. Я хотів би прочитати різні потоки послідовностей зображень і помістити його в "ескіз" до нового потоку зображень.

З наведеного нижче прикладу ви бачите, що я читаю різні послідовності зображень, щоб скласти ескізний великий потік зображень.

Чи можна це вирішити лише за допомогою команд ffmpeg ???

Дякую!

введіть тут опис зображення


1
Не впевнений, що я вас розумію, але погляньте на це . Це те, чого ти хочеш? Тобто без інших варіантів фільтрації - просто масштабування та накладання?
— Раджиб

Це здається досить близьким, я буду вивчати це. (окрім застосування фітлерів)
— користувач1767754

Чи можна застосувати цю сітку без додавання ефектів фільтра?
— користувач1767754

Ви маєте на увазі сині розділові лінії? Ви можете розмістити всі чотири відео поверх синього фону.
— Раджиб

ні ні, на сторінці, яку ви мені дали, синтаксис схожий на -filter_complex "[0: 0] pad = iw * 2: ih * 2 [a]; але я не хочу застосовувати до нього ніяких ефектів, просто влаштуйте їх у цю сітку
— користувач1767754

Відповіді:


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  

Для цього не використовується жоден інший фільтр, він використовує килимок для зменшення розміру, а потім фільтр накладання для розміщення на чотирьох піксельних положеннях. Але у ланцюзі фільтру це потрібно зробити кілька разів, поєднуючи ефекти перших 2 входів, потім накладання на третій, а потім на четвертий.

Я використовував mp4контейнер, але він може працювати для інших контейнерів. Вам не знадобиться -strict -2за більшості обставин - тут він використовується тому, що мій ffmpeg за замовчуванням aacаудіо кодер для 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.