96 lines
5.2 KiB
Plaintext
96 lines
5.2 KiB
Plaintext
# room-<unique room ID>: {
|
|
# description = This is my awesome room
|
|
# is_private = true|false (whether this room should be in the public list, default=true)
|
|
# secret = <optional password needed for manipulating (e.g. destroying) the room>
|
|
# pin = <optional password needed for joining the room>
|
|
# require_pvtid = true|false (whether subscriptions are required to provide a valid private_id
|
|
# to associate with a publisher, default=false)
|
|
# signed_tokens = true|false (whether access to the room requires signed tokens; default=false,
|
|
# only works if signed tokens are used in the core as well)
|
|
# publishers = <max number of concurrent senders> (e.g., 6 for a video
|
|
# conference or 1 for a webinar)
|
|
bitrate = 5000000
|
|
# bitrate_cap = true|false (whether the above cap should act as a hard limit to
|
|
# dynamic bitrate changes by publishers; default=false, publishers can go beyond that)
|
|
fir_freq = 5
|
|
# audiocodec = opus|g722|pcmu|pcma|isac32|isac16 (audio codec(s) to force on publishers, default=opus
|
|
# can be a comma separated list in order of preference, e.g., opus,pcmu)
|
|
videocodec = vp9
|
|
# can be a comma separated list in order of preference, e.g., vp9,vp8,h264)
|
|
# vp9_profile = VP9-specific profile to prefer (e.g., "2" for "profile-id=2")
|
|
# h264_profile = H.264-specific profile to prefer (e.g., "42e01f" for "profile-level-id=42e01f")
|
|
# opus_fec = true|false (whether inband FEC must be negotiated; only works for Opus, default=true)
|
|
# opus_dtx = true|false (whether DTX must be negotiated; only works for Opus, default=false)
|
|
# video_svc = true|false (whether SVC support must be enabled; only works for VP9, default=false)
|
|
# audiolevel_ext = true|false (whether the ssrc-audio-level RTP extension must
|
|
# be negotiated/used or not for new publishers, default=true)
|
|
# audiolevel_event = true|false (whether to emit event to other users or not, default=false)
|
|
# audio_active_packets = 100 (number of packets with audio level, default=100, 2 seconds)
|
|
# audio_level_average = 25 (average value of audio level, 127=muted, 0='too loud', default=25)
|
|
# videoorient_ext = true|false (whether the video-orientation RTP extension must
|
|
# be negotiated/used or not for new publishers, default=true)
|
|
# playoutdelay_ext = true|false (whether the playout-delay RTP extension must
|
|
# be negotiated/used or not for new publishers, default=true)
|
|
# transport_wide_cc_ext = true|false (whether the transport wide CC RTP extension must be
|
|
# negotiated/used or not for new publishers, default=true)
|
|
# record = true|false (whether this room should be recorded, default=false)
|
|
# rec_dir = <folder where recordings should be stored, when enabled>
|
|
# lock_record = true|false (whether recording can only be started/stopped if the secret
|
|
# is provided, or using the global enable_recording request, default=false)
|
|
# notify_joining = true|false (optional, whether to notify all participants when a new
|
|
# participant joins the room. The Videoroom plugin by design only notifies
|
|
# new feeds (publishers), and enabling this may result extra notification
|
|
# traffic. This flag is particularly useful when enabled with require_pvtid
|
|
# for admin to manage listening only participants. default=false)
|
|
# require_e2ee = true|false (whether all participants are required to publish and subscribe
|
|
# using end-to-end media encryption, e.g., via Insertable Streams; default=false)
|
|
# dummy_publisher = true|false (whether a dummy publisher should be created in this room,
|
|
# with one separate m-line for each codec supported in the room; this is
|
|
# useful when there's a need to create subscriptions with placeholders
|
|
# for some or all m-lines, even when they aren't used yet; default=false)
|
|
# dummy_streams = in case dummy_publisher is set to true, array of codecs to offer,
|
|
# optionally with a fmtp attribute to match (codec/fmtp properties).
|
|
# If not provided, all codecs enabled in the room are offered, with no fmtp.
|
|
# Notice that the fmtp is parsed, and only a few codecs are supported.
|
|
#}
|
|
|
|
general: {
|
|
#admin_key = "supersecret" # If set, rooms can be created via API only
|
|
# if this key is provided in the request
|
|
#lock_rtp_forward = true # Whether the admin_key above should be
|
|
# enforced for RTP forwarding requests too
|
|
#events = false # Whether events should be sent to event
|
|
# handlers (default=true)
|
|
|
|
# By default, integers are used as a unique ID for both rooms and participants.
|
|
# In case you want to use strings instead (e.g., a UUID), set string_ids to true.
|
|
#string_ids = true
|
|
}
|
|
|
|
room-1234: {
|
|
description = "Demo Room"
|
|
secret = "adminpwd"
|
|
publishers = 6
|
|
bitrate = 128000
|
|
fir_freq = 10
|
|
#audiocodec = "opus"
|
|
#videocodec = "vp8"
|
|
record = false
|
|
#rec_dir = "/path/to/recordings-folder"
|
|
}
|
|
|
|
# This other demo room here is only there in case you want to play with
|
|
# the VP9 SVC support. Notice that you'll need a Chrome launched with
|
|
# the flag that enables that support, or otherwise you'll be using just
|
|
# plain VP9 (which is good if you want to test how this indeed affect
|
|
# what receivers will get, whether they're encoding SVC or not).
|
|
room-5678: {
|
|
description = "VP9-SVC Demo Room"
|
|
secret = "adminpwd"
|
|
publishers = 6
|
|
bitrate = 512000
|
|
fir_freq = 10
|
|
videocodec = "vp9"
|
|
video_svc = true
|
|
}
|