Dialogic Blog

XMS 3.3 – Scaling Video Applications with SFU

by Alan Percy

May 3, 2017 12:50:23 PM

This is the first of a multi-part blog series, explaining some of the many features and functions found in the newly released PowerMedia XMS 3.3 software.

sfu-topology ap 050317.jpg

Based on a quick survey of our developer community, a major area of new application development is Multi-party video applications – bringing one-way or two-way video to contact center, education, transportation, and security applications.

For video applications, XMS 3.3 adds WebRTC Selective Forwarding Unit (SFU) functionality, enabling large-scale video applications and reducing media processing overhead at the core.  Offered as part of the XMS 3.3 Controlled Introduction, SFU is ideal for few-to-many conferencing and educational applications, using an architecture that forwards each of the participant’s video to all the other participants without the computational or latency induced by rendering or transcoding.   An alternative to the Multipoint Conferencing Unit (MCU) function (included in prior versions of XMS), SFU functionality shifts rendering responsibility to the client applications.  Applications using SFU scale better, but require significantly greater network bandwidth, and due to the rendering computational load, puts a strain on mobile device battery life.  With support for both MCU and SFU, PowerMedia XMS 3.3 enables a wide range of application use cases. 

The algorithms used to encode, compress, and de-compress (codecs) video have gone through some significant changes over the last few years. Avoiding oppressive licensing fees while delivering high-resolution and low latency video experiences has been a universal goal for application designers.  Thanks to the work by the researchers at Google, the VP9 video codec is now available in Chrome and is becoming a standard part of the WebRTC landscape.  PowerMedia XMS was the first media server to support the VP9 codec – now supporting all encoding and decoding processes. 

Another challenge for large-scale video applications is the computationally-heavy task of video encoding, rendering a video stream based on the viewer’s bandwidth, device screen size, and network conditions. In mobile applications, a custom rendering for each viewer would be ideal, maximizing the user’s experience for their specific device and situation. However, custom renderings are computationally expensive and for some applications, not all viewers need their own video rendering.  By adding Encoder Sharing to XMS 3.3, application can now support many more viewers, improving scaling and efficiency. 

With all the various mobile devices, computer screens and home entertainment devices, each with their own screen dimensions and aspect ratio, it’s often difficult to choose the best video format for an application.   To help solve this challenge, XMS 3.3 now offers several new features for Video Aspect Ratio Control, managing the format of recorded and live video.

The newly released PowerMedia XMS 3.3 continues to offer extensive video media services.  Interested in giving it a try?  You can download a FREE trial copy of the software at the PowerMedia XMS Product Page.

Liked this post? Get more content like this right to your inbox. Subscribe to  the blog.


Topics: WebRTC, VoLTE/VoWifi & IMS, NFV/SDN & Cloud, Communications Application Development