Web Real-Time Communications (WebRTC) is a technology consisting of several interrelated APIs and protocols, which enables Web applications and sites to capture and stream audio and/or video, as well as to exchange arbitrary data between browsers peer-to-peer, without requiring an intermediary. It is a pretty modern protocol, supported only by modern browsers.
WebRTC provides exceptionally low latency (500 milliseconds and below) which is essential for video conferencing and real-time device control. The reduction in latency is (partly) due to the use of UDP instead of TCP, and because the formats being used do not require any transcoding before transmitting.
The HTML5 Video Control in Cloud VMS' Operator Interface (Investigation mode / Live View) supports WebRTC for live video streaming, it can be selected as the preferred video format in settings:
WebRTC is very demanding when it comes to network configuration and there could be a number of reasons why it doesn’t work in some situations:
The video source doesn’t support WebRTC
The client’s network configuration blocks WebRTC
The client’s browser doesn’t support WebRTC
If WebRTC doesn’t work for you, follow these steps to locate the reason:
First of all, you should check if your browser supports WebRTC.
The most common reason why WebRTC doesn’t work is that the network blocks it. Use this simple WebRTC testing tool to see if TCP/UDP is enabled in your network (you don’t need to allow your camera or mic on this page to test the network).
If you’re using the corporate VPN - this most likely is the reason of the issue because usually UDP is restricted in such networks. Please try the direct Internet connection without a VPN.
Check if UDP port 53 is opened in the camera’s network.
Browsers don’t support WebRTC video with a high compression profile, so you need to check that the IP camera is using either Baseline or Main compression profile. For example, on Axis camera go to Settings > Stream > H.264 encoding > Compression profile: