Gaeul agents are a set of services that constitue a Hwangsaeul (H8L) deployment. Each deployment may contain several instances of each type of agent.
Currently supported agents are:
Installed on the camera endpoints, source agent provides H.264 or H.265-encoded live video stream from a compatible capture device.
In order to start streaming, a configuration files for the agent and at least one channel (video stream) need to be created.
See org.hwangsaeul.Gaeul2.Source.gschema.xml for all available configuration options. Example configuration for a source agent node:
[org/hwangsaeul/Gaeul2/Source]
uid="testinstance"
channel-configs=["/etc/gaeul2/conf.d/channel1.ini"]
And the contents of channel1.ini
, defining a streaming channel:
[org/hwangsaeul/Gaeul2/Source/Channel]
name="channel1"
device="/dev/video4"
bitrate=4000000
bitrate-control="CBR"
fps=24
resolution="1920x1080"
target-uri="srt://127.0.0.1:8888"
codec="vaapih264"
passphrase="mypassphrase"
prefer-hw-decoding=false
Then, to launch the agent:
./gaeul2-source-agent --config source-config.ini
A running source agent can be controlled through D-Bus API whose interfaces are documented in org.hwangsaeul.Gaeul2.Source.xml.
A command line option --dbus-type
controls to which bus the agent will connect.
The options are session
, system
, or none
, which disables the D-Bus API.
./gaeul2-source-agent --config source-config.ini --bus-type session
When using the system bus, the user account that the agent process is running
under must have permission to own org.hwangsaeul.Gaeul2.Source
name on the
bus. See org.hwangsaeul.Gaeul2.Source.conf,
which grants the appropriate permissions to user gaeul
.
Forwards video streams from M source agents to N receivers, provides endpoint authentication and controls access to individual video streams.
Configuration options of the relay agent are documented in org.hwangsaeul.Gaeul2.Relay.gschema.xml. The config file is created and passed to the relay agent in the same manner as with the source agent.
[org/hwangsaeul/Gaeul2/Relay]
authentication=true
sink-port=1234
source-port=5678
./gaeul2-relay-agent --config relay-config.ini
Relay agent D-Bus API is described in org.hwangsaeul.Gaeul2.Relay.xml.
The agent executable also accepts --dbus-type
command line option that works
the same way as in the case of gaeul2-source-agent
.
Experimental versions of Gaeul are daily generated in launchpad.
$ sudo add-apt-repository ppa:hwangsaeul/nightly
$ sudo apt-get update
$ sudo apt-get install libgaeul2 gaeul2-agent \
libgaeul2-source-agent gaeul2-source-agent \
libgaeul2-relay-agent gaeul2-relay-agent \
libgaeul2-mjpeg-agent gaeul2-mjpeg-agent