Select filter
select limits which tracks or participants flow through a component.
Where it appears
Section titled “Where it appears”| Component | Location |
|---|---|
RTC sources (livekit, jitsi, daily, agora) | Inside config.select |
| Nodes and sinks | Top-level select field (sibling of name, type, inputs) |
Fields
Section titled “Fields”| Field | Type | Description |
|---|---|---|
mediaType | string | video, audio, both (default), or caption where supported |
identities | string[] | Include only these participant identities |
excludeIdentities | string[] | Exclude these identities |
trackSources | string[] | e.g. camera, microphone, screen_share |
trackNames | string[] | Include tracks with these names |
trackSids | string[] | Include tracks with these SIDs |
RTC source example
Section titled “RTC source example”select lives inside the source config:
{ "name": "room_src", "type": "livekit", "config": { "serverUrl": "wss://your-project.livekit.cloud", "token": "eyJ...", "select": { "mediaType": "both", "identities": ["host"], "trackSources": ["camera", "microphone"] } }}Node / sink example
Section titled “Node / sink example”select is a top-level field on the component:
{ "name": "mix_video", "type": "video_mixer", "inputs": ["room_src"], "select": { "mediaType": "video", "identities": ["presenter"] }, "config": { }}- On RTC sources,
selectcontrols network subscription — fewer tracks means less bandwidth. - On nodes and sinks,
selectcontrols processing — different downstream views from the same source. - Omitted fields mean no filter for that dimension.