IP KVM 远程控制与二次开发方案
本方案将 视频采集、USB 键鼠模拟与网络接入 集成在一块控制板上,通过网络查看和操作被控主机。方案强调 开放应用层接口、支持二次开发、高集成度硬件与高性价比,适合在现有远程控制能力上开发自有界面、业务流程和管理工具。
开发者可以复用板端的视频、音频与 USB 功能,将开发重点放在应用层。集成式硬件减少多个独立模块之间的连接与适配工作,有助于控制整机集成成本与开发投入。
1、连接拓扑与硬件集成

HDMI 与 USB 必须连接到同一台被控主机:HDMI 用于输入视频,USB 用于模拟键盘、鼠标和 U 盘。控制板通过网口连接路由器或交换机,由 5V 电源适配器供电。
| 连接 | 作用 |
|---|---|
| 被控主机 HDMI → 控制板视频输入 | 获取被控主机画面 |
| 控制板 HDMI OUT → 本地显示器(可选) | 环出视频,供本地查看 |
| 控制板 USB0 → 被控主机 USB | 提供 HID 键鼠与 MSC 模拟 U 盘复合设备 |
| 控制板网口 → 路由器 / 交换机 | 视频传输与远程控制通信 |
| 5V 电源 → 控制板 | 为控制板供电 |
| 用户浏览器 → 控制板网页 | 查看画面、操作键鼠、上传文件 |
HDMI 环出为可选配置,可连接本地显示器查看画面。不需要环出时,可不装相关器件,进一步控制硬件成本。
2、开放应用层接口,支持二次开发
方案提供板端应用控制入口,开发者可通过串口或 shell 调用视频、键盘、鼠标等功能,并据此构建自己的应用流程。以下命令均在 控制板端 执行。
| 接口能力 | 可扩展方向 |
|---|---|
| WebRTC 启停与视频控制 | 定制连接流程、预览界面与会话管理 |
| 8 字节键盘输入 | 快捷键、组合键与自动化操作 |
| 4 字节相对坐标鼠标输入 | 相对移动、按键与滚轮控制 |
| 6 字节绝对坐标鼠标输入 | 远程画面坐标映射与指针定位 |
| USB 复合设备与文件推送 | 将文件传递流程集成到业务界面 |
| 上位机接收与状态显示 | 网络链路调试、接收状态与异常展示 |
开发前释放 Demo 占用的资源
Demo 默认开机自动启动 IP KVM,并调用视音频等接口。替换为自己的应用前,应关闭默认应用自启动,避免资源冲突:
echo stop > /data/appcfg
sync恢复默认 IP KVM 自启动:
rm -f /data/appcfg
sync修改后需重新上电生效。应用层接口开放便于定制开发,具体接口资料与交付范围可在项目对接时确认。
视频控制示例
通过 /tmp/hdmi_udp.cmd 发送应用命令:
# 启动 WebRTC
echo webrtc > /tmp/hdmi_udp.cmd
# 停止 WebRTC
echo webrtc stop > /tmp/hdmi_udp.cmd
# 停止视频
echo stop > /tmp/hdmi_udp.cmd键盘与鼠标输入示例
键盘采用 8 字节输入:第 1 字节为左右 Ctrl、Shift、Alt、GUI 修饰键位,第 2 字节保留,第 3~8 字节为普通按键扫描码。
# 进入键盘输入模式,发送按键,再释放
echo kbd > /tmp/hdmi_udp.cmd
echo 00 00 04 00 00 00 00 00 > /tmp/hdmi_udp.cmd
echo 00 00 00 00 00 00 00 00 > /tmp/hdmi_udp.cmd
# 相对坐标鼠标输入:状态字节、X 变化量、Y 变化量、滚轮
echo mouse_rel > /tmp/hdmi_udp.cmd
echo 08 14 00 00 > /tmp/hdmi_udp.cmd
# 绝对坐标鼠标输入:按键、X 低位、X 高位、Y 低位、Y 高位、滚轮
echo mouse_abs > /tmp/hdmi_udp.cmd
echo 00 01 00 01 00 00 > /tmp/hdmi_udp.cmd
# 停止 HID 输入
echo hid stop > /tmp/hdmi_udp.cmd绝对坐标接口的 X/Y 范围为 0–4096,按屏幕分辨率等比例映射。按键字节的 bit0、bit1、bit2 分别对应左键、右键和中键。相对坐标模式使用状态字节携带按键、X/Y 符号与溢出标志,需按该接口格式编码。
3、浏览器访问与 WebRTC 音视频

Demo 开机自动启动网页服务。在同一局域网中,使用控制板的网络地址访问:
http://板子IP:8080/点击 Start 建立连接,出现画面后即可通过网页控制键鼠。界面提供 Ctrl+Alt+Del、Fullscreen、Unmute 等操作入口,以及文件上传和模拟 U 盘控制。
| 项目 | 当前 Demo 配置 |
|---|---|
| 视频编码 | H.264 |
| 视频码率 / 帧率 | 12 Mbps / 60 fps |
| 音频编码 | Opus |
| 音频采样率 / 声道 | 48 kHz / 双声道 |
| 浏览器访问 | WebRTC 音视频与网页键鼠控制 |
以上为所提供 Demo 的配置,不代表任意分辨率或网络条件下的性能保证。实际体验取决于视频源、固件配置与网络条件。
4、USB 键鼠与模拟 U 盘
控制板 USB0 接到被控主机后,以复合设备形式同时提供 HID 键盘 / 鼠标 和 MSC 模拟 U 盘。网页操作键鼠的同时,可以向模拟 U 盘推送文件。
- 在网页选择文件,点击 Upload,先上传至控制板。
- 点击 Send to U-disk,将文件推送到模拟 U 盘;部分流程会在上传完成后自动推送。
- 日志显示
u-disk OK: 文件列表后,表示推送成功。
当前 Demo 的模拟 U 盘容量最大为 4 MB,单文件不能超过模拟 U 盘容量,使用时还需考虑剩余空间。
5、上位机调试

配套上位机提供接收与调试界面,可选择绑定网卡、接收端口和模式,设置文件输出位置,并查看码率、视频帧、音频帧及丢帧 / 异常等信息。截图中的地址和端口属于示例配置,实际联调时应与板端目标地址保持一致。
该界面可作为定制管理工具的参考,将网络状态、接收统计和业务操作组织在同一应用中。
6、跨网络访问
浏览器与控制板不在同一局域网时,可使用 Demo 内置的 ZeroTier 组网能力。将控制板和访问端加入同一个虚拟网络,并在网络管理端授权后,使用控制板的虚拟网络 IP 访问 8080 端口。
Demo 的网络 ID 配置位于 /etc/init.d/S95zerotier,需调整为自己的网络配置。跨网络访问仍使用相同的网页操作流程;能否直连以及实际延迟取决于两端网络环境。
7、方案价值与项目对接
开放接口让应用可定制,高集成度硬件让产品更易落地。 在一块控制板上整合视频、USB 与网络能力,并复用已有 Demo,可减少外围模块组合与基础功能开发投入,形成兼顾功能与成本的 IP KVM 产品方案。
如需样机评估、应用层接口资料或二次开发支持,请联系 doc@ultrasemi.com。建议提供目标视频规格、网络部署方式、定制功能、产品形态与预计用量,便于确认硬件配置和开发范围。
