Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 1.15 KB

canvas.md

File metadata and controls

44 lines (35 loc) · 1.15 KB

Canvas

Canvas is a special HTML element, and will not be recorded by rrweb by default. There are some options for recording and replaying Canvas.

Enable recording Canvas:

rrweb.record({
  emit(event) {},
  recordCanvas: true,
});

Alternatively enable image snapshot recording of Canvas at a maximum of 15 frames per second:

rrweb.record({
  emit(event) {},
  recordCanvas: true,
  sampling: {
    canvas: 15,
  },
  // optional image format settings
  dataURLOptions: {
    type: 'image/webp',
    quality: 0.6,
  },
});

Enable replaying Canvas:

const replayer = new rrweb.Replayer(events, {
  UNSAFE_replayCanvas: true,
});
replayer.play();

Enable replaying Canvas will remove the sandbox, which may cause a potential security issue.

Alternatively you can stream canvas elements via webrtc with the rrweb-plugin-canvas-webrtc-record & rrweb-plugin-canvas-webrtc-replay plugins. For more information see canvas-webrtc documentation