Abstract-WebRTC enables web browsers with real-time communications capabilities via JavaScript APIs. But when the number of the participants increases, the bandwidth and CPU requirements have become a serious issue in a push based mesh network. In this paper, we propose a P2P-MCU approach for multi-party video conferencing that efficiently supports both ordinary smart mobile phones and PCs. In our approach, a MCU module is integrated into the browser to mix and transcode the video & audio streams in real time. And when the browser acts as the MCU node leaves the conference session without notice, another candidate browser can take over the control immediately, and the ongoing WebRTC conference can be seamlessly recovered with our MCU selection algorithm. In addition, our approach works under the 3G symmetric NAT networks by using some UDP hole punching method. Our P2P-MCU solution reduces 64% CPU usages and 35% bandwidth consumptions for each participant compared to the mesh-network solution in our eight-party WebRTC conference experiments. Although the P2P-MCU module may introduce some delay (<500ms), the delay is stable and perceptually almost neglectable.Index Terms-MCU, P2P, video conference, WebRTC.
I. INTRODUCTIONDriven by the widespread fixed and mobile broadband networks, there is a trend to have real time multi-party video conferences at any time/place. To meet the emerging requirements, WebRTC [1] (Web Real-Time Communications) received a great interest since the API is inherently supported by many new versions of popular browsers, i.e. Google Chrome and Mozilla Firefox. However, since WebRTC is initially designed for browser to browser communication, even for a small scale group, the multi-party conference model may be either complicated or expensive.In particular, to support N conference participants with a pure Mesh network, there will be N*(N-1)/2 links. The bandwidth/device capability requirements will increase quadratically to the number of the participants in the conference. Accordingly, a MCU [2] (Multi point Control Unit) server is introduced to reduce bandwidth consumption by mixing the media received from users in the conference into a single stream to each participant. However, MCU server, typically based on a fixed and pre-configured hardware, is often quite costly and it consumes significant amount of bandwidth. In this paper, we describe our approach to peer-to-peer MCU (P2P-MCU) that tackles the abovementioned issues. Moreover, in our approach, the MCU is integrated in a browser at the client side, and this specific client is called MCU host. Accordingly, the media flows in the conference run in a P2P manner between the MCU host and web browsers. The proposed approach is implemented and we demonstrate the web applications that we developed for an eight party WebRTC conferencing including mobile clients.The contributions of this paper are: firstly, we design a P2P-MCU architecture working with current WebRTC protocols; secondly, we propose a MCU host determination strategy to dynamically...