Web Real-Time Communication, or WebRTC, provides users with another method for connecting an Orchid Core VMS server with a client, so that the client may view good quality, live and recorded video. One of the main benefits of WebRTC is that it allows for viewing full-bandwidth video without requiring the client device to download and use a Plugin. WebRTC in Chrome decodes and renders video using accelerated Graphics Processing Unit (GPU) technology. This method requires fewer resources than software decoding which allows for good quality video for a greater number of Players.
Using Interactive Connectivity Establishment (ICE) and a Session Traversal Utilities for NAT (STUN) server, the system identifies and tests several connection candidates to find the best way to connect the server and client for direct media transfer. With a successful connection, WebRTC is able to break through the barriers that sometimes make cross-network communication difficult.
The diagram below illustrates a simple example of direct media transport. In this case, the server and the client are both on the same network, so there is no barrier to a direct connection.
The next diagram illustrates a more complicated situation. The server and the client are on different networks, and are each protected by a firewall. In this case, ICE identifies the best path for connecting the server and the client. Then a STUN server identifies the public IP addresses of the server and the client, and works out a way for them to connect. The media can then be transported between the server and client using the STUN-negotiated ports.
In order to use WebRTC with servers behind a firewall, Orchid Core VMS must have access to a STUN server. By default, Orchid Core will use stun.ipconfigure.com, which is publicly available on the internet. For complete details, please refer to the Orchid Core VMS Installation Guide.