We continue in our mission to find the best way to integrate low latency IP camera video into a SCADA/HMI.
Low latency video streaming has become a very popular technology in the last few years. When we wrote the last blog about video streaming possibilities in our SCADA product D2000, we never imagined the progress and speed of the new technological advancements in the field. We also didn’t anticipate the scope of reader engagement this topic will bring. The integration of low latency video into a SCADA/HMI is clearly a very popular topic and the blog quickly became one of our most-read ones. The mentioned blog post describes possibilities of how to stream near-real-time IP camera video into our Human Machine Interface application utilizing the HTML5 tech-stack. Chosen technologies used either MotionJPEG or WebRTC (with H264 encoding) as a transportation protocol to see near real-time video output by end-user.
Both of these approaches have their quirks and downsides. MotionJPEG consumes significant network and computing resources to preserve video quality. This represents the tradeoff for the simplicity of the setup and usability. On the other hand, WebRTC is significantly harder to configure and to manage. Especially handling networking infrastructure of STUN and TURN servers together with the media and signaling server could be a very daunting task. Mentioned complications can often be a dealbreaker if you are looking for a simple and cost-effective way to integrate a video into SCADA systems.
The new opportunities in streaming low latency videos
Meanwhile “new kids on the block” appeared and they look very promising. The first one is the Secure Reliable Transport (SRT) protocol. The SRT protocol was designed to overcome the challenges of low latency video streaming. Initially, it was designed by the Haivision company – the top of the class producer of NVR (Network Video Recording) hardware and software. The Haivision open-sourced the protocol specification together with referential implementation to anyone interested and founded SRT Alliance for companies using this standard. Today, it has more than 450 members from the video industry. SRT represents a unique approach to streaming ultra-low latency video via fast UDP protocol. It utilizes a secure end-to-end transmission with a pristine quality video and multi-vendor interoperability assured by open standard and implementation. The wide adoption of the protocol already manifested in vast utilization ranging from high-end IP cameras to powering the NFL draft competition. The availability of hardware and software utilizing SRT is growing every day. So it's only a matter of time before the industrial environment adopts it. The implementation of SRT into the industrial environment would bring even more possibilities for streaming real-time video from low latency IP camera in SCADA/HMI.
The second promising technology leap in this area brings real-time video streaming into the web browser clients. In the past, this was possible only with the mentioned MJPEG, the WebRTC technology, reverting to the antiquated RTMP (Flash) technology, or by proprietary browser plugins. Today a promising Softvelum Low Delay Protocol (SLDP) emerges from the back targeting end-client devices (browser or mobile). The implementation is handled by a company called Sofvelum. The core of the SLDP video streaming is its integration with WebSockets technology, already present in all major browsers. Utilizing WebSockets, SLDP stands on a standard supporting the newest security (like TLSv1.3) and flexibility to integrate it with any front-end technology stack. SLDP supports adaptive bit-rate and is codec agnostic (any of H.264, VP8, VP9, H.265/HEVC codecs could be used). The video player component for web application is already available for free use and integration. Besides a video player Softvelum promotes a free network video server named Nimble Streamer with native support to SLDP and SRT.
So the combination of mentioned technologies of SRT + SLDP protocols is a potential solution for streaming high-quality low latency video in custom-built applications like our SCADA.
The architecture of this solution is simple - utilizing Nimble Server as an endpoint for streaming video to end devices. The following diagram shows it in full detail.
Our test of integrating the SRT and SLDP into SCADA systems
We have experimentally tried the SRT+SLDP combination of protocols together with our frontend tech stack for video stream utilizing and it looks very promising. With a simple default setup, we managed to reach approx. 1,5-second delay in glass-to-glass IP camera video transmission without any tweaking. Besides the ease of video processing components configuration, unmatched low latency, and security. This technology stack is very flexible and supports various deployment scenarios. The simplicity of the SLDP integration is the key killer feature in comparison to WebRTC. Hopefully, it will follow the path of SRT protocol with standardization and availability in the market. We are very much looking forward to what the future brings for this amazing area of technology.
The real-time streaming of low latency IP camera video is becoming a very popular theme in the tech world. New software and hardware technological advancements are bringing wider opportunities and simplify the whole process. While the new technologies and protocols are being primarily applied in the entertainment sector, they can also be extremely beneficial for the industrial one. Being able to monitor in real-time the industrial processes using the Human Machine Interface of your SCADA system is an incredibly valuable feature. It could potentially bring huge benefits for organizations in areas like energy, transport, or manufacturing. In the last blog post, we introduced one way how it could be achieved. Our first experiment was a success but we also discover several downsides of the MotionJPEG and WebRTC (with H264 encoding). New protocols like SRT and SLDT erased some of those downsides and bring the vast potential for improving Industrial control systems like SCADA.