# open_ipc **Repository Path**: jackhunx/open_ipc ## Basic Information - **Project Name**: open_ipc - **Description**: IPC开源方案、网络摄像头方案 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 29 - **Created**: 2025-02-26 - **Last Updated**: 2025-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # open_ipc ## 简介 网络摄像头开源方案,目标是实现基于云端多模态大模型,实现AI语音对话,视频识别。 基础功能包括:存储卡录像,rtsp,restful api、web网页。 两个开发平台: 3516cv610平台 qemu的aarch64平台 ## 技术架构 整体遵从分层设计:内核层、硬件抽象层、基础软件层、基础业务层,应用层。 - 同时在代码实现上,将不同功能抽象为组件,通过拼装和配置组件的方式定制适用于不同设备。 ![](./docs/zh/figures/架构.png) #### 系统BSP uboot和kernel依赖芯片的sdk,采用buildroot构建根文件系统。 #### 基础软件层 开源三方库:openssl、curl、freetype、exosip。 基础公共层:配置管理、事件管理。 #### 硬件抽象层 统一封装硬件操作接口,音频、视频、USB等。 #### 基础业务层 业务:音视频存储,设备升级。 - [产品命名规范](docs/zh/design/product-naming.md) - [升级设计](docs/zh/design/upgrade-design.md) #### 应用层 应用:Restful API、web、onvif、gb28181、app对接。 - [前端设计](docs/zh/design/web_design.md) - [Restful API设计](docs/zh/design/restful_api.md) ## 编译说明 ### 环境要求 - Linux开发环境: Ubuntu 24 - npm(用于web前端构建) - 交叉编译工具链toolchains:子模块需要(git submodule init;git submodule update --remote) - 海思3516cv610平台:toolchains/3516cv610,要提前安装海思SDK的交叉编译工具链- arm-v01c02-linux-musleabi-gcc - aarch64平台:toolchains/aarch64 ### 编译步骤 编译命令 ```bash # 编译命令格式 ./build.sh [product] [command] [mode] # product: 产品型号 - pa: 3516cv610平台 - pb: aarch64平台 # 编译平台release版本 ./build.sh pa build release # 编译aarch64平台debug版本 ./build.sh pb build debug 编译完成后,输出文件位于`package/bin`目录下 # 3516cv610镜像打包 ./build.sh pa all 编译完成后,输出文件位于`build/3516cv610_image`目录下 ``` ## 路线图 高优先级 - [X] 支持rtsp服务 - [X] 支持录像存储 - [X] 支持web网页预览(webrtc) - [X] 支持阿里云同义千问vl,支持图片分析 - [X] 支持镜像文件打包,支持web升级 - [ ] 支持用户管理,网络配置,看门狗 - [ ] 支持yolov8 低优先级 - [ ] 支持divinus库,适配海思芯片 - [ ] 添加onvif服务 - [ ] 支持语音对讲 - [ ] 添加gb28181服务 - [ ] 添加云端app对接 # 联系方式 - 邮箱:endless@endless-sky.onaliyun.com