# 能力集成

本章节为您介绍如何集成 FIRERAP 远程桌面及其相关能力，您可以将其自行集成到您的前端页面进行操作、展示等各种功能。本章我们不会在这里进行介绍，您可以转到我们的 APIFOX 文档查看并测试。不过我们需要介绍您一些提前设置及其他一些基础信息。

```{hint}
以下内容需要您对 Websocket、Canvas 绘制、H.264 等具备一些基本的了解。
```

## 提前设置

为了方便您进行接口测试，首先请先确保设备通过 USB 连接到当前电脑，并且确保设备没有开启登录证书验证（https），完成这两步操作后，您还需完成 apifox 平台的相关设置，由于涉及到 ws 接口，您需要安装 apifox 电脑客户端（非网页版），并将相关项目导入到您的客户端内。我们不会和您介绍如何安装如何导入，请自行摸索。

## 实时视频

实时视频使用 Websocket 进行传输，视频支持两种传输格式，其一 MJPEG (MOTION JPEG)，其二 H.264 NALU。其中 MJPEG 的使用方式最为简单，MJPEG 的实际传输内容为当前设备屏幕的截图，传输的足够快便成了动态的实时设备屏幕，您所需要做的唯一处理就是将 Ws 收到的每一帧消息以 JPEG 的方式绘制到屏幕上即可。另一个 H.264 则对您相对的基础知识要求较高，因为在渲染到画布前，您还要进行一步解码操作，您可以自行搜索或者集成现有的 h264 解码器进行解码绘制。

H264 与 MJPEG 的区别是，相对来说 H264 可减少至少一半的流量，并且速度较快，当然也并不是适用于所有设备，部分设备本身的 H264 编码性能可能不高，这时您应采用 MJPEG 进行传输，当然 MJPEG 也有他的缺点，由于每帧都是纯图像所以对带宽要求较高。

## 实时触控

实时触控也是使用 Websocket 进行传输，他并没有什么奇特的地方，您只需要按照特定格式发送 按下、移动、抬起 三种操作即可。您可以通过网页端 mousedown、up 等事件进行，传输的主体数据为事件及坐标，这里唯一需要注意的是左边需要您通过 canvas 以及实际屏幕的大小进行转换，计算出用户在 canvas 上操作的坐标对应的实际屏幕的坐标。

## 按键操作

按键操作相对来说是最简单的部分，您只需要通过特定格式 POST 请求相关接口即可，按键操作支持您控制设备的导航键以及进行普通的英文输入。

## 命令终端

命令终端使用 Websocket 进行，您需要使用 xterm.js 等相关技术进行对接操作，您只需要根据 API 文档将输入输出格式化为特定格式并发送或者请求 xterm 输出即可。


## 实时指令