Skip to main content

Recorder

The OpenTalk Recorder is capable of streaming into different sinks. A sink can be a WebM file, Display, or RTMP stream. The Display can be toggled for debug purpose in the settings. The WebM file and RTMP stream will be configured from the signaling to the Controller.

Configuration

The section in the configuration file is called recorder.

FieldTypeRequiredDefault valueDescription
clock_formatstringno"%x %X %Z"The time format for the clock, see man strftime for details
displayboolnofalseShows the current recording in an extra window (debug purpose).
hardware_accelerationHardwareAccelerationno<empty>Enabled Hardware Acceleration, which enables GPU Encoding
max_loadintno80The usage value per core (in %) until when new jobs are accepted

Hardware Acceleration Configuration

FieldTypeRequiredDefault valueDescription
manufacturerenum (intel)no-Enabled Hardware Acceleration, if Manufacturer is set
devicestringno-The device where the metrics should be fetch (only intel GPUs)

Right now only Intel is support for Hardware Acceleration, if Intel is not set, the CPU will be used for Video Encoding.

Note: Please keep in mind to passthrough the device and capabilities, if you're using docker.

service:
recorder:
image: recorder
# ...
cap_add:
- CAP_PERFMON
devices:
- /dev/dri

Of if you only want to passthrough one device (in case of load balancing):

service:
recorder:
image: recorder
# ...
cap_add:
- CAP_PERFMON
devices:
- /dev/dri/renderD129

Note for passing through Intel Cards: Please keep in mind, to set the device if you have multiple GPUs. It doesn't matter if you only passthrough one GPU to a container, if you have multiple GPUs intel will monitor the main device. This means that if you have multiple graphics cards, it's mandatory to set the device entry.

Examples

Example with Hardware Acceleration

[recorder.hardware_acceleration]
manufacturer = "intel"
device = "/dev/dri/renderD129"

Example with clock_format

Set the time format for the clock in the recording.

[recorder]
clock_format = "%d.%m.%Y %H:%M:%S"

Example with display sink

The Display sink can be used to stream from the recorder to a display.

[recorder]
display = true