Советую глянуть технологию V4L2 и в том числе v4l2rtspserver. Позволяет в реальном времени декодировать видеосигнал. С помощью этого можно не только захватывать сигнал с вебкамер, но и создавать виртуальные видеоустройства, такие как захват монитора, и работать непосредственно с ними (в большинстве случаев объекты расположенны по пути /dev/video*). В качестве примера проекта в тандеме с V4L2 могу привести не совсем в тему, но достаточно обширный пример собственного виртуального фона на Linux написанного на Python.