jitsi
Publish mixed tracks into a Jitsi meeting.
Product links: jitsi.org · JaaS
Example
Section titled “Example”{ "name": "jitsi_out", "type": "jitsi", "inputs": ["mix_video", "mix_audio"], "config": { "domain": "8x8.vc", "roomName": "MyRoomABC123", "appId": "<jaas-app-id>", "token": "<jwt>", "displayName": "avflow-composite", "encoding": { "videoCodec": "vp8", "audioCodec": "opus" } }}Config
Section titled “Config”| Field | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Jitsi deployment host (e.g. 8x8.vc, meet.jit.si). |
roomName | string | Yes | Conference room name. |
token | string | No | JWT for secured rooms (JaaS). |
appId | string | No | JaaS application ID. |
displayName | string | No | Local participant display name in the conference. |
connectionOptions | object | No | Override XMPP hosts and BOSH/WebSocket URLs. Same shape as the jitsi source. |
conferenceOptions | object | No | Session flags (p2p, channelLastN, hiddenDomain). Codec and bitrate belong in encoding. |
encoding | object | No | Publish codec and bitrates. See shared encoding. Omitted codecs default to vp8 + opus. |
Conference options vs encoding
Section titled “Conference options vs encoding”conferenceOptions is the Jitsi session. encoding is AVFlow’s publish codec / bitrate, same as other WebRTC sinks. Codec and bitrate belong in encoding; they are written into the lib-jitsi-meet fields below so the SDK’s quality controller uses them (a later setParameters would be overwritten).
| Key | Type | What it does |
|---|---|---|
p2p.enabled | boolean | Direct peer connection when the room has exactly two participants. Set false to stay on the Jitsi Videobridge. |
channelLastN | number | How many remote videos to receive (-1 = all). |
hiddenDomain | string | Treat occupants on this XMPP domain as hidden. |
encoding.videoCodec is written as videoQuality.preferredCodec. encoding.videoBitrateBps is the camera high rung in videoQuality.<codec>.maxBitratesVideo (the table lib-jitsi-meet’s quality controller actually uses, not a top-level maxBitratesVideo). Other rungs (low / standard / fullHd / ultraHd / ssHigh) keep the SDK ladder shape, scaled relative to that codec’s default high. encoding.audioBitrateBps overwrites audioQuality.opusMaxAverageBitrate (SDP maxaveragebitrate). Do not also set those conferenceOptions keys; if both are present, encoding wins. audioCodec must be opus (or omitted). keyframeIntervalSec is ignored on WebRTC sinks.
{ "conferenceOptions": { "p2p": { "enabled": false } }, "encoding": { "videoCodec": "vp8", "audioCodec": "opus" }}Pricing
Section titled “Pricing”RTC output tier. Sink pricing.