Files
airdisplay-desktop/README.md

2.0 KiB

AirDisplay Client

Cross-platform desktop screen mirroring client for AirDisplay Android app.

Overview

AirDisplay Client streams your PC screen to an Android device using the AirDisplay Protocol (ADP), a lightweight custom protocol over TCP. It supports Windows, macOS, and Linux.

Architecture

┌─────────────────────┐       ADP (TCP:7935)       ┌──────────────────┐
│  AirDisplay Client  │ ──────────────────────────► │  AirDisplay App  │
│  (Desktop: Rust+   │   mDNS discovery            │  (Android)       │
│   Tauri+React)     │ ◄────────────────────────── │                  │
└─────────────────────┘                             └──────────────────┘

Technology Stack

Layer Technology
Desktop Framework Tauri v2 (Rust)
Frontend UI React + TypeScript + Vite
Screen Capture DXGI (Win) / CGDisplay (macOS) / PipeWire (Linux)
Video Encoding x264 software (ffmpeg-next) / HW encoders (NVENC, QSV, VideoToolbox)
Protocol ADP v1 (8-byte frame header + H.264 NAL over TCP)
Discovery mDNS (_airdisplay._tcp) via mdns-sd

Build

Prerequisites

  • Rust 1.75+
  • Node.js 18+
  • Platform-specific system deps (see Tauri docs)

Build Steps

# Install dependencies
npm install

# Development mode
npm run tauri dev

# Production build
npm run tauri build

Protocol Support

Protocol Status Description
ADP v1 Planned Custom lightweight frame protocol
Miracast Not supported Use Android app's built-in Miracast support
AirPlay Not supported Use macOS native screen mirroring to Android

License

MIT