Skip to content

本示例演示了如何在没有中心信令服务器的情况下,通过局域网在两个 Android 设备之间直接利用 WebRTC 技术进行实时的屏幕录制传输和利用安卓无障碍服务实现远程控制。

License

Notifications You must be signed in to change notification settings

halifox/AndroidWebRTC4Control

Repository files navigation

Android 局域网无信令 WebRTC 录屏与远程控制示例

本示例演示了如何在没有中心信令服务器的情况下,通过局域网在两个 Android 设备之间直接利用 WebRTC 技术进行实时的屏幕录制传输和远程控制。

关键特性

  • 纯局域网直连: 无需外部信令服务器,设备间直接通信。
  • 屏幕录制传输: 实时传输本设备的屏幕画面至对端设备。
  • 远程控制: 提供触摸输入转发功能。

技术栈

  • WebRTC: 实现点对点实时通信的核心技术。
  • Kotlin: 主要的应用程序开发语言。
  • Android SDK: 用于构建 Android 应用程序。

快速开始

环境要求

  • Android Studio 已安装并配置完毕。
  • 至少两部 Android 设备。
  • 两台设备必须连接至同一局域网。

运行步骤

  1. 克隆代码:
  2. 编译并安装应用:
    • 在 Android Studio 中打开 app 模块。
    • 将应用分别安装到至少两台 Android 设备或模拟器上。
  3. 设备发现与连接:
    • 在一个设备上发起连接,另一个设备接受连接请求。
  4. 录屏与控制:
    • 成功建立连接后,一方的屏幕内容将实时显示在另一方设备上。
    • 可以进行触摸操作,并在远端设备上生效。

详细说明

  • 无信令连接: 本示例不依赖传统的信令服务器。设备之间将采用特定的直接交换机制来传递 SDP (Session Description Protocol) 和 ICE (Interactive Connectivity Establishment) 候选者,以建立 WebRTC 连接。
  • WebRTC 实现: 基于 Android WebRTC SDK 构建音视频引擎和数据通道,并使用 MediaProjection API 实现屏幕录制。
  • 所需权限: 应用需要屏幕录制和网络访问权限。

重要提示

  • 本应用旨在演示无信令局域网 WebRTC 屏幕录制直连的概念,其设备发现和连接机制可能较为基础,不适用于复杂的生产环境。
  • 远程控制功能仅为演示,可以根据实际应用场景进行扩展。
  • 请确保两台设备处于同一局域网,且网络通信顺畅。

许可协议

本项目采用 GPL-3.0 License 许可证。

About

本示例演示了如何在没有中心信令服务器的情况下,通过局域网在两个 Android 设备之间直接利用 WebRTC 技术进行实时的屏幕录制传输和利用安卓无障碍服务实现远程控制。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages