stream-messages

Installation
SKILL.md

Stream Control Messages

Overview

On WebRTC/native, clients exchange JSON message envelopes with the server over the custom-message data channel:

{"messageType": "json", "messageRecipient": "<recipient>", "data": "<inner JSON as a string>"}

The wire format matches the kit-livestream extensions and the @nvidia/ov-web-rtc browser client, so a stock browser client works unmodified. Inbound routing:

Envelope Handled by Delivered as
messageRecipient: "stream" The SDK (always consumed) Typed callbacks (on_resize_request, on_clipboard) + automatic handshake/cursor handling
messageRecipient: "app" (or its pre-handshake alias "kit") The SDK (unwrapped) on_app_message with the inner data payload; falls back to on_message (full envelope) when on_app_message is not set
Everything else (non-JSON, non-envelope JSON, other recipients) Your application on_message, byte-identical — the intended channel for native/bespoke clients

Stream control messages are WebRTC/native only: set_cursor / send_clipboard return NOT_SUPPORTED on RTSP / SHM / CUDASHM, and the callbacks register everywhere but only fire on WebRTC/native. Register all callbacks before start().

Installs
1
GitHub Stars
14
First Seen
3 days ago