Repository navigation
Packet mumcord screen
Tobias Vorwachs edited this page Oct 26, 2026
·
1 revision
Part of the Plugin data protocol. Flows: Flow-Screen-Share, Flow-Direct-Connection.
Purpose. Agrees who shares a screen and who watches it. The media itself never travels as plugin data; it goes over a direct connection.
dataID |
mumcord.screen |
| Encoding | JSON object |
| Version sent / accepted |
1 / 1 and higher |
| Sent to | Mumcord users in the own channel who announced screen-share
|
| Defined in | crates/engine/src/screen_share/signal.rs |
t |
Fields | Meaning |
|---|---|---|
share |
live, paused, sound (booleans) |
The sender's share: live or not, paused, with sound. |
watch |
none | The sender wants to watch the receiver's share. |
accept |
none | The receiver may watch the sender's share now. |
full |
none | The sender's share already has 8 viewers. |
unwatch |
none | The sender stopped watching the receiver's share. |
viewers |
list (sessions, at most 8) |
Everyone watching the sender's share. Must be checked against the people in the channel. |
{"v":1,"t":"share","live":true,"paused":false,"sound":true}
{"v":1,"t":"watch"}
{"v":1,"t":"viewers","list":[15,23]}- At most 8 viewers per sharer (
MAX_VIEWERS); the ninth getsfull. - Unknown fields are ignored.
After accept, the viewer opens a stream of kind 2 over the direct connection. The frame format (20-byte header, VP9 video, Opus audio) is documented in Flow-Direct-Connection.
Reveals that someone shares their screen and who watches. The picture and sound are only sent to accepted viewers over the encrypted direct connection.
Flow-Screen-Share, announced via Packet-mumcord-hello.
Mumcord is licensed under the AGPL-3.0 (versions up to 0.1.1: MIT) · Source code · Website · Website source