📜 ⬆️ ⬇️

Kinnex Element - a platform for WebRTC conferences

Kinnex Element


Introducing the alpha release of Kinnex Element, a platform for organizing audio and video conferences on WebRTC .

WebRTC is gaining momentum. The official release is getting closer and closer, which will allow using a regular browser as a client for IP-telephony and video calls. It will be difficult to say whether it will replace existing technologies, but the availability of an available free and standardized VoIP client will definitely change a lot.
')
In the initial state, WebRTC implements only the simplest p2p communication script. But the emergence of new solutions for corporate communications and IP-telephony, significantly shifted to web development, is not far off.

One of the most important services will be the possibility of video conferencing. The prevalence of smartphones and tablets, the high availability of the Internet, the mobility and geographical distribution of modern business will only contribute and give rise to an urgent need for such solutions.

Based on our own Kinnex VoIP Engine, we have created the Kinnex Element platform for assembling audio and video streams into managed conferences taking into account many requirements of the corporate environment and now we optimize it for the technological conditions of WebRTC.

By the time of release, Windows and Linux and all codecs declared in WebRTC will be supported. Today it’s VP8 for video and iSAC, iLBC, Opus for sound. There is a possibility that H.264 may appear. The main work now is the integration of new codecs. Business logic is already implemented and debugged.

Conference Capacity


In general, a conference is X incoming flows and Y outgoing flows. The relationship between X and Y is non-linear. It is necessary to take into account the load during compression and mixing. When evaluating the actual capacity, you can only talk about the experimental data of some specific configurations of conferences on the server with a given performance.

For the most popular scenarios on a test bench with a 64-bit processor for 8 cores and a frequency of 2.26 GHz and 8 Gb of RAM, the following results were obtained.

Broadcasting
For a conference with one incoming stream from a video camera, the number of outgoing streams can reach 200-250, depending on the network bandwidth.

Feedback Broadcast
In the conference, there is one incoming stream from the main video camera, which all participants see, and from each participant one incoming stream from his video camera, which only the presenter sees. Streams are not mixed. The number of streams that can be watched simultaneously by the presenter will be limited by the performance of his computer and the network bandwidth. For example, if the presenter observes any 24 streams from the participants, then the number of participants in such a conference can reach 150-200 people. With the inclusion of mixing of incoming streams, the requirements for computer performance of the leader will significantly decrease, and the number of streams displayed by participants will increase.

Speech or group meeting
In the conference several inbound streams from video cameras. Customers can watch either all incoming streams, or only a part of them. If each participant of the conference sees everyone else, then in total there can be 16 maximum with Full HD picture quality. If each participant does not see all the streams, for example, but only one (Voice Activated) or the quality of video streams decreases, then the total number of participants and incoming streams from video cameras will increase.

When a conference is expanded, the availability of available server resources is automatically calculated. Connecting a new active participant will be possible only if they have the necessary amount to service the entire conference. In fact, this protects the server from DoS.

Integration


The interface for managing users and conferences, billing (if any) will be implemented by developers on a web server. A set of all necessary APIs is available for interacting with the Kinnex Element platform.

WebRTC client is a browser. We provide the participant and conference manager templates, including the operator’s workplace for conference calls. At the discretion of the developers, this part can be customized or implemented independently.

The release of WebRTC stimulates the active development of solutions that will compete with the existing leaders in the corporate communications market, and will open up new opportunities for web developers. You can start implementing one of the most anticipated solutions right now based on the Kinnex Element platform.

Product site http://element.kinnex.ru/

Source: https://habr.com/ru/post/212207/


All Articles