OmniAccelerANT
An inference engine with a Flutter/Dart frontend and a Rust/C++ backend, showcasing GStreamer capabilities enhanced with AI.
A Flutter/Dart app on a Rust/C++ inference core with GStreamer camera pipelines, for Windows, Linux, Android and the web: an end-to-end reference for cross-platform inference on desktop, web and embedded devices. ObservANT is the same stack as an installable camera that spots cats.
Dependency updates: run bash scripts/linux/renovate-local.sh to report, --apply --dry-run to plan,
and --apply to update. A real apply initializes a missing pinned hub and follows direct
submodules' remote default branches. CI checks the wrapper and config; see
the shared Renovate guide.
Both platforms use ANTfrastructure's locked uv project for CMake formatting.
Android CI checks launcher resources before building and verifies the project's MIT text in the APK. The Linux package, MSI and MSIX builders check that text in their completed packages; see project operations. Linux and Windows packages also carry the ONNX Runtime license and notices from their matching image wheel. Every package ships the third-party component list with its license texts.
Highlights
- An installable ObservANT: a
.deb, AppImage, flatpak or Windows MSI that streams a camera to any browser and spots cats. The Flatpak packager verifies the committed app and nonempty bundle. - A small-board ObservANT bundle whose producer build reuses OxidANT's container helper.
- GStreamer WebRTC livestreaming with ready-to-use pipelines for USB and Raspberry Pi cameras.
- GStreamer native GTK integration, for writing Linux AI inference apps.
- ESP32-S3-EYE on-device cat detection, its USB protocol in Rust, shown on the app's Device page.
- flutter_rust_bridge as the API boundary between the Dart UI and the Rust core.
- Retained device sessions: language, theme and layout changes preserve routed page state.
- Containerized builds in ANTfrastructure's images: a local run invokes the script CI invokes; all five Linux entry points and the two bundle checks reuse its CLI value parser.
Quick start
git clone --recurse-submodules --branch develop https://github.com/Kataglyphis/OmniAccelerANT.git
cd OmniAccelerANT
pwsh -File scripts/windows/Invoke-LinuxLane.ps1 # the native Linux lane, in the family image
It needs pwsh 7 and nerdctl (Rancher Desktop on Windows). The other lanes, the Windows
build and the host prerequisites: Getting Started. Only want
ObservANT? A release's package installs it:
a new camera in five steps.
Documentation
| Topic | Read |
|---|---|
| What it is, its feature status per platform, literature | docs/source/overview.md |
| Prerequisites, the lanes, the API docs | docs/source/getting-started.md |
| Container source selection, Windows and ARM64 bundle checks, Android, Raspberry Pi and web builds | docs/source/platforms.md |
| ObservANT, the Rust webcam path and the WebRTC pipelines | docs/source/camera-streaming.md |
| ESP32-S3 companion, camera and shared host toolchain | docs/source/esp32.md |
| What each test proves, including shared Windows PE fixtures | docs/source/testing.md |
| Gates, releases, local lanes, dependency upgrades | docs/source/project-operations.md |
| CI quality reports, Ruff/ty, PowerShell syntax checks and refactor previews | Shared quality tooling |
| Dependency and bridge updates | docs/source/upgrade-guide.md |
| The other READMEs in the tree | docs/source/readmes.md |
| Rules for agents and contributors | AGENTS.md |
| Known work | BACKLOG.md |
| Changes | CHANGELOG.md |
Contributing and contact
OmniAccelerANT is one of the Kataglyphis repositories, which share one way to contribute and one contact. Licence: MIT, see LICENSE.
Libraries
- blog_dependent_app_attributes
- fallback_font_licenses
- js/gstwebrtc_api_interop
- l10n/app_localizations
- l10n/app_localizations_de
- l10n/app_localizations_en
- main
- Pages/AboutMePage/about_me_page
- Pages/CameraSettingsPage/camera_settings
- Pages/CameraSettingsPage/camera_settings_page
- Pages/CameraSettingsPage/coco_classes
- Pages/DataPage/BlockOverviewPage/block_overview_page_config
- Pages/DevicePage/device_page
- Pages/DevicePage/esp32_controller
- Pages/omni_screen_configurations
- Pages/StreamPage/camera_peers
- Pages/StreamPage/detection_status
- Pages/StreamPage/dev_stats
- Pages/StreamPage/gstreamer_pipeline
- The plugin's GStreamer pipelines on Android and macOS, per source, and the order the Stream page tries sources in.
- Pages/StreamPage/observant_api_stub
- Pages/StreamPage/observant_api_web
- Pages/StreamPage/rust_webcam_view
- Pages/StreamPage/stream_controller
- Pages/StreamPage/stream_page
- Pages/StreamPage/visit_stats
- Pages/StreamPage/webrtc_view
- Pages/StreamPage/webrtc_view_stub
- Routing/omni_router
- settings/webrtc_settings
- WebRTC and video settings, parsed from
assets/settings/webrtc_settings.json. - third_party_licenses
- utils/json_utils