Skip to content

focus1024-wind/CrestedIbis

Repository files navigation

CrestedIbis

CrestedIbis目前是一个基于GB28181标准实现的音视频云平台,负责实现GB28181信令和设备管理,未来将会是一个支持物联网设备接入,算法训练和部署的综合物联网平台。

GitHub forks GitHub Repo stars GitHub Issues or Pull Requests GitHub License GitHub contributors GitHub go.mod Go version


CrestedIbis

GB28181音视频平台!
探索本项目的文档 »

查看Demo · 报告Bug · 提出新特性

目录

上手指南

开发前的配置要求

  1. golang 1.23.0( 作者当前开发环境,对于其他golang版本不做兼容性测试,若有不支持版本,请提ISSUES)
  2. 数据库(根据你的喜好选择你的数据库类型):
    • MySQL
    • PostgreSQL

安装部署

  1. 克隆本仓库
    git clone https://github.com/focus1024-wind/CrestedIbis.git
  2. 准备数据库环境,如果你有Docker环境,请参考如下步骤。如果没有,请搜索相关文档,自己安装数据库,本文档不做介绍
    cd dev
    docker compose up -d
  3. 下载依赖
    go mod download
  4. Swagger文档生成:
    # 下载swag工具 
    go install github.com/swaggo/swag/cmd/swag@latest
    # CrestedIbis数据库模型中依赖于gorm.DeletedAt,所以在生成API文档时,应使用如下命令
    swag init --parseDependency --parseInternal
  5. 启动服务
    # 读取当前路径下config.yaml文件,运行
    go run main.go
    # 读取指定config文件
    go run main.go -c ${config_file}
  6. 准备数据库数据,执行resources数据库脚本(本项目依赖gorm,启动时,会自动创建数据库表)

本项目依赖Casbin进行权限管理,所以在首次初始化数据库表后,需要执行数据库脚本,否则相关接口将无权限访问。

文件目录说明

filetree
├─dev                   # 开发环境,Docker开发compose脚本
├─docs                  # Swagger API文档,`swag init --parseDependency --parseInternal`自动生成,无需手动编辑
├─gb28181_server        # 基于Monibuca实现的GB28181插件
├─resources             # 资源文档,存放数据库脚本
├─src                   # web服务实现
│  ├─apps               # app接口
│  │  └─ipc
│  ├─config             # 读取配置文件数据
│  │  └─model
│  ├─global             # 全局配置变量,模型
│  │  ├─initizalize     # 初始化脚本
│  │  └─model           # 全局模型
│  └─utils              # 工具类
├─store                 # 默认资源存储路径(图片抓拍,视频录制)
├─config.yaml           # 默认配置文件
└─main.go               # 主程序

使用到的框架

GB28181功能列表

  • GB28181-2022:
    • 9.1 注册和注销
      • 9.1.2.1 基本注册
      • 9.1.2.2 基本注销
      • 9.1.2.3 注册重定向
    • 9.2 实时音视频点播
      • 9.2.2.1 客户端主动发起
      • 9.2.2.2 第三方呼叫控制
    • 9.3 控制
      • 9.3.2.1 无应答命令流程
      • 9.3.2.2 有应答命令流程
    • 9.4 报警事件通知和分发
    • 9.5 网络设备信息查询
    • 9.6 状态信息报送
    • 9.7 设备视音频文件检索
    • 9.8 历史视音频回放
      • 9.8.2.1 客户端主动发起
      • 9.8.2.2 第三方呼叫控制
    • 9.9 视音频文件下载
      • 9.9.2.1 客户端主动发起
      • 9.9.2.2 第三方呼叫控制
    • 9.10 校时
    • 9.11 订阅和通知
      • 9.11.1.2 事件订阅
      • 9.11.2.2 事件通知
      • 9.11.3.2 目录订阅
      • 9.11.4.2 目录通知
    • 9.12 语音广播和语音对讲
      • 9.12.1.2 语音广播
      • 9.12.2.2 语音对讲
    • 9.13 设备软件升级
    • 9.14 图像抓拍

贡献者

contributors

License

About

GB28181 web video platform

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages