1) Надо сначала нарисовать архитектурную диаграмму безотносительно языка программирования.
В виде кубиков и стрелочек. Например главным кубиком этой системы может быть сервер и система
хранения. Отдельно например рабочее место оператора или пользователя системы. Перечислить
что каждая часть делает. Нарисовать ограничения. Например если сервер обязан транслировать
2 канала по 4К то его СХД должна в номинальном режиме успевать это передавать.
А язык программирования появится уже потом как следствие из этой диаграммы.
Сам по себе Python - подходит как оркестратор или запускатель процессов в этой системе.
В самом простейшем варианте python может запускать например ffmpeg и контролировать
heartbeat например.
2) Зачем здесь автор хочет OpenCV - пока непонятно. Лучше сначала построить прототип без
этой фичи а потом уже написать некое дополнение к задаче чтобы включить туда машинное зрение
как отдельную часть. В противном случае ТЗ выходит слишком завязанным где все-от-всего зависит
и непонятно с чего начинать. А начинать надо с простого а не со сложного.