引言:算力碎片化时代的“异构”困局

在推进企业数字化转型的深水区,AI 视频分析项目常因算力底座的碎片化而陷入泥潭。一边是数据中心昂贵的 NVIDIA GPU,另一边是边缘侧琳琅满目的国产 NPU(如瑞芯微、华为昇腾、算能等),开发者往往需要针对不同芯片编写不同的推理代码,甚至维护多套软件架构。这种“烟囱式”开发不仅导致了约 95% 的重复造轮子工作,更使得算法在不同硬件间的迁移成本高企。
在这里插入图片描述

如何构建一套**“一次开发,处处运行”**的统一架构?YiheCode Server 给出的答案是:硬件抽象层(HAL)与容器化部署。本文将深入剖析该平台如何通过微服务架构,打通 X86 与 ARM 的指令集壁垒,实现 GPU 与 NPU 的统一调度,为企业级应用构建高可用的 AI 视频底座。


一、 核心架构:微服务与边缘计算的拓扑解耦

YiheCode Server 采用经典的前后端分离 + 边缘协同架构。后端基于 Spring Boot 2.7 构建管理中枢,前端采用 Vue 2.6 实现可视化操作,而最核心的差异化在于其边缘计算层的设计。

该架构将系统划分为两个核心域:

  1. 管理域(云端/中心端):负责设备管理、算法商城、告警推送及用户权限控制。
  2. 计算域(边缘端):负责视频流的拉取、解码、AI 推理及告警触发。

这种解耦设计使得管理服务器可以部署在 X86 架构的虚拟机中,而推理服务器则可以灵活部署在 ARM 架构的边缘盒子上,互不干扰。

1.1 系统交互时序图
+-------------------+     +---------------------+
|   Vue 前端 (Web)   |<--->|   Spring Boot 管理端 |  <-- X86/ARM 通用
+--------+----------+     +----------+----------+
         | HTTP/WS                     | MQTT/自定义协议
         |                             |
+--------v----------+     +-----------v-----------+
|   边缘计算节点 01   |     |   边缘计算节点 N     |
| (ARM + NPU芯片)    | ... | (x86 + GPU/NPU)      |  <-- 异构硬件接入
+-------------------+     +----------------------+

二、 异构部署实现:从 X86 到 ARM 的指令集跨越

YiheCode Server 的核心竞争力在于其对硬件环境的超强适应性。它不仅仅是一个软件,更是一个硬件资源的编排器
在这里插入图片描述

2.1 跨平台指令集支持

平台通过原生编译和容器化技术,实现了对主流指令集的全覆盖:

  • X86_64:适用于传统的数据中心服务器,支持 Intel/AMD CPU,以及 NVIDIA Tesla 等高性能 GPU 的推理加速。
  • ARM64:完美适配国产化环境及边缘计算盒子,支持瑞芯微(Rockchip)、华为昇腾(Ascend)等低功耗 NPU 芯片。
2.2 弹性资源调度策略

根据 Gitee 仓库文档及项目 Readme 信息,平台支持灵活的组网方式,允许用户根据项目实际情况定制 GPU/NPU 品牌:

部署场景 硬件推荐配置 技术实现逻辑
中心级部署 NVIDIA GPU 服务器 利用 CUDA 加速进行大规模并发推理,处理核心业务算法。
边缘级部署 ARM NPU 边缘盒子 利用芯片厂商提供的 Runtime(如 RKNN、CANN)进行本地化轻量推理,降低带宽压力。
混合云部署 X86 + ARM 混合集群 通过 ZLMediaKit 媒体服务器进行流媒体中转,实现分级分域管理。

三、 边缘计算架构:轻量化推理与流媒体处理

在边缘侧,YiheCode Server 展现了极高的工程效率。通过ZLMediaKit 核心引擎,平台实现了视频流的高效处理。

3.1 视频流处理流水线

平台在边缘端的处理逻辑如下:

  1. 拉流(Pull):支持 RTSP/RTMP/GB28181 协议,从 IPC 或 NVR 拉取 H.264/H.265 视频流。
  2. 解码(Decode):利用硬件编解码能力(Hardware Decode)进行零拷贝解码,极大降低 CPU 占用率。
  3. 推理(Inference):将图像帧送入 AI 模型进行计算。
  4. 告警(Alarm):根据推理结果(如 confidence > 0.8),触发本地音柱或向上级平台推送。
3.2 边缘盒子管理配置 (YAML 逻辑示意)

在实际部署中,开发者可以通过配置文件灵活定义边缘节点的算力用途:

edge_node:
  node_id: "EC712AC0C24510063"
  hardware_type: "Rockchip_RK1684X" # 自动识别芯片类型
  algorithm_pipelines:
    - camera_id: "CAM_001"
      algorithm: "NO_HAT_DETECTION" # 安全帽检测
      enabled: true
      # 独立配置识别与告警间隔,解耦计算频率与通知频率
      detect_interval: 5s         # 每5秒进行一次AI抽帧计算
      alarm_interval: 5s         # 每5秒最多触发一次告警
    - camera_id: "CAM_002"
      algorithm: "FALL_DETECTION" # 跌倒检测
      enabled: true
      detect_interval: 1s
      alarm_interval: 10s

四、 总结

YiheCode Server 通过边缘-中心的拓扑解耦与异构计算支持,成功构建了一个硬件无关的视频 AI 底座

对于寻求私有化部署全栈国产化的技术决策者而言,这套系统最大的价值在于:它将“适配 10 种硬件”的复杂性封装在了底层,向上层业务提供了统一的 API 和管理界面。这种架构,正是实现“减少 95% 开发成本”这一目标的物理基石。
在这里插入图片描述


🚀 演示环境与部署资源

如果您正在寻找一套能够真正兼容多架构硬件、支持源码级二次开发的视频管理底座,请参考以下信息进行技术验证:

架构师建议
在部署边缘节点时,请确保 Docker 环境已正确安装,并根据硬件类型(ARM 或 X86)拉取对应的推理镜像。对于 GB28181 设备,建议在中心服务器配置独立的 ZLMediaKit 节点以处理大规模国标级联流量。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐