Intel® Collaboration Suite for WebRTC Simplifies Adding Real-Time Communication to Your Applications, Intel® Software

Intel® Collaboration Suite for WebRTC Simplifies Adding Real-Time Communication to Your Applications

Updated April 7, 2016

Overview

Web-based real-time communication (WebRTC) is an open standard proposed by both World Broad Web Consortium (W3C) and Internet Engineering Task Force (IETF) that permits browser-to-browser applications to support voice calling, movie talk, and peer-to-peer (P2P) data transmission. End users can use their browsers for real-time communication without the need for any extra clients or plugins.

The WebRTC standard is gaining significant momentum and is presently fully supported by open standard browsers such as Google Chrome*, Mozilla Firefox*, and Opera*. Microsoft also announced its Edge* browser support on Object RTC (ORTC), which will be interoperable with WebRTC.

To ease adoption of this WebRTC technology and make it widely available to expand or create fresh applications, Intel has developed the end-to-end WebRTC solution, Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC). Intel CS for WebRTC is very optimized for Intel® platforms, including Intel® Xeon® processor-based products such as Intel® Visual Compute Accelerator card, Intel® Core TM processor-based desktop products, and Intel® Atom TM processor-based mobile products.

You can download Intel CS for WebRTC from http://webrtc.intel.com at no charge. It includes the following main components:

  • Intel CS for WebRTC Conference Server – enables not only P2P-style communication, but also efficient WebRTC-based movie conferencing.
  • Intel CS for WebRTC Gateway Server for SIP – provides the WebRTC connectivity into session initiation protocol (SIP) conferences.
  • Intel CS for WebRTC Client SDK – permits you to develop WebRTC apps using JavaScript* APIs, Internet Explorer* plugin for WebRTC, Android* native apps using Java* APIs, iOS* native apps using Objective-C* APIs, or Windows* native apps using C++ APIs.
  • Intel CS for WebRTC User Documentation – includes finish online documentation available on the WebRTC website http://webrtc.intel.com, with sample code, installation instructions, and API descriptions.

Problems with Existing WebRTC-Based RTC Solutions

WebRTC-based RTC solutions switch the way people communicate, bringing real-time communication to the browser. However, as a fresh technology, WebRTC-based solutions require improvements in the following areas to be as accomplish as traditional RTC solutions.

  • Mostly P2P communication based. The WebRTC standard itself as well as Google WebRTC open source reference implementation only concentrates on peer-to-peer (P2P) communication, limiting most of the WebRTC-based solutions to two-party communication. Albeit some WebRTC solutions support multi-party talk, these solutions use mesh network topology, which is less efficient and can only support a few attendees for common client devices.
  • Not fully accounting for client usage preferences. Albeit browsers are available for numerous platforms, not all users like browsers. That is, many mobile platform end-users choose native apps, such as Android apps or iOS apps. Additionally, some commonly used browsers, such as Internet Explorer, still do not natively support WebRTC.
  • Lack of plasticity on MCU server. Some WebRTC-based solutions support multipoint control unit (MCU) servers for multi-party communication. However, most of those MCU servers use a router/forward solution, which just forwards the publishers’ rivulets to the subscribers. Albeit this method fulfills part of the scripts when clients have equivalent capabilities or SVC/Simulcast is supported, it becomes a high requirement for clients to lightly meet. To work with a broad multitude of devices, MCU servers must do some media-specific processing, such as transcoding and mixing.
  • Limited deployment mode choices for customers. Most of the existing WebRTC-based RTC solutions work as a service model hosted by service providers. This style provides all the benefits of a cloud service, but is not useful for service providers and those who want to host the service themselves for data sensitive consideration.

Key differentiation of Intel® CS for WebRTC

Fully Functional WebRTC-Based Audio/Movie Communication

Intel CS for WebRTC not only offers peer-to-peer WebRTC communication, but it also supports WebRTC-based multi-party movie conferencing and provides the WebRTC client connectivity to other traditional movie conferences, like SIP. For movie conferencing, it provides router and mixer solutions at the same time to treat elaborate customer screenplays. Additionally, it supports:

  • H.264 and VP8 movie codecs for input and output rivulets
  • MCU multi-streaming
  • Real-time streaming protocol (RTSP) stream input
  • Customized movie layout definition plus runtime control
  • Voice activity detection (VAD) managed movie switching
  • Supple media recording

Effortless to Deploy, Scale, and Integrate

Intel CS for WebRTC Conference and Gateway Servers provide pluggable integration modules as well as open APIs to work with existing enterprise systems. They lightly scale to cluster mode and serve larger number of users with an increase of cluster knot numbers. In addition, the Intel solution provides comprehensive client SDKs including JavaScript SDK, Android native SDK, iOS native SDK, and Windows native SDK to help customers quickly expand their client applications with movie communication capabilities.

High-Performance Media Processing Capability

Intel CS for WebRTC MCU and Gateway servers are very optimized for Intel® Core™ processors and Intel® Xeon® processor E3 family with Intel® Iris™ graphics, Intel® Iris™ Pro graphics, and Intel® HD graphics technology, through Intel® Media Server Studio.

The client SDKs, including the Android native SDK and Windows C++ SDK, use the mobile and desktop platforms’ hardware media processing capabilities to improve the user practice. That is, the Android native SDK is optimized for Intel® Atom™ platforms (all Intel® Atom™ x3, x5, and x7 processor series) focusing on movie power and spectacle, as well as end-to-end latency. The Windows C++ SDK also uses the media processing acceleration of the Intel® Core™ processor-based platforms (i3, i5, i7) for consistent HD movie communication.

Secure, Intelligent, Reliable QoS Control Support

Intel CS for WebRTC solution ensures movie communication data security through HTTPS, secure WebSocket, SRTP/DTLS, etc. Also the intelligent quality of service (QoS) control, e.g., NACK, FEC, and dynamic bitrate control, assures the communication quality inbetween clients and servers against high packet loss and network bandwidth variance. Experiments listed in Figure one have shown that the Intel movie engine treats up to 20% packet loss and 200ms delay.

Figure 1. Packet Loss Protection Results with QoS Control

Utter Functional Movie Communication with Intel CS for WebRTC Conference Servers

Nimble Communication Modes

Intel CS for WebRTC offers both peer-to-peer movie call and MCU-based multi-party movie conference communication modes.

A typical WebRTC usage screenplay is direct peer-to-peer movie call. After connecting to the signaling server, users can invite other parties for P2P movie communication. All movie, audio, and data rivulets are transported directly inbetween each other. Meantime, the signaling messages for discovery and control go through the signaling server. As Figure two shows, Intel provides a reference signaling server implementation called Peer Server with source code included. Customers can construct their own signaling server based on this Peer Server or substitute the entire Peer Server with an existing channel. The client SDK also provides the customization mechanism to let users implement their own signaling channel adapter.

Figure Two. P2P Movie Communication with Peer Server

Intel CS for WebRTC solution further offers the MCU-based multi-party movie conference talk. All flows go through the MCU server the same as the signaling messages do as Figure three shows. This reduces the stream traffic and computing overhead on client devices compared to a mesh network solution.

Figure Three. Multi-party Movie Conference Talk through MCU Server

Unlike most existing WebRTC MCUs, which usually work as a router to forward media flows for clients, Intel CS for WebRTC MCU server also treats the media processing and permits a broad range of devices to be used in the conference. Users can subscribe to either the forward flows or mixed rivulets from MCU server. Based on Intel Iris Pro graphics or Intel HD graphics technology, media processing on the MCU server can achieve excellent cost-performance ratio.

The Intel MCU provides more plasticity on mixed rivulets. You can generate numerous movie resolution mixed rivulets to adapt to various client devices with different media processing capability and network bandwidth.

Outward Input for RTSP Flows

Intel CS for WebRTC permits bridging a broader range of devices into the conference by supporting outer inputs from RTSP rivulets. This means almost all RTSP compatible devices, including IP cameras, can join the movie conference. The IP camera support opens up usage screenplays and applications in security, remote education, remote healthcare, etc.

Mixed-Stream Layout Definition and Runtime Region Control

Through Intel CS for WebRTC movie layout definition interface, which is an expanded version of RFC-5707 (MSML), you can define any rectangle-style movie layout for conference, according to the runtime participant numbers. Figure four shows the movie layout for one conference. The meeting contains five different layouts with 1, Two, Three, Four, or 5-6 participants.

Figure five describes the detailed layout regions for a maximum of two participants. The region with id number one is always the primary region of this layout.

Figure Five. Example Movie Layout Definition and Effect

Intel CS for WebRTC MCU also supports automatic voice-activated movie switching through voice activity detection (VAD). The user most active on voice is switched to the primary region which is the yellow part of Figure 6.

Figure 6. Example Movie Layouts with Primary Region

You can also assign any stream to any region as needed during runtime for supple movie layout design of the conference.

Pliable Conference Recording

When recording in Intel CS for WebRTC, you can select any movie feed and any audio feed. You not only can record switching across different flows that the conference room is suggesting (such as mixed and forward rivulets), but also select movie and audio tracks separately from different rivulets. You can select the audio track from the mixed stream of participants and movie track from the screen-sharing stream.

Scaling the Peer Server Reference Implementation

Albeit the Peer Server that Intel provides is a signaling server reference implementation for signal knot, you can extend it to a distributed and large scale platform by refactoring the implementation. See Figure seven for a scaling proposal.

Figure 7. Peer Server Cluster Scaling Proposal

Scaling the MCU Conference Server

The Intel CS for WebRTC MCU server was designed to be a distributed framework with separate components, including manager knot, signaling knots, accessing knots, media processing knots, etc. Those components are effortless to scale and suitable for cloud deployment.

Figure eight shows an example from the conference server user guide for deploying an MCU server cluster.

Figure 8. MCU Conference Server Cluster Deployment Example

Interoperability with Intel CS for WebRTC Gateway

For legacy movie conference solutions to adopt the WebRTC advantage on the client side, Intel CS for WebRTC provides the WebRTC gateway.

Key Functionality Suggesting

Intel CS for WebRTC gateway for SIP not only provides the basic signaling and protocol translation inbetween WebRTC and SIP, it also provides the real-time media transcoding inbetween VP8 and H.264 to address the movie codec preference difference inbetween them. In addition, the gateway keeps the sessions mapping inbetween WebRTC and SIP to support bi-directional movie calls. Figure nine shortly shows how SIP devices can connect with WebRTC terminals through the Gateway Intel provided.

Figure 9. Connect WebRTC with SIP Terminals through the Gateway

Validated SIP Environments

Note: See Intel CS for WebRTC Release Notes for current validated environments

Cloud Deployment

The Intel CS for WebRTC gateway instances are generally session-based. Each session is independent, so sessions are lightly scalable to numerous instances for cloud deployment. You can make the gateway example management a component of your existing conference system scheduling policy and achieve blast balancing for the gateway.

Comprehensive Intel CS for WebRTC Client SDKs

The Intel CS for WebRTC also provides comprehensive client SDKs to help you lightly implement all the functionalities that the server provides. The client SDKs permit client apps to communicate with remote clients or join conference meetings. Basic features include audio/movie communication, data transmission, and screen sharing. P2P mode also supports a customized signaling channel that can be lightly integrated into existed IT infrastructures.

Client SDKs include JavaScript SDK, Android SDK, iOS SDK, and Windows SDK. Current features are listed in Table 1.

Customized Signaling Channel

In addition to the default Peer Server, Intel CS for WebRTC client SDK for P2P talk provides elementary customizable interfaces to permit you to implement and integrate with your own signaling channel through the extensible messaging and presence protocol (XMPP) server channel. Figure ten shows there is a separated signaling channel model in client SDK for P2P talk and permits user to customize.

Figure Ten. Customized Signaling Channel in Client SDK for P2P Talk

Hardware Media Processing Acceleration

On Android platforms, VP8/H.264 decoding/encoding hardware acceleration is enabled if the underlying platform includes corresponding MediaCodec plugins. For Windows, H.264 decoding/encoding and VP8 decoding hardware acceleration is enabled with DXVA-based HMFT or Intel Media SDK. For iOS, H.264 encoding/decoding is hardware-accelerated through Movie Toolbox framework. Table two below shows hardware acceleration for WebRTC on different platforms.

Table Two.Hardware Media Acceleration Status for Client SDKs

NAT Traversal

Interactive Connectivity Establishment (ICE) helps devices connect to each other in various complicated Network Address Translation (NAT) conditions. The client SDKs support Session Traversal Utilities for NAT (Overwhelm) and Traversal Using Relay NAT (TURN) servers. Figure eleven and Figure twelve demonstrate how client SDKs perform NAT traversal through Numb or TURN servers.

Figure 11. NAT Traversal with Numb Server

Figure 12. NAT Traversal with TURN Server

Fine-Grained Media & Network Parameter Control

Client SDKs further permit you to choose the movie or audio source and its resolution and framework rate, the preferred movie codec, and maximum bandwidth for movie/audio rivulets.

Real-Time Connection Status Retrieval

Client SDKs provide APIs to retrieve real-time network and audio/movie quality conditions. You can reduce the resolution or switch to an audio only stream if the network quality is not good, or adjust audio levels if audio quality is poor. Table three lists connection status information supported by client SDKs.

Table Trio. Connection Status Information supported by Client SDKs

Conclusion

Based on WebRTC technology, Intel® Collaboration Suite for WebRTC builds an end-to-end solution, permitting you to enhance your applications with Internet movie communication capabilities. The acceleration from Intel’s media processing platforms on the client and server sides, such as the Intel® Visual Compute Accelerator, improves the client user practice as well as the server side cost-effectiveness.

Extra Information

For more information, please visit the following web pages:

Intel Visual Compute Accelerator:

Intel Collaboration Suite for WebRTC:

The Internet Engineering Task Force (IETF) Working Group:

W3C WebRTC Working Group:

WebRTC Open Project:

Acknowledgements (alphabetical)

Elmer Amaya, Jianjun Zhu, Jianlin Qiu, Kreig DuBose, Qi Zhang, Shala Arshi, Shantanu Gupta, Yuqiang Xian

Lei Zhai is the engineering manager in the Intel Software and Solutions Group (SSG), Systems Technologies & Optimizations (STO), Client Software Optimization (CSO). His engineering team concentrates on Intel® Collaboration Suite of WebRTC product development and its optimization on IA platforms.

Intel® Collaboration Suite for WebRTC Simplifies Adding Real-Time Communication to Your Applications, Intel® Software

Intel® Collaboration Suite for WebRTC Simplifies Adding Real-Time Communication to Your Applications

Updated April 7, 2016

Overview

Web-based real-time communication (WebRTC) is an open standard proposed by both World Broad Web Consortium (W3C) and Internet Engineering Task Force (IETF) that permits browser-to-browser applications to support voice calling, movie talk, and peer-to-peer (P2P) data transmission. End users can use their browsers for real-time communication without the need for any extra clients or plugins.

The WebRTC standard is gaining significant momentum and is presently fully supported by open standard browsers such as Google Chrome*, Mozilla Firefox*, and Opera*. Microsoft also announced its Edge* browser support on Object RTC (ORTC), which will be interoperable with WebRTC.

To ease adoption of this WebRTC technology and make it widely available to expand or create fresh applications, Intel has developed the end-to-end WebRTC solution, Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC). Intel CS for WebRTC is very optimized for Intel® platforms, including Intel® Xeon® processor-based products such as Intel® Visual Compute Accelerator card, Intel® Core TM processor-based desktop products, and Intel® Atom TM processor-based mobile products.

You can download Intel CS for WebRTC from http://webrtc.intel.com at no charge. It includes the following main components:

  • Intel CS for WebRTC Conference Server – enables not only P2P-style communication, but also efficient WebRTC-based movie conferencing.
  • Intel CS for WebRTC Gateway Server for SIP – provides the WebRTC connectivity into session initiation protocol (SIP) conferences.
  • Intel CS for WebRTC Client SDK – permits you to develop WebRTC apps using JavaScript* APIs, Internet Explorer* plugin for WebRTC, Android* native apps using Java* APIs, iOS* native apps using Objective-C* APIs, or Windows* native apps using C++ APIs.
  • Intel CS for WebRTC User Documentation – includes finish online documentation available on the WebRTC website http://webrtc.intel.com, with sample code, installation instructions, and API descriptions.

Problems with Existing WebRTC-Based RTC Solutions

WebRTC-based RTC solutions switch the way people communicate, bringing real-time communication to the browser. However, as a fresh technology, WebRTC-based solutions require improvements in the following areas to be as finish as traditional RTC solutions.

  • Mostly P2P communication based. The WebRTC standard itself as well as Google WebRTC open source reference implementation only concentrates on peer-to-peer (P2P) communication, limiting most of the WebRTC-based solutions to two-party communication. Albeit some WebRTC solutions support multi-party talk, these solutions use mesh network topology, which is less efficient and can only support a few attendees for common client devices.
  • Not fully accounting for client usage preferences. Albeit browsers are available for numerous platforms, not all users like browsers. That is, many mobile platform end-users choose native apps, such as Android apps or iOS apps. Additionally, some commonly used browsers, such as Internet Explorer, still do not natively support WebRTC.
  • Lack of plasticity on MCU server. Some WebRTC-based solutions support multipoint control unit (MCU) servers for multi-party communication. However, most of those MCU servers use a router/forward solution, which just forwards the publishers’ flows to the subscribers. Albeit this method fulfills part of the scripts when clients have equivalent capabilities or SVC/Simulcast is supported, it becomes a high requirement for clients to lightly meet. To work with a broad multitude of devices, MCU servers must do some media-specific processing, such as transcoding and mixing.
  • Limited deployment mode choices for customers. Most of the existing WebRTC-based RTC solutions work as a service model hosted by service providers. This style provides all the benefits of a cloud service, but is not useful for service providers and those who want to host the service themselves for data sensitive consideration.

Key differentiation of Intel® CS for WebRTC

Fully Functional WebRTC-Based Audio/Movie Communication

Intel CS for WebRTC not only offers peer-to-peer WebRTC communication, but it also supports WebRTC-based multi-party movie conferencing and provides the WebRTC client connectivity to other traditional movie conferences, like SIP. For movie conferencing, it provides router and mixer solutions at the same time to treat elaborate customer screenplays. Additionally, it supports:

  • H.264 and VP8 movie codecs for input and output flows
  • MCU multi-streaming
  • Real-time streaming protocol (RTSP) stream input
  • Customized movie layout definition plus runtime control
  • Voice activity detection (VAD) managed movie switching
  • Lithe media recording

Effortless to Deploy, Scale, and Integrate

Intel CS for WebRTC Conference and Gateway Servers provide pluggable integration modules as well as open APIs to work with existing enterprise systems. They lightly scale to cluster mode and serve larger number of users with an increase of cluster knot numbers. In addition, the Intel solution provides comprehensive client SDKs including JavaScript SDK, Android native SDK, iOS native SDK, and Windows native SDK to help customers quickly expand their client applications with movie communication capabilities.

High-Performance Media Processing Capability

Intel CS for WebRTC MCU and Gateway servers are very optimized for Intel® Core™ processors and Intel® Xeon® processor E3 family with Intel® Iris™ graphics, Intel® Iris™ Pro graphics, and Intel® HD graphics technology, through Intel® Media Server Studio.

The client SDKs, including the Android native SDK and Windows C++ SDK, use the mobile and desktop platforms’ hardware media processing capabilities to improve the user practice. That is, the Android native SDK is optimized for Intel® Atom™ platforms (all Intel® Atom™ x3, x5, and x7 processor series) focusing on movie power and spectacle, as well as end-to-end latency. The Windows C++ SDK also uses the media processing acceleration of the Intel® Core™ processor-based platforms (i3, i5, i7) for consistent HD movie communication.

Secure, Intelligent, Reliable QoS Control Support

Intel CS for WebRTC solution ensures movie communication data security through HTTPS, secure WebSocket, SRTP/DTLS, etc. Also the intelligent quality of service (QoS) control, e.g., NACK, FEC, and dynamic bitrate control, assures the communication quality inbetween clients and servers against high packet loss and network bandwidth variance. Experiments listed in Figure one have shown that the Intel movie engine treats up to 20% packet loss and 200ms delay.

Figure 1. Packet Loss Protection Results with QoS Control

Total Functional Movie Communication with Intel CS for WebRTC Conference Servers

Limber Communication Modes

Intel CS for WebRTC offers both peer-to-peer movie call and MCU-based multi-party movie conference communication modes.

A typical WebRTC usage screenplay is direct peer-to-peer movie call. After connecting to the signaling server, users can invite other parties for P2P movie communication. All movie, audio, and data rivulets are transported directly inbetween each other. Meantime, the signaling messages for discovery and control go through the signaling server. As Figure two shows, Intel provides a reference signaling server implementation called Peer Server with source code included. Customers can construct their own signaling server based on this Peer Server or substitute the entire Peer Server with an existing channel. The client SDK also provides the customization mechanism to let users implement their own signaling channel adapter.

Figure Two. P2P Movie Communication with Peer Server

Intel CS for WebRTC solution further offers the MCU-based multi-party movie conference talk. All flows go through the MCU server the same as the signaling messages do as Figure three shows. This reduces the stream traffic and computing overhead on client devices compared to a mesh network solution.

Figure Three. Multi-party Movie Conference Talk through MCU Server

Unlike most existing WebRTC MCUs, which usually work as a router to forward media flows for clients, Intel CS for WebRTC MCU server also treats the media processing and permits a broad range of devices to be used in the conference. Users can subscribe to either the forward flows or mixed rivulets from MCU server. Based on Intel Iris Pro graphics or Intel HD graphics technology, media processing on the MCU server can achieve excellent cost-performance ratio.

The Intel MCU provides more plasticity on mixed rivulets. You can generate numerous movie resolution mixed rivulets to adapt to various client devices with different media processing capability and network bandwidth.

Outer Input for RTSP Rivulets

Intel CS for WebRTC permits bridging a broader range of devices into the conference by supporting outward inputs from RTSP rivulets. This means almost all RTSP compatible devices, including IP cameras, can join the movie conference. The IP camera support opens up usage scripts and applications in security, remote education, remote healthcare, etc.

Mixed-Stream Layout Definition and Runtime Region Control

Through Intel CS for WebRTC movie layout definition interface, which is an expanded version of RFC-5707 (MSML), you can define any rectangle-style movie layout for conference, according to the runtime participant numbers. Figure four shows the movie layout for one conference. The meeting contains five different layouts with 1, Two, Trio, Four, or 5-6 participants.

Figure five describes the detailed layout regions for a maximum of two participants. The region with id number one is always the primary region of this layout.

Figure Five. Example Movie Layout Definition and Effect

Intel CS for WebRTC MCU also supports automatic voice-activated movie switching through voice activity detection (VAD). The user most active on voice is switched to the primary region which is the yellow part of Figure 6.

Figure 6. Example Movie Layouts with Primary Region

You can also assign any stream to any region as needed during runtime for nimble movie layout design of the conference.

Pliable Conference Recording

When recording in Intel CS for WebRTC, you can select any movie feed and any audio feed. You not only can record switching across different rivulets that the conference room is suggesting (such as mixed and forward flows), but also select movie and audio tracks separately from different rivulets. You can select the audio track from the mixed stream of participants and movie track from the screen-sharing stream.

Scaling the Peer Server Reference Implementation

Albeit the Peer Server that Intel provides is a signaling server reference implementation for signal knot, you can extend it to a distributed and large scale platform by refactoring the implementation. See Figure seven for a scaling proposal.

Figure 7. Peer Server Cluster Scaling Proposal

Scaling the MCU Conference Server

The Intel CS for WebRTC MCU server was designed to be a distributed framework with separate components, including manager knot, signaling knots, accessing knots, media processing knots, etc. Those components are effortless to scale and suitable for cloud deployment.

Figure eight shows an example from the conference server user guide for deploying an MCU server cluster.

Figure 8. MCU Conference Server Cluster Deployment Example

Interoperability with Intel CS for WebRTC Gateway

For legacy movie conference solutions to adopt the WebRTC advantage on the client side, Intel CS for WebRTC provides the WebRTC gateway.

Key Functionality Suggesting

Intel CS for WebRTC gateway for SIP not only provides the basic signaling and protocol translation inbetween WebRTC and SIP, it also provides the real-time media transcoding inbetween VP8 and H.264 to address the movie codec preference difference inbetween them. In addition, the gateway keeps the sessions mapping inbetween WebRTC and SIP to support bi-directional movie calls. Figure nine shortly shows how SIP devices can connect with WebRTC terminals through the Gateway Intel provided.

Figure 9. Connect WebRTC with SIP Terminals through the Gateway

Validated SIP Environments

Note: See Intel CS for WebRTC Release Notes for current validated environments

Cloud Deployment

The Intel CS for WebRTC gateway instances are generally session-based. Each session is independent, so sessions are lightly scalable to numerous instances for cloud deployment. You can make the gateway example management a component of your existing conference system scheduling policy and achieve explosion balancing for the gateway.

Comprehensive Intel CS for WebRTC Client SDKs

The Intel CS for WebRTC also provides comprehensive client SDKs to help you lightly implement all the functionalities that the server provides. The client SDKs permit client apps to communicate with remote clients or join conference meetings. Basic features include audio/movie communication, data transmission, and screen sharing. P2P mode also supports a customized signaling channel that can be lightly integrated into existed IT infrastructures.

Client SDKs include JavaScript SDK, Android SDK, iOS SDK, and Windows SDK. Current features are listed in Table 1.

Customized Signaling Channel

In addition to the default Peer Server, Intel CS for WebRTC client SDK for P2P talk provides elementary customizable interfaces to permit you to implement and integrate with your own signaling channel through the extensible messaging and presence protocol (XMPP) server channel. Figure ten shows there is a separated signaling channel model in client SDK for P2P talk and permits user to customize.

Figure Ten. Customized Signaling Channel in Client SDK for P2P Talk

Hardware Media Processing Acceleration

On Android platforms, VP8/H.264 decoding/encoding hardware acceleration is enabled if the underlying platform includes corresponding MediaCodec plugins. For Windows, H.264 decoding/encoding and VP8 decoding hardware acceleration is enabled with DXVA-based HMFT or Intel Media SDK. For iOS, H.264 encoding/decoding is hardware-accelerated through Movie Toolbox framework. Table two below shows hardware acceleration for WebRTC on different platforms.

Table Two.Hardware Media Acceleration Status for Client SDKs

NAT Traversal

Interactive Connectivity Establishment (ICE) helps devices connect to each other in various complicated Network Address Translation (NAT) conditions. The client SDKs support Session Traversal Utilities for NAT (Numb) and Traversal Using Relay NAT (TURN) servers. Figure eleven and Figure twelve showcase how client SDKs perform NAT traversal through Numb or TURN servers.

Figure 11. NAT Traversal with Overwhelm Server

Figure 12. NAT Traversal with TURN Server

Fine-Grained Media & Network Parameter Control

Client SDKs further permit you to choose the movie or audio source and its resolution and framework rate, the preferred movie codec, and maximum bandwidth for movie/audio flows.

Real-Time Connection Status Retrieval

Client SDKs provide APIs to retrieve real-time network and audio/movie quality conditions. You can reduce the resolution or switch to an audio only stream if the network quality is not good, or adjust audio levels if audio quality is poor. Table three lists connection status information supported by client SDKs.

Table Trio. Connection Status Information supported by Client SDKs

Conclusion

Based on WebRTC technology, Intel® Collaboration Suite for WebRTC builds an end-to-end solution, permitting you to enhance your applications with Internet movie communication capabilities. The acceleration from Intel’s media processing platforms on the client and server sides, such as the Intel® Visual Compute Accelerator, improves the client user practice as well as the server side cost-effectiveness.

Extra Information

For more information, please visit the following web pages:

Intel Visual Compute Accelerator:

Intel Collaboration Suite for WebRTC:

The Internet Engineering Task Force (IETF) Working Group:

W3C WebRTC Working Group:

WebRTC Open Project:

Acknowledgements (alphabetical)

Elmer Amaya, Jianjun Zhu, Jianlin Qiu, Kreig DuBose, Qi Zhang, Shala Arshi, Shantanu Gupta, Yuqiang Xian

Lei Zhai is the engineering manager in the Intel Software and Solutions Group (SSG), Systems Technologies & Optimizations (STO), Client Software Optimization (CSO). His engineering team concentrates on Intel® Collaboration Suite of WebRTC product development and its optimization on IA platforms.

Related video:

Leave a Reply