Free Quote
Portfolio

Project Overview

A WebRTC-based videoconferencing system with support for a virtually infinite number of simultaneous users. The solution provides rich communication capabilities for online events and corporate training and enables real-time interpreting into multiple languages.

Client

A European company that provides virtual platforms for business conferences and educational events

Industry

Online Video

Engagement Model

Time & Materials

Business Context

An ambitious startup turned to Oxagile to develop a scalable online video solution that would enable organizations to conduct business and educational events for thousands of attendees from all over the world. Tough performance requirements were coupled with a complex business logic that included a simultaneous interpretation feature, turning the project into a one-of-a-kind challenge.

Oxagile’s Process

Oxagile assembled a self-motivated team of professionals with years of video-related experience. From the start, the team’s developers won the client’s confidence by devising an innovative approach to system architecture that allowed it to handle the required load while staying cost-effective.

As the client stressed the importance of flexibility and communication, the team’s certified PM suggested using the Scrum model. The choice of methodology made the product’s progress more transparent to the client and made it easy to introduce functionality changes along the way.

Delivered Solution

By relying on Kurento WebRTC technology, Oxagile developed a robust online video platform that offers high quality video and audio communication directly in the browser. Its plugin-free nature and highly scalable architecture make the platform a great choice for hosting large online events.

The solution comes with a host of collaboration features, including hassle-free sharing of office and multimedia files and in-session text messaging for individuals and groups. The video and audio recording feature allows preserving past events for educational purposes.

Case Highlights

  • Up to 4 co-presenters in a session
  • 450 stable concurrent streams per server
  • Intelligent autoscaling
  • Zero packet loss
  • 13.2% average CPU usage
  • Latency of under 3 seconds
  • Global content delivery
  • Video and audio recording
  • Hassle-free file sharing
  • Nearly unlimited number of participants
  • 24/7 system availability

Key Functionality Overview

The platform provides an end-to-end online conferencing experience, starting with scheduling and setting up an interactive webinar down to parallel translation and live materials sharing.

Comprehensive event setup and management

The organizer has the ability to schedule virtual events and sessions within events, send invitations to participants, and manage all aspects of the live session. During a live stream, the organizer is responsible for choosing a presenter and switching between them, or adding a number of lecturers to the stream for a discussion (the solutions allows for up to 3 secondary streams). The organizer also accepts or declines questions from the audience.

Extended features for the lecturer

After accepting the invitation to an online event, the lecturer can make their presentation, answer questions forwarded to them by the organizer, and share additional materials with the audience via a virtual folder.

Interactivity for event attendees

The attendee accepts invitations to events, attends live sessions, and can choose to listen to the original or the interpreted sound streams. Attendees can also submit questions to the presenter after the organizer’s approval. When needed, the attendee can replace the original audio with the interpreter’s stream, or switch between the available interpreters.

Live interpreting to multiple languages

Interpreters state their inbound and outbound languages and are called upon depending on the audience of the future event. As simultaneous interpreters usually work in pairs during long sessions, the platform includes switching functionality so that an active interpreter could request a change. If the request is approved, their partner steps in to continue. The whole process is seamless to provide the best possible experience for the audience.

Outstanding Scalability and Performance

During the elaboration phase it became obvious that the project’s high scalability and performance requirements are at odds with load restrictions on popular WebRTC servers such as Kurento, Jitsi, and Xirsys.

Using research findings provided by Oxagile’s R&D, the team was able to implement innovative autoscaling and connect multiple Kurento media servers — each supporting up to 450 streams — via the RTP protocol.

This redundant, highly available architecture allows the system to efficiently balance the load, firing up additional servers when necessary.

Load testing demonstrated that the solution can be scaled to handle at least 5,000 concurrent users while maintaining a latency of under 3 seconds. With the implemented architecture in place, the number of session attendees will be restricted solely by the number of servers the organizer is ready to purchase.

Testing and QA

The QA team conducted rigorous performance testing with varying scenarios and a continuously increasing load to ensure stability and quality of experience regardless of the number or location of users.

Functional testing focused on the most intricate user workflows such as live event management and interpreting coordination.

Future Plans

The client received a next-generation video solution with a unique blend of features that can be applied to hosting high-profile online events in any industry — from education to healthcare.

The second development phase will include further optimizations and enhancements to the product, namely a native mobile app, comprehensive subscription functionality, and the ability to produce a complete multifocal session recording after the event.

Related cases

Machine Learning-Supported Proctoring Platform that allows seamlessly overseeing multiple exams.
Modular Webinar Solution for an Advanced LMS – a WebRTC module that enables collaborative learning for organizations.
E-Learning Portal with Rich Video Chat Functionality – an online education marketplace and an interactive language platform.
Video Chat Platform for Web and Mobile – advanced eCommerce Video Chat designed to boost client engagement and sales.
Voice and Video Communication Components that introduce voice calling, voice conferencing, and video calling to an existing messaging platform.

Technology Stack
Java 8, Hibernate, Spring Boot, Tomcat, Kurento Media Server, WebRTC, RTP, PostgreSQL, nginx, React, Bootstrap, jQuery, REST
Timeframe and Workload
Duration: 5 months
Effort: 30 man-months

Have an idea for a project?
Let us help! Contact us now, and a solution expert will get back to you ASAP.

Let's Talk Business!