Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Used in:
, , ,Used in:
,Used in:
(default H264_720P_30)
(optional)
Used in:
see docs for templating (default {track_id}-{time})
disables upload of json manifest file (default false)
Used in:
, , , ,Used in:
,server provided client configuration
details about the client
wifi, wired, cellular, vpn, empty if not known
Used in:
Used in:
,Where to pull media from, only for URL input type
User provided identifier for the ingress
room to publish to
publish as participant
name of publishing participant (used for display only)
metadata associated with the publishing participant
[depreacted ] whether to pass through the incoming media without transcoding, only compatible with some input types. Use `enable_transcoding` instead.
Whether to transcode the ingested media. Only WHIP supports disabling transcoding currently. WHIP will default to transcoding disabled. Replaces `bypass_transcoding.
name of the room
number of seconds to keep the room open if no one joins
number of seconds to keep the room open after everyone leaves
limit number of participants that can be in a room
override the node room is allocated to, for debugging
metadata of room
egress
playout delay of subscriber
improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use so not recommended for rooms with frequent subscription changes
new DataPacket API
participant identity of user that sent the message
identities of participants who will receive the message (sent to all by default)
Used in:
,name of the room
(message has no fields)
Used in:
see egress docs for templating (default {track_id}-{time})
disable upload of manifest file (default false)
Used in:
disabled for both publish and subscribe
only disable for publish
Used in:
,deprecated (use _result fields)
Used in:
Used in:
, , , ,(optional)
see egress docs for templating (default {room_name}-{time})
disable upload of manifest file (default false)
Used in:
file type chosen based on codecs
Used in:
, , , ,(default 1920)
(default 1080)
(default 24)
(default 30)
(default OPUS)
(default 128)
quality setting on audio encoder
(default 44100)
(default H264_MAIN)
(default 4500)
quality setting on video encoder
in seconds (default 4s for streaming, segment duration for segmented output, encoder default for files)
Used in:
, , , ,1280x720, 30fps, 3000kpbs, H.264_MAIN / OPUS
1280x720, 60fps, 4500kbps, H.264_MAIN / OPUS
1920x1080, 30fps, 4500kbps, H.264_MAIN / OPUS
1920x1080, 60fps, 6000kbps, H.264_MAIN / OPUS
720x1280, 30fps, 3000kpbs, H.264_MAIN / OPUS
720x1280, 60fps, 4500kbps, H.264_MAIN / OPUS
1080x1920, 30fps, 4500kbps, H.264_MAIN / OPUS
1080x1920, 60fps, 6000kbps, H.264_MAIN / OPUS
(message has no fields)
Used in:
Used in:
Used in:
, , , ,service account credentials serialized in JSON "credentials.json"
Used in:
Used in:
Used in:
, , ,in seconds (required)
(optional, defaults to track width)
(optional, defaults to track height)
(optional)
(optional, default INDEX)
(optional)
disable upload of manifest file (default false)
required
Used in:
Used in:
desired audio codec to publish to room
Used in:
OPUS, 2 channels, 96kbps
OPUS, 1 channel, 64kbps
Used in:
, ,Used in:
,URL to point the encoder to for push (RTMP, WHIP), or location to pull media from for pull (URL)
for RTMP input, it'll be a rtmp:// URL for FILE input, it'll be a http:// URL for SRT input, it'll be a srt:// URL
Description of error/stream non compliance and debug info for publisher otherwise (received bitrate, resolution, bandwidth)
Used in:
,Pull from the provided URL. Only HTTP url are supported, serving either a single media file or a HLS stream
Used in:
Error/non compliance description if any
ID of the current/previous room published to
Used in:
Used in:
desired codec to publish to room
simulcast layers to publish, when empty, should usually be set to layers at 1/2 and 1/4 of the dimensions
Used in:
1280x720, 30fps, 1900kbps main layer, 3 layers total
1980x1080, 30fps, 3500kbps main layer, 3 layers total
960x540, 25fps, 1000kbps main layer, 2 layers total
1280x720, 30fps, 1900kbps, no simulcast
1980x1080, 30fps, 3500kbps, no simulcast
1280x720, 30fps, 2500kbps main layer, 3 layers total, higher bitrate for high motion, harder to encode content
1980x1080, 30fps, 4500kbps main layer, 3 layers total, higher bitrate for high motion, harder to encode content
960x540, 25fps, 1300kbps main layer, 2 layers total, higher bitrate for high motion, harder to encode content
1280x720, 30fps, 2500kbps, no simulcast, higher bitrate for high motion, harder to encode content
1980x1080, 30fps, 4500kbps, no simulcast, higher bitrate for high motion, harder to encode content
Used in:
, ,Used in:
Used in:
(optional, filter by room name)
(optional, filter by egress ID)
(optional, list active egress only)
when blank, lists all ingress endpoints
(optional, filter by room name)
(optional, filter by ingress ID)
name of the room
when set, will only return rooms with name match
name of the room
sid of the track to mute
set to true to mute, false to unmute
record audio and video from a single participant
Used in:
required
required
(default false)
(default H264_720P_30)
(optional)
Used in:
,timestamp when participant joined room, in seconds
indicates the participant has an active publisher connection and can publish to the server
Used in:
standard participants, e.g. web clients
only ingests streams
only consumes streams
SIP participants
LiveKit agents
Used in:
websocket' connected, but not offered yet
server received client offer
ICE connectivity established
WS disconnected
Used in:
,allow participant to subscribe to other tracks in the room
allow participant to publish new tracks to room
allow participant to publish data
sources that are allowed to be published
indicates that it's hidden to others
indicates it's a recorder instance
indicates that participant can update own metadata
indicates that participant is an agent
Used in:
participant ID of participant to whom the tracks belong
Used in:
,Used in:
NEXT_ID: 47
(message has no fields)
Used in:
,composite using a web browser
Used in:
,required
(optional)
(default false)
(default false)
template base url (default https://recorder.livekit.io)
deprecated (use _output fields)
(default H264_720P_30)
(optional)
Used in:
name of the room
identity of the participant
Used in:
, , , ,Content-Disposition header
Used to generate HLS segments or other kind of segmented output
Used in:
, , , ,(optional)
(optional)
(optional)
(optional, disabled if not provided). Path of a live playlist
in seconds (optional)
(optional, default INDEX)
disable upload of manifest file (default false)
required
Used in:
Used in:
Used in:
mark deprecated
when set, only forward to these identities
(message has no fields)
details about the server
additional debugging information. sent only if server is in development mode
Used in:
Used in:
Used in:
Used in:
audio level, 0-1.0, 1 is loudest
true if speaker is currently active
Used in:
,Used in:
Used in:
Used in:
, , ,required
required
Used in:
protocol chosen based on urls
Used in:
,containerize up to one audio and one video track
Used in:
required
(optional)
(optional)
deprecated (use _output fields)
(default H264_720P_30)
(optional)
record tracks individually, without transcoding
Used in:
required
required
required
Used in:
, , ,original width of video (unset for audio) clients may receive a lower resolution version with simulcast
original height of video (unset for audio)
true if track is simulcasted
true if DTX (Discontinuous Transmission) is disabled for audio
source of media
mime type of codec
true if RED (Redundant Encoding) is disabled for audio
Used in:
, , ,Used in:
metadata to update. skipping updates if left empty
set to update the participant's permissions
display name to update
metadata to update. skipping updates if left empty
list of sids of tracks
set to true to subscribe, false to unsubscribe from tracks
list of participants and their tracks
empty for now
(message has no fields)
Used in:
participant ID of user that sent the message
user defined payload
the ID of the participants who will receive the message (sent to all by default)
identities of participants who will receive the message (sent to all by default)
topic under which the message was published
Used in:
,Used in:
provide information about available spatial layers
Used in:
, ,for tracks with a single layer, this should be HIGH
target bitrate in bit per second (bps), server will measure actual
Used in:
record any website
Used in:
deprecated (use _output fields)
one of room_started, room_finished, participant_joined, participant_left, track_published, track_unpublished, egress_started, egress_updated, egress_ended, ingress_started, ingress_ended
set when event is participant_* or track_*
set when event is egress_*
set when event is ingress_*
set when event is track_*
unique event uuid
timestamp in seconds