# 场景示例

> 除场景示例外，你可能还想通过[使用指南](../../guide.zh_CN.md)掌握 rrweb 常用 API，或是通过[设计文档](../)深入 rrweb 的技术细节。

## 场景列表

### 录制与回放

录制与回放是最常用的使用方式，适用于任何需要采集用户行为数据并重新查看的场景。

[链接](./record-and-replay.zh_CN.md)

### 深入录制数据

录制数据是一组类型严格的 JSON 数据，通过熟悉其格式，可以更灵活的使用录制数据。

[链接](./dive-into-event.zh_CN.md)

### 异步加载数据

当录制的数据较多时，一次性加载至回放页面可能带来较大的网络开销和较长的等待时间。这时可以采取数据分页的方式，异步地加载数据并回放。

[链接](./pagination.zh_CN.md)

### 实时回放（直播）

如果希望持续、实时地看到录制的数据，达到类似直播的效果，则可以使用实时回放 API。这个方式也适用于一些实时协同的场景。

[链接](./live-mode.zh_CN.md)

### 自定义事件

录制时可能需要在特定的时间点记录一些特定含义的数据，如果希望这部分数据作为回放时的一部分，则可以通过自定义事件的方式实现。

[链接](./custom-event.zh_CN.md)

### 回放时与 UI 交互

回放时的 UI 默认不可交互，但在特定场景下也可以通过 API 允许用户与回放场景进行交互。

[链接](./interaction.zh_CN.md)

### 自定义回放 UI

当 rrweb Replayer 和 rrweb-player 的 UI 不能满足需求时，可以通过自定义回放 UI 制作属于你自己的回放器。

[链接](./customize-replayer.zh_CN.md)

### 转换为视频

rrweb 录制的数据是一种高效、易于压缩的文本格式，可以用于像素级的回放。但如果有进一步将录制数据转换为视频的需求，同样可以通过一些工具实现。

[链接](./export-to-video.zh_CN.md)

### 优化存储容量

在一些场景下 rrweb 的录制数据量可能高于你的预期，这部分文档可以帮助你选择适用于你的存储优化策略。

[链接](./optimize-storage.zh_CN.md)

### Canvas

Canvas 是一种特殊的 HTML 元素，默认情况下其内容不会被 rrweb 观测。我们可以通过特定的配置让 rrweb 能够录制并回放 Canvas。

[链接](./canvas.zh_CN.md)

### console 录制和播放

从 v1.0.0 版本开始，我们以插件的形式增加了录制和播放控制台输出的功能。这个功能旨在为开发者提供更多的 bug 信息。对这项功能我们还提供了一些设置选项。

[链接](./console.zh_CN.md)

### 插件

插件 API 的设计目标是在不增加 rrweb 核心部分大小和复杂性的前提下，扩展 rrweb 的功能。

[链接](./plugin.zh_CN.md)
