Skip to content

More than firmware.

OpenIPC is an ecosystem of more than a hundred open repositories: the firmware itself, the video pipeline, the tools around it, and the research that keeps old silicon alive.

Every project carries an honest status badge — the same vocabulary we use for firmware platforms. How stages work.

Core firmware

The operating system, the streamer, and the tools that get you from stock firmware to OpenIPC.

firmware

DONE

Universal, Buildroot-based firmware for IP cameras — replaces abandoned vendor systems on dozens of SoC families.

OpenIPC/firmware

builder

DONE

Firmware for named retail cameras, layered on the firmware tree: each device's defconfig, GPIO map, first-boot customizer and excludes. The images sysupgrade fetches for those cameras come from here.

OpenIPC/builder

majestic

DONE

The streamer at the heart of the firmware: RTSP, ONVIF, WebRTC, HLS, audio, night modes. Distributed as a binary under the Prosperity license; commercial terms available.

OpenIPC/majestic

majestic-webui

DONE

The web interface on port 80 of every camera: claim it, set it up, watch it.

OpenIPC/majestic-webui

divinus

WIP

An open-source streamer for a growing set of platforms.

OpenIPC/divinus

ipctool

DONE

Identifies the SoC, sensor, and flash chip of nearly any camera — and backs up the stock firmware before you change anything.

OpenIPC/ipctool

coupler

DONE

The smooth migration path from vendor firmware to OpenIPC and back. No soldering, no special skills.

OpenIPC/coupler

defib

DONE

Brings bricked cameras back over UART — HiSilicon, Goke and more. Runs in the browser over WebSerial, nothing to install; a CLI for the rest.

OpenIPC/defib

smolrtsp

DONE

An embeddable RTSP 1.0 server library for cameras and other constrained devices. TCP and UDP, any payload format.

OpenIPC/smolrtsp

yaml-cli

DONE

A small console tool for editing YAML configs from scripts.

OpenIPC/yaml-cli

majestic-af

WIP

Autofocus and PTZ as a plugin majestic loads at run time: the focus search and the lens motor protocols, outside majestic's core.

OpenIPC/majestic-af

Longevity & security

Vendor SDKs assume vendor kernels: ancient, unpatched, abandoned. We port them to mainline — CVE fixes and modern kernel features long after end-of-life.

openhisilicon

WIP

Keeps the HiSilicon vendor SDK alive on mainline kernels — CVE fixes and modern features after the vendor walks away.

OpenIPC/openhisilicon

openxiongmai

R&D

The same idea for Xiongmai SoCs: an open SDK replacement.

OpenIPC/openxiongmai

openingenic

WIP

The open SDK for Ingenic SoCs that the firmware builds on: MIT libraries, GPL kernel modules.

OpenIPC/openingenic

qemu-hisilicon

WIP

A full HiSilicon IP camera emulator on QEMU — develop and test firmware without hardware on your desk.

OpenIPC/qemu-hisilicon

Low latency & URLLC

The open video link for drones, robots, and teleoperation. Read the overview.

waybeam

DONE

The TX side of the link: a flexible video encoder for FPV drones and URLLC devices.

OpenIPC/waybeam

devourer

DONE

The link itself: a userspace driver for Realtek Wi-Fi adapters, setting rate, power, and channel packet by packet.

OpenIPC/devourer

libsalvage

MVP

A receiver for RTP video that is expected to lose packets: FlexFEC recovery first, then it shows the slices that arrived instead of dropping the frame.

OpenIPC/libsalvage

PixelPilot_rk

DONE

The RX side: turns a Rockchip board into a dedicated ground station with display output.

OpenIPC/PixelPilot_rk

PixelPilot

DONE

The Android ground station: decodes the wfb-ng video feed on a phone or tablet.

OpenIPC/PixelPilot

aviateur

DONE

Cross-platform receiver: watch the link on Windows, Linux, or macOS.

OpenIPC/aviateur

msposd

DONE

Draws the Betaflight, INAV or ArduPilot OSD over the OpenIPC video stream.

OpenIPC/msposd

Viewing & recording

Clients and servers for watching and keeping what the cameras see.

viewer

MVP

A viewer for Windows, Linux, macOS and Android: live RTSP with hardware decoding, a multi-camera grid, recording, two-way audio and ONVIF discovery.

OpenIPC/viewer

nrv

WIP

A video surveillance server: recording, object and sound detection on neural networks, face and plate recognition, access control.

OpenIPC/nrv

wbcam

MVP

Puts cameras into a WebRTC conference room, one participant each: a whole fleet in a browser tab, no NVR, no port forwarding.

OpenIPC/wbcam

Pro tools

Free tools that camera and media engineers run by hand — useful even if you never flash our firmware.

rnd-player

DONE

A player built for media engineers: inspect streams the way a developer needs to.

OpenIPC/rnd-player

raw-editor

MVP

Develops the raw DNG a camera serves, in the browser: for sensor diagnostics and tuning.

OpenIPC/raw-editor

latency-probe

MVP

Splits glass-to-glass latency into the camera half and the browser half, and measures each one on a single clock: no LED, no photodiode.

OpenIPC/latency-probe

hevc-wasm

MVP

H.265 decoding in WebAssembly, for browsers that will not play a camera's HEVC stream natively.

OpenIPC/hevc-wasm

vectis

MVP

A serial console for the OpenIPC UART 38x38 board: local or over the network, with reset and break on a key.

OpenIPC/vectis

camex

DONE

A small UDP/TCP tunnel for embedded Linux, with optional ChaCha20-Poly1305: libc only, about 3,500 lines.

OpenIPC/camex

uget

DONE

A wget replacement in under 5 KB, for cameras whose stock firmware has neither curl nor wget.

OpenIPC/uget

AI harnesses

Test benches that CI and AI agents run without a person in the loop: headless, a verdict as JSON or JUnit, an exit code.

onvif-tt

DONE

ONVIF conformance tests against a real camera: what it actually implements, as JUnit for CI and JSON for agents.

OpenIPC/onvif-tt

sip-tt

MVP

The same for SIP: whether a camera, doorbell or softphone behaves as RFC 3261 and RFC 3264 require.

OpenIPC/sip-tt

ipeye-tt

MVP

Stands in for the RTSP cloud a camera dials out to, records what crosses the wire, and prints a verdict.

OpenIPC/ipeye-tt

android-emulator-qa

MVP

Reproduces client-side bug reports: drives the real Android app on an emulator and captures the ONVIF and RTSP it sends.

OpenIPC/android-emulator-qa

chrome-hevc-qa

MVP

Chrome with hardware HEVC decoding on a headless Linux GPU server, with a pass/fail driver: does this stream play?

OpenIPC/chrome-hevc-qa

safari-hevc-qa

MVP

The Safari counterpart: VideoToolbox HEVC decoding on a GitHub-hosted macOS runner, with no Mac on anyone's desk.

OpenIPC/safari-hevc-qa

kaeru

MVP

Memory for coding agents: what was learnt, decided and refuted, carried between sessions and shared across a team. The OpenIPC team works with it.

LamantinAI/kaeru

AI models

Neural networks fitted to camera chips and to the browser, built and released in the open.

xmnpu-models

DONE

YOLOv8 detectors compiled for the NPU of the GK7205V500/V510/V530, released by CI for majestic's NPU detection.

OpenIPC/xmnpu-models

lpr-wasm

MVP

Number plates found and read in the browser by two ONNX models: no server, no upload. The weights are CC BY-NC.

OpenIPC/lpr-wasm

Stock cameras, reverse-engineered

Protocols and hardware of vendor cameras, documented by taking them apart — for cameras still on stock firmware, and for moving them off it.

python-dvr

DONE

Configures the many cameras that speak the XMeye/NETsurveillance protocol, from Python.

OpenIPC/python-dvr

python-dhip

MVP

A pure-stdlib Python client for Dahua DHIP, the binary RPC of Dahua and Dahua-derived cameras.

OpenIPC/python-dhip

python-anjoy

MVP

A library and CLI for what stock Anjoy cameras do outside ONVIF and RTSP.

OpenIPC/python-anjoy

motors

WIP

Pan, tilt, zoom, focus and iris for cameras whose motor protocols we recovered from stock firmware.

OpenIPC/motors

Community projects

User-made hardware, mounts, and accessories — like the 3D-printable models tagged openipc on Printables.

Ways to contribute

Community GitHub

Pick a project and make it better. Start here.