Skip to content

不只是固件。

OpenIPC 是一个由一百多个开放仓库组成的生态:固件本身、视频管线、周边工具,以及让老芯片继续存活的研究工作。

每个项目都带有诚实的状态标记——与我们用于固件平台的是同一套说法。各阶段是怎么划分的。

核心固件

操作系统、推流器,以及把你从原厂固件带到 OpenIPC 的各种工具。

firmware

DONE

基于 Buildroot 的通用 IP 摄像机固件——在数十个 SoC 系列上取代已被弃用的原厂系统。

OpenIPC/firmware

builder

DONE

基于 firmware 构建树、为具体零售摄像头型号构建的固件:每台设备的 defconfig、GPIO 映射、首次启动脚本和排除列表。sysupgrade 为这些摄像头下载的镜像就来自这里。

OpenIPC/builder

majestic

DONE

固件核心中的推流器:RTSP、ONVIF、WebRTC、HLS、音频、夜视模式。以二进制形式在 Prosperity 许可证下分发,可另行商谈商业条款。

OpenIPC/majestic

majestic-webui

DONE

每台摄像头 80 端口上的 Web 界面:认领、配置、观看。

OpenIPC/majestic-webui

divinus

WIP

面向不断增加的平台的开源推流器。

OpenIPC/divinus

ipctool

DONE

识别几乎任何摄像机的 SoC、传感器和闪存芯片——并在你做任何改动之前备份原厂固件。

OpenIPC/ipctool

coupler

DONE

在原厂固件与 OpenIPC 之间平滑迁移、并可回退的方案。无需焊接,也不需要特殊技能。

OpenIPC/coupler

defib

DONE

通过 UART 救活变砖的摄像头——HiSilicon、Goke 等。在浏览器中通过 WebSerial 运行,无需安装;其余情况使用命令行版本。

OpenIPC/defib

smolrtsp

DONE

可嵌入的 RTSP 1.0 服务端库,适用于摄像机等资源受限设备。支持 TCP 与 UDP,任意负载格式。

OpenIPC/smolrtsp

yaml-cli

DONE

一个用于在脚本中编辑 YAML 配置的小型命令行工具。

OpenIPC/yaml-cli

majestic-af

WIP

以运行时插件形式由 majestic 加载的自动对焦与 PTZ:对焦搜索和镜头电机协议独立于 majestic 核心。

OpenIPC/majestic-af

长期维护与安全

原厂 SDK 默认搭配原厂内核:陈旧、未打补丁、无人维护。我们把它们移植到主线内核——在停产很久之后仍能获得 CVE 修复与现代内核特性。

openhisilicon

WIP

让海思原厂 SDK 在主线内核上继续存活——在厂商撒手之后,仍能获得 CVE 修复与现代特性。

OpenIPC/openhisilicon

openxiongmai

R&D

面向雄迈 SoC 的同类工作:一套开放的 SDK 替代方案。

OpenIPC/openxiongmai

openingenic

WIP

固件所依赖的君正(Ingenic)SoC 开源 SDK:库采用 MIT,内核模块采用 GPL。

OpenIPC/openingenic

qemu-hisilicon

WIP

基于 QEMU 的完整海思 IP 摄像机模拟器——桌面上没有硬件也能开发和测试固件。

OpenIPC/qemu-hisilicon

低延迟与 URLLC

面向无人机、机器人与遥操作的开放视频链路。阅读概览。

waybeam

DONE

链路的发送端:面向 FPV 无人机与 URLLC 设备的灵活视频编码器。

OpenIPC/waybeam

devourer

DONE

链路本身:用户态的 Realtek Wi-Fi 网卡驱动,逐包设定速率、功率与信道。

OpenIPC/devourer

libsalvage

MVP

面向丢包链路的 RTP 视频接收器:先做 FlexFEC 恢复,再显示已到达的切片,而不是丢弃整帧。

OpenIPC/libsalvage

PixelPilot_rk

DONE

接收端:把一块 Rockchip 板子变成带显示输出的专用地面站。

OpenIPC/PixelPilot_rk

PixelPilot

DONE

Android 地面站:在手机或平板上解码 wfb-ng 视频流。

OpenIPC/PixelPilot

aviateur

DONE

跨平台接收端:在 Windows、Linux 或 macOS 上观看链路画面。

OpenIPC/aviateur

msposd

DONE

在 OpenIPC 视频流上叠加 Betaflight、INAV 或 ArduPilot 的 OSD。

OpenIPC/msposd

观看与录像

用于观看和保存摄像头画面的客户端与服务器。

viewer

MVP

适用于 Windows、Linux、macOS 和 Android 的查看器:硬件解码的实时 RTSP、多画面网格、录像、双向音频和 ONVIF 发现。

OpenIPC/viewer

nrv

WIP

视频监控服务器:录像、基于神经网络的物体与声音检测、人脸与车牌识别、门禁。

OpenIPC/nrv

wbcam

MVP

把摄像头接入 WebRTC 会议室,每台一个参与者:浏览器标签页里看整批摄像头,无需 NVR,无需端口转发。

OpenIPC/wbcam

专业工具

摄像头与媒体工程师手动使用的免费工具——即使你从未刷过我们的固件也很有用。

rnd-player

DONE

为媒体工程师打造的播放器:以开发者需要的方式检视码流。

OpenIPC/rnd-player

raw-editor

MVP

在浏览器中显影摄像头提供的 RAW DNG:用于传感器诊断与调校。

OpenIPC/raw-editor

latency-probe

MVP

把端到端延迟拆成摄像头一半和浏览器一半,各自用同一时钟测量:无需 LED 和光电二极管。

OpenIPC/latency-probe

hevc-wasm

MVP

WebAssembly 实现的 H.265 解码,供无法原生播放摄像头 HEVC 流的浏览器使用。

OpenIPC/hevc-wasm

vectis

MVP

用于 OpenIPC UART 38x38 板的串口控制台:本地或经网络使用,按键即可复位和发送 break。

OpenIPC/vectis

camex

DONE

面向嵌入式 Linux 的小型 UDP/TCP 隧道,可选 ChaCha20-Poly1305:只依赖 libc,约 3500 行。

OpenIPC/camex

uget

DONE

不到 5 KB 的 wget 替代品,适用于原厂固件既没有 curl 也没有 wget 的摄像头。

OpenIPC/uget

AI 测试平台

由 CI 和 AI 智能体在无人值守下运行的测试平台:无界面,以 JSON 或 JUnit 给出结论,并返回退出码。

onvif-tt

DONE

在真实摄像头上进行 ONVIF 一致性测试:它实际实现了什么,输出供 CI 使用的 JUnit 和供智能体使用的 JSON。

OpenIPC/onvif-tt

sip-tt

MVP

SIP 的同类工具:摄像头、门铃或软电话是否符合 RFC 3261 和 RFC 3264 的要求。

OpenIPC/sip-tt

ipeye-tt

MVP

充当摄像头主动连接的 RTSP 云,记录线上传输的一切并给出结论。

OpenIPC/ipeye-tt

android-emulator-qa

MVP

复现客户端问题报告:在模拟器中操作真实的 Android 应用,并抓取它发出的 ONVIF 和 RTSP。

OpenIPC/android-emulator-qa

chrome-hevc-qa

MVP

在无头 Linux GPU 服务器上启用硬件 HEVC 解码的 Chrome,附带通过/失败测试:这个流能播放吗?

OpenIPC/chrome-hevc-qa

safari-hevc-qa

MVP

Safari 版本:在 GitHub 托管的 macOS runner 上用 VideoToolbox 解码 HEVC,无需桌上有 Mac。

OpenIPC/safari-hevc-qa

kaeru

MVP

面向编程智能体的记忆:学到的、决定的、被推翻的,跨会话保留并在团队中共享。OpenIPC 团队在用它。

LamantinAI/kaeru

AI 模型

为摄像头芯片和浏览器适配的神经网络,公开构建并发布。

xmnpu-models

DONE

为 GK7205V500/V510/V530 的 NPU 编译的 YOLOv8 检测模型,由 CI 发布,供 majestic 的 NPU 检测使用。

OpenIPC/xmnpu-models

lpr-wasm

MVP

在浏览器中用两个 ONNX 模型查找并识别车牌:无需服务器,无需上传。权重采用 CC BY-NC。

OpenIPC/lpr-wasm

原厂摄像头逆向

通过拆解记录下来的厂商摄像头协议与硬件——服务仍在使用原厂固件的摄像头,也帮助它们迁移出来。

python-dvr

DONE

用 Python 配置大量使用 XMeye/NETsurveillance 协议的摄像头。

OpenIPC/python-dvr

python-dhip

MVP

纯标准库实现的 Dahua DHIP(大华及其 OEM 摄像头的二进制 RPC)Python 客户端。

OpenIPC/python-dhip

python-anjoy

MVP

针对原厂安佳威视(Anjoy)摄像头在 ONVIF 和 RTSP 之外功能的库与命令行工具。

OpenIPC/python-anjoy

motors

WIP

为我们从原厂固件中还原出电机协议的摄像头提供水平、俯仰、变焦、对焦和光圈控制。

OpenIPC/motors

社区项目

社区自制的硬件、支架与配件——例如在 Printables 上标记为 openipc 的可 3D 打印模型。

参与贡献的方式

社区 GitHub

选一个项目,把它做得更好。从这里开始。