We are planning to build new streaming system for a cloud-based video surveillance service. In the new system, Secure Reliable Transport (SRT) will be used as a base protocol to archive the critical requirements; ultra-low latency, packet loss recovery. SRT is considered to meet these requirements, but it is not enough to integrate to the existing service, or newly developing business model. Hence, this project aims to develop SRT based ecosystem to satisfy various requirements; high performance, high scalability, and 3rd-party friendly SDK. The final goal is to implement whole software stacks from embedded system to user application.
The ecosystem consists of a distributed system that allows clients to access Edge devices streaming using SRT protocol to provide ultra low latency video.
Source - provides access to capture devices, encodes and streams video
Relay - provides stream forwarding and accesss control
MJPEG - transcodes H.264 MPEG-TS into MJPEG stream
All services are implemented in Gaeul component on top of libgaeguli and libhwangsae.
To allow N different clients to access the streaming genearted by an Edge device, this project implements a distributed system.
Edge devices running Gaeul Agent or Servers running Hwangsaeul Relay Agent provide D-Bus APIs that third party applications can use to interact with Hwangsaeul components.
This video is compact visualization of our efforts from the beginning. We will try to keep updating every month.
$ gource \ -1920x1080 \ -s .2 --auto-skip-seconds .2 \ --multi-sampling \ --stop-at-end \ --output-framerate 30 \ --hide mouse,progress \ --highlight-users \ --output-ppm-stream - \ combined.log | \ avconv -y -r 30 -f image2pipe -vcodec ppm -i - \ -b 32768k hwangsaeul.mp4