PixelPilot
PixelPilot is an Android app packaging multiple pieces together to decode an H264/H265 video feed broadcast by wfb-ng over the air.
Install / Use
/learn @OpenIPC/PixelPilotREADME
PixelPilot
[!IMPORTANT] Warning, performance will heavily depend on your device's processing power.
Use this app at your own risk.
Introduction
PixelPilot – the Android FPV app that leaves “loading…” screens in the dust.
Plug in, fly live with sub‑atomic latency, flex real‑time signal stats, and marvel at the open‑source unicorn
where (brace yourself) most things actually work.
- FPVue_android: basic and unique work to combine all components into a single application by Gee He.
- devourer: userspace rtl8812au driver initially created by buldo and converted to C by josephnef.
- LiveVideo10ms: excellent video decoder from Consti10 converted into a module.
- wfb-ng: library allowing the broadcast of the video feed over the air.
The wfb-ng gs.key is embedded in the app. The settings menu allows selecting a different key from your phone.
Supported rtl8812au wifi adapter are listed here. Feel free to send pull requests to add new supported wifi adapters hardware IDs.
Now support saving a dvr of the video feed to Files/Internal Storage/Movies/
Compatibility
- arm64-v8a, armeabi-v7a android devices (including Meta Quest 2/3, non vr mode)
Build
git clone https://github.com/OpenIPC/PixelPilot.git
cd PixelPilot
git submodule init
git submodule update
The project can then be opened in android studio and built from there.
Installation
- Download and install PixelPilot.apk from https://github.com/OpenIPC/PixelPilot/releases
- Audio feature: Now PixelPilot app had ability to play opus stream from majestic on camera. In order to enable this feature, pls enable on camera side:
- Audio settings in (/etc/majestic.yaml):
audio:
enabled: true
volume: 30
srate: 8000
codec: opus
outputEnabled: false
outputVolume: 30
Quick Reference: Auto-FEC Levels 0 – 5
| Level | Denominator | Added Redundancy | |-------|-------------|------------------| | 0 | 1.00000 | 0 % | | 1 | 1.11111 | ≈ 11 % | | 2 | 1.25000 | 25 % | | 3 | 1.42000 | 42 % | | 4 | 1.66667 | 67 % | | 5 | 2.00000 | 100 % |
How the denominator is used:
The selected denominator multiplies eitherFEC_k(source-packet count) orFEC_n(total packets after redundancy), increasing the actual amount of forward-error-correction data.
Threshold Fields (packets / second)
| Field | Purpose |
|-------|---------|
| LostThreshold | If lost_pkts ≥ LostThreshold, jump straight to FEC-5 |
| RecThr1 … RecThr4 | Number of recovered packets (rec_pkts) that triggers FEC-1 … FEC-4 |
Ordering constraint — must hold:
RecThr1 < RecThr2 < RecThr3 < RecThr4 < LostThreshold
Decision Logic (executed once per second)
if lost_pkts >= LostThreshold:
level = 5
elif rec_pkts >= RecThr4:
level = 4
elif rec_pkts >= RecThr3:
level = 3
elif rec_pkts >= RecThr2:
level = 2
elif rec_pkts >= RecThr1:
level = 1
else:
level = 0
apply_fec(level) # multiply the level’s denominator by FEC_k or FEC_n
Set thresholds thoughtfully: Lower values → more aggressive protection (higher bandwidth / latency). Higher values → leaner bandwidth, less resilience.
List of potential improvements:
- adaptive link [x]
- 40 MHz bandwidth [?] - works but buggy
- support stream over ipv6
- Save audio stream with the video for recordings
- Possibility to forward undecoded wfb stream over the network
Known issues:
- Audio stream is not working
Tested devices based on real user reviews
- Samsung Galaxy A54 (Exynos 1380 processor)
- Google Pixel 7 Pro
- Poco x6 Pro
- Meta Quest 2
- Meta Quest 3
Related Skills
docs-writer
99.5k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
340.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
ddd
Guía de Principios DDD para el Proyecto > 📚 Documento Complementario : Este documento define los principios y reglas de DDD. Para ver templates de código, ejemplos detallados y guías paso
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
