Skip to content

Add multi-track video, data and MCAP to MediaSource egress - #1882

Open
frostbyte73 wants to merge 3 commits into
mainfrom
feat/robotics-mcap-source
Open

frostbyte73 wants to merge 3 commits into
mainfrom
feat/robotics-mcap-source

Conversation

@frostbyte73

@frostbyte73 frostbyte73 commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

MediaSource can now select several video tracks, data tracks, and tracks by name, with exclude selectors to drop matches, and EncodedFileType gains MCAP for writing each captured track as its own channel.

MediaSource can now select several video tracks, data tracks, and
tracks by name, with exclude selectors to drop matches, and
EncodedFileType gains MCAP for writing each captured track as its
own channel.
@frostbyte73
frostbyte73 requested a review from a team October 21, 2026 21:47
@changeset-bot

changeset-bot Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9a474d8

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@livekit/protocol Patch
github.com/livekit/protocol Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@biglittlebigben biglittlebigben left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but let's wait for the robotics team feedback

Comment thread protobufs/livekit_egress.proto Outdated
string track_id = 1 [(logger.name) = "trackID"];
string participant_identity = 2;
ParticipantInfo.Kind participant_kind = 3;
string track_name = 5;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How could we select "microphone" from "participant-a" but not "microphone" from "participant-b"?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved track_name out so it can be combined with identity or kind

Moving track_name out of the match oneof lets a selector combine a
participant with a track name, so one participant's track can be
captured or excluded without affecting same-named tracks from others.
}

message VideoConfig {
bool capture_all = 1;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FMU: this capture all will capture all VideoTracks or all resolutions in the case of simulcast?

@frostbyte73 frostbyte73 Oct 27, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All video tracks

@chenosaurus chenosaurus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants