AWRR:
bosique:
Вкратце. Имеется 3 потока видеосигнала: фон, поток с камеры который нужно откеить и анимировать в реальном времени 3й слой с альфа каналом, который накладывается поверх.
Ищу любые решения. Будь то железка, софт или же создание софта с 0. Пока не смог найти ничего подобного. Есть различные видеомикшеры, но они не умеют анимировать в режиме прямого эфира. Может кто подскажет, хотя бы в каком направлении копать?
Сразу предупреждаю, с видео я почти не работал, только при создании плеера для моей программы digital signage, так что мое мнение, возможно, несколько дилетантское.
Я использовал libvlc и получал прямой доступ к видеокартинке (в моем случае это локальные видеофайлы или видепотоки с youtube). Получив картинку как массив пикселей, я мог проделывать с ней (и достаточно быстро) любые действия до показа в окне плеера - накладывать надписи, картинки-логотипы, менять цветность и т.п. Так вот, думаю, вполне возможно, если открыть таким образом 3 потока и получить 3 картинки, сделать с ними все необходимые манипуляции и вывести куда нужно (на экран или даже стримить далее).
Вопрос, скорее, в том, в каком виде и откуда идут эти видеопотоки, и сможет ли их подхватить libvlc
Поток 1 - готовый видеофайл - фон (задний план), поток 3 - тоже готовый файл с альфа-каналом (объекты переднего плана). Поток 3 - live-видео с камеры, захват с помощью BM Intensity pro, либо другим способом.
Поток 3 нужно прокеить в реальном времени и анимировать (Х, Y и масштаб, возможно вращение).
Вкратце: человек заходит в помещение с фоном для хромакея, его снимает одновременно 2 камеры фронтальный план сверху (как на рисунке) и боковой.
Затем это все кеится и накладывается на фон - различные видовые планы. С помощью анимации как бы имитируется полет. Будто человек расправив руки парит над землей. Звучит, да и выглядит немного странно, но такова задача )
Собственно я сейчас реализовал это с помощью монтажного софта. Вначале идет процесс съемки, затем файлы с обеих камер добавляются в проект и по шаблону кеится, анимируется и рендерится. Но требуется интерактивность, чтоб человек в режиме прямого эфира мог наблюдать результат.