jibri: make some ffmpeg arguments configurable via env variables
Introduce a few new environment variables: - `JIBRI_RECORDING_VIDEO_ENCODE_PRESET` - `JIBRI_RECORDING_CONSTANT_RATE_FACTOR` - `JIBRI_RECORDING_CONSTANT_FRAMERATE` - `JIBRI_RECORDING_CONSTANT_QUEUE_SIZE` - `JIBRI_RECORDING_CONSTANT_STREAMING_MAX_BITRATE` Co-authored-by: Christian Ribeaud <christian.ribeaud@karakun.com>
This commit is contained in:
committed by
GitHub
parent
09b0df49eb
commit
5c5575cd89
@@ -27,6 +27,11 @@ services:
|
|||||||
- JIBRI_HTTP_API_EXTERNAL_PORT
|
- JIBRI_HTTP_API_EXTERNAL_PORT
|
||||||
- JIBRI_HTTP_API_INTERNAL_PORT
|
- JIBRI_HTTP_API_INTERNAL_PORT
|
||||||
- JIBRI_RECORDING_RESOLUTION
|
- JIBRI_RECORDING_RESOLUTION
|
||||||
|
- JIBRI_RECORDING_VIDEO_ENCODE_PRESET
|
||||||
|
- JIBRI_RECORDING_CONSTANT_RATE_FACTOR
|
||||||
|
- JIBRI_RECORDING_FRAMERATE
|
||||||
|
- JIBRI_RECORDING_QUEUE_SIZE
|
||||||
|
- JIBRI_RECORDING_STREAMING_MAX_BITRATE
|
||||||
- JIBRI_USAGE_TIMEOUT
|
- JIBRI_USAGE_TIMEOUT
|
||||||
- JIBRI_XMPP_USER
|
- JIBRI_XMPP_USER
|
||||||
- JIBRI_XMPP_PASSWORD
|
- JIBRI_XMPP_PASSWORD
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
{{ $JIBRI_RECORDER_USER := .Env.JIBRI_RECORDER_USER | default "recorder" -}}
|
{{ $JIBRI_RECORDER_USER := .Env.JIBRI_RECORDER_USER | default "recorder" -}}
|
||||||
{{ $JIBRI_USAGE_TIMEOUT := .Env.JIBRI_USAGE_TIMEOUT | default "0" -}}
|
{{ $JIBRI_USAGE_TIMEOUT := .Env.JIBRI_USAGE_TIMEOUT | default "0" -}}
|
||||||
{{ $JIBRI_RECORDING_RESOLUTION := .Env.JIBRI_RECORDING_RESOLUTION | default "1280x720" -}}
|
{{ $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_BREWERY_MUC := .Env.JIBRI_BREWERY_MUC | default "jibribrewery" -}}
|
{{ $JIBRI_BREWERY_MUC := .Env.JIBRI_BREWERY_MUC | default "jibribrewery" -}}
|
||||||
{{ $JIBRI_SINGLE_USE_MODE := .Env.JIBRI_SINGLE_USE_MODE | default "false" -}}
|
{{ $JIBRI_SINGLE_USE_MODE := .Env.JIBRI_SINGLE_USE_MODE | default "false" -}}
|
||||||
{{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}}
|
{{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}}
|
||||||
@@ -48,12 +53,12 @@ jibri {
|
|||||||
{
|
{
|
||||||
// A user-friendly name for this environment
|
// A user-friendly name for this environment
|
||||||
name = "{{ $ENV.XMPP_ENV_NAME }}-{{$index}}"
|
name = "{{ $ENV.XMPP_ENV_NAME }}-{{$index}}"
|
||||||
|
|
||||||
// A list of XMPP server hosts to which we'll connect
|
// A list of XMPP server hosts to which we'll connect
|
||||||
xmpp-server-hosts = [
|
xmpp-server-hosts = [
|
||||||
"{{ $SERVER._0 }}"
|
"{{ $SERVER._0 }}"
|
||||||
]
|
]
|
||||||
|
|
||||||
// The base XMPP domain
|
// The base XMPP domain
|
||||||
xmpp-domain = "{{ $XMPP_DOMAIN }}"
|
xmpp-domain = "{{ $XMPP_DOMAIN }}"
|
||||||
|
|
||||||
@@ -61,7 +66,7 @@ jibri {
|
|||||||
// An (optional) base url the Jibri will join if it is set
|
// An (optional) base url the Jibri will join if it is set
|
||||||
base-url = "{{ $ENV.PUBLIC_URL }}"
|
base-url = "{{ $ENV.PUBLIC_URL }}"
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
// The MUC we'll join to announce our presence for
|
// The MUC we'll join to announce our presence for
|
||||||
// recording and streaming services
|
// recording and streaming services
|
||||||
control-muc {
|
control-muc {
|
||||||
@@ -84,16 +89,16 @@ jibri {
|
|||||||
username = "{{ $JIBRI_RECORDER_USER }}"
|
username = "{{ $JIBRI_RECORDER_USER }}"
|
||||||
password = "{{ $ENV.JIBRI_RECORDER_PASSWORD }}"
|
password = "{{ $ENV.JIBRI_RECORDER_PASSWORD }}"
|
||||||
}
|
}
|
||||||
|
|
||||||
// The value we'll strip from the room JID domain to derive
|
// The value we'll strip from the room JID domain to derive
|
||||||
// the call URL
|
// the call URL
|
||||||
strip-from-room-domain = "{{ $JIBRI_STRIP_DOMAIN_JID }}."
|
strip-from-room-domain = "{{ $JIBRI_STRIP_DOMAIN_JID }}."
|
||||||
|
|
||||||
// How long Jibri sessions will be allowed to last before
|
// How long Jibri sessions will be allowed to last before
|
||||||
// they are stopped. A value of 0 allows them to go on
|
// they are stopped. A value of 0 allows them to go on
|
||||||
// indefinitely
|
// indefinitely
|
||||||
usage-timeout = "{{ $JIBRI_USAGE_TIMEOUT }}"
|
usage-timeout = "{{ $JIBRI_USAGE_TIMEOUT }}"
|
||||||
|
|
||||||
// Whether or not we'll automatically trust any cert on
|
// Whether or not we'll automatically trust any cert on
|
||||||
// this XMPP domain
|
// this XMPP domain
|
||||||
trust-all-xmpp-certs = {{ $XMPP_TRUST_ALL_CERTS }}
|
trust-all-xmpp-certs = {{ $XMPP_TRUST_ALL_CERTS }}
|
||||||
@@ -118,6 +123,15 @@ jibri {
|
|||||||
audio-source = "pulse"
|
audio-source = "pulse"
|
||||||
// The audio device that will be used to capture audio on Linux
|
// The audio device that will be used to capture audio on Linux
|
||||||
audio-device = "default"
|
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 -}}
|
{{ if .Env.CHROMIUM_FLAGS -}}
|
||||||
@@ -136,4 +150,4 @@ jibri {
|
|||||||
port = {{ $STATSD_PORT }}
|
port = {{ $STATSD_PORT }}
|
||||||
}
|
}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user