Janus Room Server
The room_server
configuration section described here was deprecated in the
OpenTalk Controller version 0.25.0, and is no longer supported in version 0.26.0
or later. The successor is LiveKit.
Historic content before OpenTalk Controller v0.21.0 and older
These are no longer valid configuration options in the OpenTalk controller, but the information remains available for the time being, as the older versions are available when needed.
OpenTalk organizes video and audio streams through Janus which is used as SFU (Selective Forwarding Unit) for the conferences. The communication between the OpenTalk controller and Janus goes through either a direct websocket connection or RabbitMQ. Multiple Janus instances can be configured for an OpenTalk deployment.
The
room_server
section describes general settings that apply to all Janus instances that are used with the service. The individual Janus instances can be configured in theroom_server.connections
list field.Configuration
The section in the configuration file is called
room_server
.Room Server section
Field Type Required Default value Description max_video_bitrate
string
no 1500000 The maximum bitrate for video sessions max_screen_bitrate
string
no 8000000 The maximum bitrate for screen share sessions speaker_focus_packets
int
no 50 Number of packets with with given speaker_focus_level
needed to detect a speaking participantspeaker_focus_level
int
no 50 Average value of audio level needed per packet. min: 127 (muted), max: 0 (loud) connections
list<Connection>
no - List of connections to the room server, see below for more details Room Server connections
Connection settings for the channel used to talk to the room server.
Field Type Required Default value Description websocket_url
string
yes* - Websocket URL pointing towards a janus instance, e.g. ws://my-janus-host:8188
to_routing_key
string
yes** - The routing key to send messages to the room server exchange
string
yes** - The exchange to use for communication with the room server from_routing_key
string
yes** - The routing key to receive messages from the room server event_loops
int
no - Number of event loops configured for this janus server. This value is used to balance new webrtc sessions on event loops. If its not provided, one event loop is spawned by default. *
websocket_url
is only required when connecting via websocket **to_routing_key
,exchange
,from_routing_key
are only required when using rabbitmq When both awebsocket_url
and the rabbitmq parameters are set, the websocket transport is used.Example
[room_server]
max_video_bitrate = "1500000"
max_screen_bitrate = "8000000"
speaker_focus_packets = "50"
speaker_focus_level = "50"
# Using a direct websocket connection
[[room_server.connections]]
websocket_url = "ws://my-janus-host:8188"
event_loops = 92
# Using a rabbitmq to connect to janus
[[room_server.connections]]
to_routing_key = "to-janus"
exchange = "janus-exchange"
from_routing_key = "from-janus"
event_loops = 92