Skip to main content

ClientVideoNotification

Notification received when another client sends a webcam video fragment. Received via the udpNotifications subscription. videoData is ONE fragment: a 6-byte header (version, codec, frameId uint16 BE, fragIndex, fragCount) followed by that slice of the encoded frame; reassemble fragments with the same uuid and frameId, and drop an incomplete frame when a newer frameId arrives or after ~500 ms.

type ClientVideoNotification {
appId: BigInt!
chunkX: BigInt!
chunkY: BigInt!
chunkZ: BigInt!
distance: Int!
decayRate: Int!
uuid: String!
videoData: String!
sequenceNumber: Int!
epochMillis: BigInt!
}

Fields

ClientVideoNotification.appId ● BigInt! non-null scalar

The ID of the app where the video is coming from.

ClientVideoNotification.chunkX ● BigInt! non-null scalar

The X coordinate of the chunk where the video source is located.

ClientVideoNotification.chunkY ● BigInt! non-null scalar

The Y coordinate of the chunk where the video source is located.

ClientVideoNotification.chunkZ ● BigInt! non-null scalar

The Z coordinate of the chunk where the video source is located.

ClientVideoNotification.distance ● Int! non-null scalar

Chunk replication distance (0-8) from the original message.

ClientVideoNotification.decayRate ● Int! non-null scalar

Decay algorithm (0-5) from the original message.

ClientVideoNotification.uuid ● String! non-null scalar

The unique identifier of the video source (typically the player UUID sending the video).

ClientVideoNotification.videoData ● String! non-null scalar

One video fragment, base64-encoded: 6-byte fragment header then the frame slice.

ClientVideoNotification.sequenceNumber ● Int! non-null scalar

The sender's sequence number for this message (0-255).

ClientVideoNotification.epochMillis ● BigInt! non-null scalar

Server-generated epoch milliseconds timestamp.

Implemented By

UdpNotification union