本示例演示了如何在没有中心信令服务器的情况下,通过局域网在两个 Android 设备之间直接利用 WebRTC 技术进行实时的屏幕录制传输和远程控制。
- 纯局域网直连: 无需外部信令服务器,设备间直接通信。
- 屏幕录制传输: 实时传输本设备的屏幕画面至对端设备。
- 远程控制: 提供触摸输入转发功能。
- WebRTC: 实现点对点实时通信的核心技术。
- Kotlin: 主要的应用程序开发语言。
- Android SDK: 用于构建 Android 应用程序。
- Android Studio 已安装并配置完毕。
- 至少两部 Android 设备。
- 两台设备必须连接至同一局域网。
- 克隆代码:
- 编译并安装应用:
- 在 Android Studio 中打开
app
模块。 - 将应用分别安装到至少两台 Android 设备或模拟器上。
- 在 Android Studio 中打开
- 设备发现与连接:
- 在一个设备上发起连接,另一个设备接受连接请求。
- 录屏与控制:
- 成功建立连接后,一方的屏幕内容将实时显示在另一方设备上。
- 可以进行触摸操作,并在远端设备上生效。
- 无信令连接: 本示例不依赖传统的信令服务器。设备之间将采用特定的直接交换机制来传递 SDP (Session Description Protocol) 和 ICE (Interactive Connectivity Establishment) 候选者,以建立 WebRTC 连接。
- WebRTC 实现: 基于 Android WebRTC SDK 构建音视频引擎和数据通道,并使用 MediaProjection API 实现屏幕录制。
- 所需权限: 应用需要屏幕录制和网络访问权限。
- 本应用旨在演示无信令局域网 WebRTC 屏幕录制直连的概念,其设备发现和连接机制可能较为基础,不适用于复杂的生产环境。
- 远程控制功能仅为演示,可以根据实际应用场景进行扩展。
- 请确保两台设备处于同一局域网,且网络通信顺畅。
本项目采用 GPL-3.0 License 许可证。