You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.6 KiB
88 lines
3.6 KiB
{{ $JIBRI_RECORDING_RESOLUTION := .Env.JIBRI_RECORDING_RESOLUTION | default "1280x720" -}}
|
|
{{ $JIBRI_RECORDING_VIDEO_ENCODE_PRESET := .Env.JIBRI_RECORDING_VIDEO_ENCODE_PRESET | default "veryfast" -}}
|
|
{{ $JIBRI_RECORDING_CONSTANT_RATE_FACTOR := .Env.JIBRI_RECORDING_CONSTANT_RATE_FACTOR | default 25 -}}
|
|
{{ $JIBRI_RECORDING_FRAMERATE := .Env.JIBRI_RECORDING_FRAMERATE | default 30 -}}
|
|
{{ $JIBRI_RECORDING_QUEUE_SIZE := .Env.JIBRI_RECORDING_QUEUE_SIZE | default 4096 -}}
|
|
{{ $JIBRI_RECORDING_STREAMING_MAX_BITRATE := .Env.JIBRI_RECORDING_STREAMING_MAX_BITRATE | default 2976 -}}
|
|
{{ $JIBRI_SINGLE_USE_MODE := .Env.JIBRI_SINGLE_USE_MODE | default "false" -}}
|
|
{{ $STATSD_HOST := .Env.JIBRI_STATSD_HOST | default "localhost" -}}
|
|
{{ $STATSD_PORT := .Env.JIBRI_STATSD_PORT | default "8125" -}}
|
|
|
|
jibri {
|
|
// A unique identifier for this Jibri
|
|
id = "{{ .Env.JIBRI_INSTANCE_ID }}"
|
|
// Whether or not Jibri should return to idle state after handling
|
|
// (successfully or unsuccessfully) a request. A value of 'true'
|
|
// here means that a Jibri will NOT return back to the IDLE state
|
|
// and will need to be restarted in order to be used again.
|
|
single-use-mode = {{ $JIBRI_SINGLE_USE_MODE }}
|
|
|
|
api {
|
|
{{ if or .Env.JIBRI_HTTP_API_EXTERNAL_PORT .Env.JIBRI_HTTP_API_INTERNAL_PORT -}}
|
|
http {
|
|
{{ if .Env.JIBRI_HTTP_API_EXTERNAL_PORT -}}
|
|
external-api-port = {{ .Env.JIBRI_HTTP_API_EXTERNAL_PORT }}
|
|
{{ end -}}
|
|
{{ if .Env.JIBRI_HTTP_API_INTERNAL_PORT -}}
|
|
internal-api-port = {{ .Env.JIBRI_HTTP_API_INTERNAL_PORT }}
|
|
{{ end -}}
|
|
}
|
|
{{ end -}}
|
|
}
|
|
recording {
|
|
recordings-directory = "{{ .Env.JIBRI_RECORDING_DIR | default "/config/recordings" }}"
|
|
{{ if .Env.JIBRI_FINALIZE_RECORDING_SCRIPT_PATH -}}
|
|
finalize-script = "{{ .Env.JIBRI_FINALIZE_RECORDING_SCRIPT_PATH }}"
|
|
{{ end -}}
|
|
}
|
|
{{ if .Env.JIBRI_WEBHOOK_SUBSCRIBERS -}}
|
|
webhook {
|
|
subscribers = [{{ range $index, $element := splitList "," .Env.JIBRI_WEBHOOK_SUBSCRIBERS }}{{ if gt $index 0}},{{ end }}"{{ $element }}"{{ end }}]
|
|
}{{ end }}
|
|
ffmpeg {
|
|
resolution = "{{ $JIBRI_RECORDING_RESOLUTION }}"
|
|
// The audio source that will be used to capture audio on Linux
|
|
audio-source = "pulse"
|
|
// The audio device that will be used to capture audio on Linux
|
|
audio-device = "default"
|
|
framerate = {{ $JIBRI_RECORDING_FRAMERATE }}
|
|
queue-size = {{ $JIBRI_RECORDING_QUEUE_SIZE }}
|
|
streaming-max-bitrate = {{ $JIBRI_RECORDING_STREAMING_MAX_BITRATE }}
|
|
// Available presets: ultrafast, superfast, veryfast, faster, fast, medium,
|
|
// slow, slower, veryslow, placebo
|
|
video-encode-preset = "{{ $JIBRI_RECORDING_VIDEO_ENCODE_PRESET }}"
|
|
// The range of the CRF scale is 0-51, where 0 is lossless,
|
|
// 23 is the default, and 51 is worst quality possible.
|
|
h264-constant-rate-factor = {{ $JIBRI_RECORDING_CONSTANT_RATE_FACTOR }}
|
|
}
|
|
|
|
{{ if .Env.CHROMIUM_FLAGS -}}
|
|
chrome {
|
|
// The flags which will be passed to chromium when launching
|
|
flags = [
|
|
"{{ join "\",\"" (splitList "," .Env.CHROMIUM_FLAGS) }}"
|
|
]
|
|
}
|
|
{{ else if .Env.IGNORE_CERTIFICATE_ERRORS -}}
|
|
chrome {
|
|
flags = [
|
|
"--use-fake-ui-for-media-stream",
|
|
"--start-maximized",
|
|
"--kiosk",
|
|
"--enabled",
|
|
"--autoplay-policy=no-user-gesture-required",
|
|
"--ignore-certificate-errors"
|
|
]
|
|
}
|
|
{{ end -}}
|
|
|
|
{{ if .Env.ENABLE_STATS_D -}}
|
|
stats {
|
|
enable-stats-d = {{ .Env.ENABLE_STATS_D }}
|
|
host = "{{ $STATSD_HOST }}"
|
|
port = {{ $STATSD_PORT }}
|
|
}
|
|
{{ end -}}
|
|
}
|
|
|
|
include "xmpp.conf"
|
|
|