Waybeam — Відеоенкодер для FPV
Waybeam — це автономний H.265 (HEVC) відеоенкодер і RTP-стрімер для камер на чіпах SigmaStar Infinity6E (Star6E) та Infinity6C (Maruko). Розроблений спеціально для FPV-дронів із мінімальною затримкою та повним керуванням через HTTP API у реальному часі.
Можливості
| Функція | Опис |
|---|---|
| Кодек | H.265 (HEVC) з режимами CBR / VBR / AVBR / FIXQP. Кодек жорстко зафіксований — поля video0.codec більше немає |
| Стрімінг | RTP-пакетизація; Compact UDP-режим (raw NAL units). Транспорти: udp://, unix://, shm:// |
| HTTP API | Зміна параметрів у реальному часі без перезапуску потоку |
| Веб-панель | Вбудований дешборд на порту 80: конфігурація, API-docs, ISP-тюнінг; власний дешборд можна підкласти в /usr/share/www |
| mDNS-виявлення | Камера сама анонсує себе в мережі: waybeam.local + унікальне waybeam-<суфікс>.local (секція discovery) |
| ISP IQ | 62 ISP-параметри з підтримкою export/import профілів |
| 3A (AE/AWB) | Star6E: isp.aeEngine ("sdk" / "custom"). Maruko: завжди рідні AE+AWB з пейсером fps/3 — ~24% економії CPU на 1080p100, поле aeEngine ігнорується |
| ROI-кодування | Пріоритет центру кадру для FPV |
| Стійкість до втрат | Resilience-пресети: intra-refresh (rolling GDR) + SVC-T пірамида посилань |
| Framing | Цифровий зум 1.25×–4× + стабілізація stab / stab-fill (Kalman) — з v0.35/v0.37 на обох чіпах; рівень детектора video0.stabAccuracy |
| Висока частота кадрів | IMX335 — до 144 fps (1600×900@144 на Star6E, 1536×864@144 на Maruko); IMX415 — до 120 fps (1728×816@120). Власні in-tree драйвери сенсорів |
| Аудіо | Захват звуку, кодеки Opus / G.711a / G.711µ / PCM |
| Snapshot | Окремий MJPEG-канал — кадр через /api/v1/snapshot.jpg |
| Запис на SD | MPEG-TS (HEVC + аудіо), безпечний у разі знеструмлення |
| Gemini-режим | Два VENC-канали: стрімінг + запис незалежно |
| Адаптивний бітрейт запису | Авто-зниження бітрейту запису якщо SD-карта не встигає (10%/с) |
| IMU | Драйвер BMI270 (обидва чіпи), вимкнений за замовчуванням; з v0.39 живить оцінку горизонту (attitude) |
| Attitude (горизонт) | Живі roll/pitch/yaw через GET /api/v1/attitude, калібрування рівня однією командою, ATTITUDE-трейлер у RTP-sidecar для HUD (Star6E) |
Для версій до v0.8 — гіроскопна стабілізація GyroGlide (секція eis)
У старих версіях була гіроскопна стабілізація GyroGlide-Lite (секція конфігу eis). Її видалено у v0.8.0. Тепер стабілізація реалізована через Kalman-фільтр у полі video0.framing (stab / stab-fill) і не потребує IMU. Драйвер BMI270 лишився: з v0.39 він живить оцінку горизонту (attitude) для телеметрії/HUD, але не стабілізацію.
Підтримувані чіпи
| Чіп | Бекенд | Сенсори | Статус |
|---|---|---|---|
| SigmaStar Infinity6E | Star6E | SSC30KQ, SSC338Q | ✅ Повна підтримка |
| SigmaStar Infinity6C | Maruko | SSC378QE | ✅ Підтримка (деякі функції — підмножина Star6E) |
Кодек — лише H.265
Waybeam кодує тільки H.265 (HEVC) на обох чіпах. Поля video0.codec немає; старі конфіги з "codec": "h264" чи "h265" завантажуються без помилок, але ключ ігнорується.
Що підтримує лише Star6E
- Scene-change IDR (
video0.sceneThreshold/sceneHoldoff) - Формат запису
hevc(на Maruko — лишеts) - HTTP-керування записом (
/api/v1/record/start|stop); на Maruko запис лише через конфіг - ATTITUDE-трейлер у RTP-sidecar та калібрування рівня (на Maruko
/api/v1/attitude/calibrate_levelповертає501)
Перевіряйте підтримку конкретного поля бекендом через /api/v1/capabilities.
Для версій до v0.35/v0.37 — стабілізація лише на Star6E
Раніше стабілізація stab / stab-fill працювала тільки на Star6E, а на Maruko відповідні контролі у WebUI були неактивні (вважалося, що детектор MI_IVE на цьому чипі не працює). У v0.35 на Maruko запрацював stab, у v0.37 — і stab-fill; причиною була несумісна vendor-бібліотека, яку тепер постачає тарбол. Нюанси на Maruko: детектор руху — програмний (NEON) і на одноядерному чипі коштує помітну частку CPU (рівень якості/ціни — поле video0.stabAccuracy, v0.36), а stab-fill несумісний з record.mode: "dual".
Порівняння з Majestic
| Waybeam | Majestic | |
|---|---|---|
| Призначення | Спеціалізований FPV-стрімер | Загальна IP-камера |
| HTTP API | Повна, реалтаймова зміна полів | Обмежена |
| WFB-інтеграція | Нативна через Unix-сокет / SHM / UDP | Через UDP |
| Запис на SD | Gemini-режим (стрімінг + запис) | Обмежений |
| Стійкість до втрат | Resilience-пресети (intra-refresh + SVC-T) | Базова |
| Стабілізація / зум | Kalman-стабілізація (обидва чіпи) + цифровий зум | Немає |
| ISP-тюнінг | 62 параметри в реальному часі | Базовий |
| Ліцензія | MIT (відкритий код) | Закритий |
Структура документації
- Встановлення на камеру — завантаження тарболу, конфігурація
/etc/waybeam.json, перший запуск - Інтеграція з WFB-ng — заміна Majestic на Waybeam у зв'язці з WFB-ng
- Веб-панель та HTTP API — налаштування через браузер і командний рядок

