Canvas Streaming

Canvas Streaming lets a participant publish any view — an HTML5 canvas element, a graphics layer, a composited scene — as a live video stream into the room. All other participants subscribe to it exactly like any other video stream. The canvas stream can also be recorded and is the foundation for the Annotation feature.

Common use cases include sharing dynamic data visualisations, rendering presentation slides frame-by-frame, overlaying graphics on a live feed, or running a whiteboard that other participants can watch as a video track.

Room Setup

Canvas Streaming must be enabled at room creation time. Add the canvas: true flag to the room settings object in your Create Room API payload:

{
  "settings": {
    "canvas": true
  }
}

Rooms created without this flag will not support canvas publish operations.

Platform Notes

Who Can Initiate Canvas Streaming

Canvas Streaming requires access to an HTML5 <canvas> element to capture frames and encode them as a video stream. This means:

Tip

If your session has a mix of web and mobile participants, a web client publishes the canvas stream and all mobile clients subscribe to it as a regular remote stream — no special handling required on the mobile side beyond subscribing.

SDK Implementation

Canvas Streaming methods, stream publication options, and subscriber event callbacks are documented in each SDK's In-Session Communication reference: