[gæguli] is a library for video streaming using SRT that provides strong security and ultra-low latency.
Gaeguli implements the supporting library for handling SRT streaming. It provides 'pipeline' component that deals with receiving frames from a video source and streaming to a specific URI using SRT protocol.
To build the from sources follow the procedure described in
Gaeguli requires GStreamer 1.16 or newer.
Gaeguli includes an executable binary pipeline-2.0
which serves as a demonstration of basic streaming
scenarios. For full capabilities of libgaeguli
please refer to the API documentation and for coding example
see tools/pipeline.c
.
Sender:
pipeline-2.0 -d /dev/video0 srt://127.0.0.1:8888
Receiver:
gst-launch-1.0 srtsrc uri=srt://:8888 ! queue ! decodebin ! autovideosink
Note that a queue
is required right after srtsrc
. Otherwise, you will see that the time on the receiving side gradually slows down.
Sender:
pipeline-2.0 -d /dev/video0 srt://:8888
Receiver (several independent connections at a time are possible):
gst-launch-1.0 srtsrc uri=srt://127.0.0.1:8888 ! queue ! decodebin ! autovideosink
Experimental versions of Gaeguli are daily generated in launchpad.
$ sudo add-apt-repository ppa:hwangsaeul/nightly
$ sudo apt-get update
$ sudo apt-get install libgaeguli2 libgaeguli-dev gaeguli-tools