Как преобразовать видео в маску с помощью ffmpeg?

#ffmpeg

#ffmpeg

Вопрос:

Я хочу синтезировать видео с помощью предварительно разработанного шаблона.

структура шаблона

Конечный результат похож на видео ниже

результат: Это видео синтезировано мной с использованием moviepy (модуль Python для редактирования видео). Но это занимает слишком много времени для использования в производстве.

Итак, мне нужно наложить эти видео в одно видео.

Текущие проблемы

  • Как преобразовать видео в маску с помощью ffmpeg?
  • Как синтезировать эти видео в одно видео с помощью ffmpeg?

Комментарии:

1. Все эти файлы сейчас отсутствуют, что затрудняет понимание этого вопроса и ответа для других.

Ответ №1:

Используйте

 ffmpeg -i cat.mp4 -i bg1.mp4 -i mask1.mp4 -i fg1.mp4 -filter_complex "[2]negate[a];[1][a]alphamerge[frame];[0][frame]overlay=format=auto[framed];[3]mergeplanes=0x00010200:format=yuva420p[fg];[framed][fg]overlay" out.mp4
  

Основной порядок операций таков: 1) прикрепите маску к видео bg, 2) наложите этот результат поверх содержимого. 3) наложите FG поверх второго результата.

Для достижения наилучших результатов создайте маску и для видео переднего плана, и если вы это сделаете, используйте alphamerge, как я сделал для видео bg, вместо mergeplanes, как я сделал.

Мне пришлось инвертировать маску BG, поскольку участки, окрашенные в белый цвет, представляют видимые области маски.

Комментарии:

1. Прежде всего, спасибо за ваш ответ, это правильное решение. Но есть ли какое-либо решение, которое может увеличить скорость? Потому что я обнаружил, что для выполнения обработки видео в секунду требуется около 1 секунды (на моем Mac). Желаю вам крепкого здоровья и удачной работы.

2. Добавить -preset superfast после overlay"

3. shell ffmpeg -i bg1.mp4 -i mask1.mp4 -i fg1.mp4 -i cat.mp4 -filter_complex "[1]negate[m];[0][m]alphamerge[f];[3][f]overlay=format=auto[a];[2]mergeplanes=0x00010200:format=yuva420p[fg];[a][fg]overlay" -preset superfast -y out.mp4 Кажется, что скорость не улучшилась @Gyan

4. Поделитесь полным журналом.

5. Из-за ограничения количества слов в комментариях, вот журнал! журнал