Skip to content

Streamer

Streamer helper

Streams video of the ResponsiveCanvas backing a CanvasRenderer. ResponsiveCanvas is multi-layer, Every rendering update Streamer merges all snapshots onto the recording canvas. MediaStream instance is created for this canvas and provides access the generated video stream. There’re several modes for resolution of the streamed video: “video” - streams in the same resolution as the video stream, “max”/“min” - in maximum/minimum size among layers of canvas. Additionally one can limit maximum resolution of the stream.

new Streamer(renderer, mirror, sizeMode, sizeMax?): Streamer

Constructor

CanvasRenderer

Renderer to record video from

boolean = false

Mirror captured images

Video size mode

"video" | "max" | "min"

number

Maximum video size

Streamer

protected canvas: HTMLCanvasElement

Canvas to capture video


protected context: null | CanvasRenderingContext2D = null

Drawing context of capturing canvas


protected mirror: boolean = false

Mirror captured images


protected renderer: CanvasRenderer

Renderer to record video from


protected optional sizeMax: number

Maximum video size


protected sizeMode: "video" | "max" | "min" = "video"

Video size mode


protected optional stream: MediaStream

Output video stream

mediaStream(): undefined | MediaStream

Media stream of generated video

undefined | MediaStream

Media stream


pause(): void

Pause video streaming

Stops drawing Renderer layers onto recording canvas.

void


protected render(): void

Render

Every Renderer update Streamer merges snapshots of multilayer ResponsiveCanvas onto recording canvas.

void


start(): boolean

Start video streaming

On every Renderer update Streamer draws all layers onto recording canvas. The canvas is a source of video stream.

boolean

True if recording started, False otherwise