Вам определенно не нужно создавать свой собственный сервер сигнализации. Я бы предложил использовать что-то вроде Kurento Streaming Server или производную от Kurento, такую как OpenVidu. Он с открытым исходным кодом и бесплатный, и имеет много отличной и активной поддержки через группы Google. В зависимости от того, какая конкретная c настройка вам может понадобиться, одна или другая может быть лучше для вас. OpenVidu позволяет меньше настраивать, так как большинство вещей под капотом уже сделано для вас, в то время как Kurento позволяет вам модифицировать и настраивать почти все под капотом и передним краем, используя примеры, которые можно изменить на уровне кода. Я широко использовал его в проектах прошлого и думаю, что он соответствует большинству, если не всем вашим требованиям. Масштабирование может быть немного сложным, но все же намного sh проще, чем просто P2P webRT C, поскольку все ретранслируется через центральный сервер и, безусловно, выполнимо в зависимости от ваших требований и реализации. Кроме того, вы можете записывать, обрабатывать и транскодировать видео на стороне сервера.