UNIVIP — Universal Vehicle Interoperability ProtocolLink to the section UNIVIP — Universal Vehicle Interoperability Protocol

On this page

Status: Working draft 0.2.0 · Date: 2026-10-15 · Audience: uncrewed-vehicle vendors (aerial, underwater, surface, ground), VMS developers, system integrators, standards bodies · Web: univip.org

An open interoperability standard that enables any compatible uncrewed vehicle, aerial or underwater, surface or ground, to connect with any compatible Video Management System (VMS), stream live video and time-synchronized telemetry, publish operational events, and expose standardized camera and authorized vehicle-control capabilities.

UNIVIP is to uncrewed vehicles what ONVIF is to fixed IP cameras: a vendor-neutral profile that lets a VMS discover, authenticate, view, record, map, and (when authorized) control a drone, ROV or rover without a manufacturer-specific integration.

The specification uses domain-neutral vocabulary (vehicle.* commands, vehicle_state, depth as well as altitude). Version 0.2 defines conformance tests for the aerial domain only; underwater, surface and ground members are specified and reserved until an implementer in that domain joins (see ADR-0007). The name was chosen on 2026-10-14 from the shortlist in docs/naming.md; the domain univip.org is owned by the project and the website is generated from this repository (see site/README.md); trademark registration is pending.


Why this existsLink to the section Why this exists

New to UNIVIP? Start with the diagrams and a worked example, then use the specification for the exact requirements.

Several standards already solve parts of the problem. ONVIF covers video, metadata, events and PTZ for cameras. MAVLink covers vehicle state and commands. MISB ST 0601 carries geospatial metadata alongside motion imagery. STANAG 4586 defines UAV control levels. DJI and Skydio ship capable but proprietary cloud APIs.

What is missing is a single, testable, vendor-neutral profile that brings video + synchronized position + health + events + camera control + optional, permissioned vehicle control to conventional VMS platforms. UNIVIP is that layer. It reuses the useful pieces of the existing standards and defines only what is needed to glue them together.

Read the full argument in the white paper and the prior-art review.

Core principleLink to the section Core principle

An uncrewed vehicle is a mobile, intelligent, geospatial camera, not merely a moving IP camera. Its position, altitude or depth, attitude, velocity, battery, link quality and operating mode all matter to a VMS, and every one of them must be time-aligned with the video.

Camera control and vehicle control are never the same permission. An operator may be allowed to zoom into a scene without being allowed to move the vehicle. UNIVIP enforces this separation in its profiles, its control-lease model and its security model.

ProfilesLink to the section Profiles

Profile Name Mandatory content Typical device
S Surveillance & Streaming Identity, capabilities, live video, position, altitude, basic telemetry, time sync, health, critical events Any video-capable drone, dock or gateway
C Camera & Payload Control Profile S + zoom, focus, gimbal orientation, imaging settings, thermal palettes, recording control Drones with a controllable payload
N Navigation & Vehicle Control Profile S + authorized vehicle control, vehicle leases and safety enforcement; the device advertises its supported commands Vehicles whose operator permits authorized remote tasking

Profiles C and N independently extend S; N does not require C. Profile N is separately enabled, separately authorized and separately audited. See the profile diagram and feature matrix.

Deployment modesLink to the section Deployment modes

All three behave identically from the VMS point of view.

Mode Where UNIVIP runs
Native In the vehicle or dock firmware
Controller-based On the ground controller, remote-pilot app or dock software
Gateway-based On a server translating MAVLink, DJI Cloud API, Skydio APIs or other interfaces into UNIVIP

The gateway mode is what makes adoption independent of manufacturer firmware roadmaps.

Repository layoutLink to the section Repository layout

Path Contents
docs/whitepaper.md Opportunity, positioning and strategy
docs/prior-art.md Landscape of existing standards and gap analysis
docs/roadmap.md Phased plan from draft to conformance program
docs/onvif-comparison.md ONVIF vs UNIVIP: architecture, transport stack and security, side by side
docs/transport-baseline-validation.md Assessment of each proposed transport baseline and what the draft adopted
docs/community-and-membership.md Website, membership tiers, legal home and launch sequence
docs/naming.md Naming history and the decision for UNIVIP
docs/decisions/ Architecture decision records, including the four foundational decisions
spec/ The normative specification, split by topic
schemas/ JSON Schema (2020-12) for telemetry, events, capabilities, commands and geospatial data
api/univip-v1.openapi.yaml OpenAPI 3.1 description of the UNIVIP REST interface
examples/ Valid sample messages used by the validator and the conformance seed
tools/validate.py Validates every example against its schema and checks the OpenAPI document
gateway/ Reference gateway (Python): simulator, MAVLink (PX4/ArduPilot) and DJI Cloud API adapters, Profiles S, C, N, WebRTC video; client recorder and replay tools with MISB ST 0601
dotnet/ .NET 10: client SDK for VMS integrations, the gateway ported to ASP.NET Core, and a standalone web viewer
docs/implementation-findings.md Spec gaps found by implementing the drafts, each with its resolution in 0.2 or marked open
docs/sitl-validation.md The MAVLink adapter validated against PX4 and ArduPilot software-in-the-loop
docs/software-validation.md Reproducible software and emulator milestone, clean package installation, network faults and recorded browser checks
docs/recording-test.md The recording test: flight path replayed from in-band ST 0601 and from out-of-band telemetry
docs/security/ Internal security review of the .NET WebRTC stack
THIRD_PARTY_NOTICES.md Licences of every runtime dependency, and what distributors must do
site/ The univip.org website (Vite and TypeScript), generated from this repository; deploys to Cloudflare Workers or Pages
GOVERNANCE.md How the specification is developed and decided
CONTRIBUTING.md How to propose changes

Quick startLink to the section Quick start

pip install -r tools/requirements.txt
python3 tools/validate.py

The validator exits non-zero if any example fails schema validation or the OpenAPI document is malformed. Continuous integration runs the same check on every push.

Reference implementationsLink to the section Reference implementations

Implementation Side What it does
gateway/ (Python) Device Exposes vehicles as UNIVIP Devices through adapters: a built-in simulator, MAVLink (PX4, ArduPilot) and the DJI Cloud API (DJI Dock). Session channel (including the session proxy), REST, telemetry, events, leases, camera and vehicle commands with every safety precondition, audit, H.264 over WebRTC. Includes a development client endpoint that validates every message.
gateway/ univip-recorder, univip-replay (Python) Client Records video as received with per-frame ST 0601 in MPEG-TS plus the telemetry and time map, and replays the flight path from either.
dotnet/ Univip.Client (.NET 10) Client SDK for VMS integrations (Milestone, Genetec and other .NET products): session endpoint, typed devices, REST, auto-renewing leases, command tracking, separate camera and vehicle control facets.
dotnet/ Univip.Gateway (.NET 10) Device The gateway ported to ASP.NET Core with the simulator adapter; same wire behaviour and configuration. Its hand-written WebRTC stack has had an internal security review; the independent review the roadmap requires is still to come.
dotnet/ Univip.Viewer.Web (.NET 10) Client Standalone viewer: live video, map with track, home and geofence, telemetry overlay with a stale indication, events with active conditions, and optional leased camera control and hold / return home.

The implementations test each other in CI: the .NET SDK and the viewer against the Python gateway (the viewer in a headless browser), the .NET gateway against the Python endpoint and the .NET SDK. Reports produced with them are self-declared interoperability reports (Part 14 §14.6), not conformance claims.

cd gateway && pip install -e '.[media,mavlink,test]'
univip-dev-endpoint --listen 127.0.0.1:9443 --token dev-device-token --client-id dev-endpoint &
univip-gateway --config gateway.example.yaml          # a simulated vehicle flying a patrol

The first demonstration we aim forLink to the section The first demonstration we aim for

A drone begins a mission. Without a proprietary integration in the receiving VMS, the VMS automatically recognizes the UNIVIP connection, displays video, plots the drone on a map, records GPS history alongside the video, receives a low-battery event, and, if authorized, adjusts the camera gimbal. The same demonstration is then repeated with a tethered underwater ROV, replacing altitude with depth.

LicensingLink to the section Licensing

  • Specification text and documentation: Creative Commons Attribution 4.0 International (CC BY 4.0). See LICENSE-SPEC.md.
  • Schemas, API descriptions, examples and tooling: Apache License 2.0. See LICENSE.
  • Contributions are accepted under the same terms. A formal intellectual-property policy is part of the governance roadmap.

Status and caveatsLink to the section Status and caveats

This repository is an initial research scan and draft specification, not a conclusive patent search or an exhaustive international standards inventory. Before any public claim that UNIVIP is the first standard of its type, the relevant MISB documents, STANAG specifications, ONVIF draft specifications and existing commercial interoperability products must be reviewed in detail. See docs/prior-art.md.

Generated from README.md.