Ваше реальное узкое место с ME SH заключается в том, что каждое соединение RTCPeerConnection будет выполнять собственное кодирование видео в браузере.
Концепция p2p, естественно, включает требование, чтобы оба узла настраивали качество кодирования в зависимости от условий сети. Итак, когда ваш браузер отправляет два потока одноранговым узлам X (хорошая скорость загрузки) и Y (плохая скорость загрузки), кодировки для X и Y будут разными - Y получит меньшую частоту кадров и битрейт, чем X.
Звучит разумно, правда? Но, к сожалению, требует отдельного кодирования видео для каждого однорангового соединения.
Если бы несколько одноранговых соединений могли повторно использовать одно и то же кодирование видео, то ME SH был бы намного более жизнеспособным. Но Google не предоставил такую возможность в браузере. Для Simulcast требуется SFU, так что это не ваш случай. 5-6, не более. Для 640х480 15 кадров в секунду? Может быть, 20 кодировок.
На мой взгляд, уровень кодирования и сетевой уровень можно разделить в дизайне WebRT C, и даже getUserMedia можно расширить до getEncodedUserMedia, чтобы вы могли отправлять один и тот же закодированный контент нескольким peers.
Вот и настоящая практическая причина, по которой люди используют SFU для многопользовательского WebRT C.