mirror of
git://f0xx.org/android_cast
synced 2026-07-29 07:20:00 +03:00
AI: polish mobile parts
This commit is contained in:
27
README.md
27
README.md
@@ -1,8 +1,8 @@
|
||||
# Android Cast (POC)
|
||||
|
||||
**Roadmap & alpha scope:** [docs/ROADMAP.md](docs/ROADMAP.md) · USB-C/HDMI: [docs/USB_HDMI_CAST.md](docs/USB_HDMI_CAST.md) · Commercial (dev-gated): [docs/COMMERCIAL.md](docs/COMMERCIAL.md)
|
||||
**Roadmap & alpha scope:** [docs/ROADMAP.md](docs/ROADMAP.md) · **LAN demo QA:** [docs/ALPHA_SOAK.md](docs/ALPHA_SOAK.md) · USB-C/HDMI: [docs/USB_HDMI_CAST.md](docs/USB_HDMI_CAST.md) · Commercial (dev-gated): [docs/COMMERCIAL.md](docs/COMMERCIAL.md)
|
||||
|
||||
Minimal LAN screen-casting proof of concept in **Java**. Captures screen + playback audio, encodes **H.264 + AAC**, streams over **TCP or UDP** to a receiver that decodes and plays back.
|
||||
Minimal LAN screen-casting proof of concept in **Java**. Captures screen + playback audio, encodes **H.264 + AAC**, streams over **UDP or TCP** to a receiver that decodes and plays back.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -13,13 +13,16 @@ Minimal LAN screen-casting proof of concept in **Java**. Captures screen + playb
|
||||
- Playback audio capture (API 29+) → AAC-LC
|
||||
- Runtime notification permission (Android 13+)
|
||||
|
||||
## Quick start
|
||||
## Quick start (alpha demo)
|
||||
|
||||
1. Install the same APK on two devices on the **same Wi‑Fi**.
|
||||
2. **Receiver** (TV): **Receive** → match transport (TCP/UDP) & options → tap **Start listening** (notification appears; service keeps running).
|
||||
3. **Sender** (tablet): **Send** → **same transport** → pick receiver → PIN → approve screen capture.
|
||||
4. Watch the **notification** on both devices for connection status (not only the toast).
|
||||
5. Stop from the notification **Stop** action.
|
||||
2. **Receiver:** **Receive** → transport **UDP** → stream protection **None** → **Start listening**.
|
||||
3. **Sender:** **Send** → **UDP** → pick **one** receiver → PIN → approve screen capture.
|
||||
4. Sender resolution: **Original**, **720p**, **480p**, or **Auto** (settings drawer).
|
||||
5. Watch **notifications** on both devices for status (not only toasts).
|
||||
6. Stop from the sender notification **Stop** action.
|
||||
|
||||
Full soak script: [docs/ALPHA_SOAK.md](docs/ALPHA_SOAK.md).
|
||||
|
||||
### If video never appears
|
||||
|
||||
@@ -43,11 +46,13 @@ adb install -r app/build/outputs/apk/debug/app-debug.apk
|
||||
|
||||
| Option | Effect |
|
||||
|--------|--------|
|
||||
| **Transport TCP** | Reliable delivery; default |
|
||||
| **Transport UDP** | Lower latency, may drop frames (POC) |
|
||||
| **Quality Low/Med/High** | Video bitrate 0.8 / 2 / 4 Mbps and FPS 20 / 24 / 30 |
|
||||
| **Resolution** | Scales VirtualDisplay before encode (full, 75%, 50%, or max 720p height) |
|
||||
| **Transport UDP** | Default; lower latency |
|
||||
| **Transport TCP** | Reliable fallback |
|
||||
| **Sender resolution** | **Original** (native), **720p** / **480p** (long-edge cap), **Auto** (adaptive from peer stats) |
|
||||
| **Bitrate** | Estimated / quality / speed modes in settings |
|
||||
| **Stream protection** | FEC/NACK optional on UDP — use **None** for alpha demo |
|
||||
| **Audio** | `AudioPlaybackCapture` + AAC (Android 10+) |
|
||||
| **Camera capture** | Rear/front Camera2 (Android 10+); requires camera permission |
|
||||
|
||||
## Protocol
|
||||
|
||||
|
||||
Reference in New Issue
Block a user