Files
livekit/config-sample.yaml
David Zhao 6751361187 Feature: codec restrictions.
In order to ensure clients are publishing with compatible codecs, the server can enforce codec restrictions.
2021-07-02 16:54:54 -07:00

99 lines
3.7 KiB
YAML

# main TCP port for RoomService and RTC endpoint
# for production setups, this port should be placed behind a load balancer with TLS
port: 7880
# log level, valid values: debug, info, warning, error
log_level: info
# when redis is set, LiveKit will automatically operate in a fully distributed fashion
# clients could connect to any node and be routed to the same room
redis:
address: redis.host:6379
# username: myuser
# password: mypassword
# when enabled, LiveKit will expose prometheus metrics on :6789/metrics
#prometheus_port: 6789
# WebRTC configuration
rtc:
# the main UDP port to transport WebRTC data
udp_port: 9000
# when set, LiveKit enable WebRTC ICE over TCP when UDP isn't available
# this port *cannot* be behind load balancer or TLS, and must be exposed on the node
# WebRTC transports are encrypted and do not require additional encryption
tcp_port: 7881
# when set to true, attempts to discover the host's public IP via STUN
# this is useful for cloud environments such as AWS, where hosts have an internal IP
# that maps to an external one
use_external_ip: true
# optional settings
# # when using REMB, the max bitrate that the SFU would accept, defaults to 3Mbps
# max_bitrate: 3145728
# # number of packets to buffer in the SFU, defaults to 500
# packet_buffer_size: 500
# # optional STUN servers for LiveKit clients to use. Clients will be configured to use these STUN servers automatically.
# # by default LiveKit clients use Google's public STUN servers
# stun_servers:
# - server1
# # minimum amount of time between pli/fir rtcp packets being sent to an individual
# # producer. Increasing these times can lead to longer black screens when participants join,
# # while reducing them can lead to higher producer bitrates.
# pli_throttle:
# low_quality: 500ms
# mid_quality: 1s
# high_quality: 1s
# API key / secret pairs.
# Keys are used for JWT authentication, server APIs would require a keypair in order to generate access tokens
# and make calls to the server
keys:
key1: secret1
key2: secret2
# Default room config
# Each room created will inherit these settings. If rooms are created explicitly with CreateRoom, they will take
# precedence over defaults
#room:
# # number of seconds to leave a room open when it's empty
# empty_timeout: 300
# # limit number of participants that can be in a room, 0 for no limit
# max_participants: 0
# # only accept specific codecs for clients publishing to this room
# # this is useful to standardize codecs across clients
# # other supported codecs are video/h264, video/vp9
# enabled_codecs:
# - mime: audio/opus
# - mime: video/vp8
# customize audio level sensitivity
#audio:
# # minimum level to be considered active, 0-127, where 0 is loudest
# # defaults to 40
# active_level: 40
# # percentile to measure, a participant is considered active if it has exceeded the
# # ActiveLevel more than MinPercentile% of the time
# # defaults to 40
# min_percentile: 40
# # frequency in ms to notify changes to clients, defaults to 500
# update_interval: 500
# # to prevent speaker updates from too jumpy, smooth out values over N samples
# smooth_samples: 8
# turn server
turn:
# Uses TLS. Requires cert and key pem files by either:
# - using turn.secretName if deploying with our helm chart, or
# - setting LIVEKIT_TURN_CERT and LIVEKIT_TURN_KEY env vars with file locations, or
# - using cert_file and key_file below
# defaults to false
enabled: false
# needs to match tls cert domain
domain: turn.myhost.com
# defaults to 3478 - if not using a load balancer, this must be set to 443
tls_port: 3478
# optional
# cert_file: /path/to/cert.pem
# key_file: /path/to/key.pem