Skeyevss 项目安装使用说明
1. 服务资源
本项目为 Skeyevss Community Edition (go-vss),包含后端服务、前端管理后台、国标信令与流媒体联动能力。
试用安装包下载 | SMS | 试用安装包下载 | 在线演示
1.1 代码与配置资源
- 项目源码:当前仓库根目录
- 默认环境变量模板:
.env.local.default - 服务配置文件目录:
etc/ - Docker 编排:
docker-compose.yml - 开发生成脚本:
scripts/dev/
1.2 主要运行组件
- 基础依赖:MySQL / Redis / etcd
- 业务服务:DB RPC / VSS / Backend API / Cron / Web Proxy
- 媒体服务:
SkeyesMS(独立进程)
2. 服务架构
核心调用关系如下:
- 前端通过
Web Proxy访问后端接口与静态资源。 Backend API负责业务 API,调用DB RPC与VSS。VSS负责 GB28181/ONVIF/RTSP 等协议处理,并与SkeyesMS协同完成收流、转发与播放。Cron负责定时任务与录像计划。MySQL/Redis/etcd提供数据存储、缓存与服务发现。
3. 服务说明
3.1 环境准备
- Go >= 1.23.x
- Node.js(前端开发需要)
- Docker + Docker Compose(容器部署需要)
- 可选:本地 MySQL / Redis / etcd(非 Docker 运行)
3.2 关键配置文件
- 环境变量:
.env.local(可由.env.local.default复制) - VSS 配置:
etc/.vss.yaml - DB RPC 配置:
etc/.db-rpc.yaml - Backend API 配置:
etc/.backend-api.yaml - Web 代理配置:
etc/.web-sev.yaml - Cron 配置:
etc/.cron.yaml
3.3 默认端口(基于 .env.local.default)
- MySQL:
11001 - Redis:
11002 - etcd(Client):
11003 - Web Proxy:
11004 - Media Server(HTTP):
11005 - VSS(SIP):
11008 - Cron:
11009 - DB RPC:
11010 - Backend API:
11011 - Guard:
11012 - VSS HTTP:
11013 - VSS SSE:
11014 - VSS Cascade SIP:
11015 - VSS WS:
11018
4. 服务运行
4.1 Linux / macOS 本地开发运行
第一步:准备环境变量
在项目根目录执行:
cp .env.local.default .env.local
至少确认以下参数:
SKEYEVSS_INTERNAL_IPSKEYEVSS_EXTERNAL_IPSKEYEVSS_DATABASE_TYPE(sqlite或mysql)SKEYEVSS_*_PORT系列端口是否冲突SKEYEVSS_VSS_SIP_ID/SKEYEVSS_VSS_SIP_DOMAIN/SKEYEVSS_VSS_SIP_PASSWORD
第二步:启动基础依赖
若使用本地依赖,先启动 MySQL / Redis / etcd。
若使用 SQLite,可不启动 MySQL(并将 SKEYEVSS_DATABASE_TYPE=sqlite)。
第三步:按顺序启动服务
在项目根目录分别启动:
go run core/app/sev/db/main.go -env .env.local -f etc/.db-rpc.yaml
go run core/app/sev/vss/main.go -env .env.local -f etc/.vss.yaml
go run core/app/sev/backend/main.go -env .env.local -f etc/.backend-api.yaml
go run core/app/sev/cron/main.go -env .env.local -f etc/.cron.yaml
go run core/app/sev/web/main.go -env .env.local -f etc/.web-sev.yaml -web-static-dir <前端构建目录>
SkeyesMS 需单独启动(按照其配置文件与运行参数启动)。
4.2 Windows 运行说明
Windows 与 Linux/macOS 运行顺序一致,建议:
- 先配置
.env.local - 启动基础依赖(MySQL/Redis/etcd 或 SQLite 模式)
- 依次启动
db -> vss -> backend -> cron -> web - 确认防火墙放行 SIP/RTP/HTTP 相关端口
4.3 Docker Compose 运行
使用 Docker 方式时:
- 准备
.env.prod.d(或 compose 使用的 env 文件) - 校验
SKEYEVSS_SEV_VOLUMES_DIR、端口、镜像地址配置 - 启动(示例):
docker-compose --profile core --profile conf up -d
docker-compose.yml 中服务已定义依赖关系,包含 mysql/redis/etcd/skeyesms/dbrpc/vss/backendapi/cron/webproxy。
5. 配置设备接入(GB28181)
设备接入前,重点确认 VSS SIP 参数(来自 .env.local 与 etc/.vss.yaml):
- SIP Host:
SKEYEVSS_INTERNAL_IP(或公网场景配置对应地址) - SIP 端口:
SKEYEVSS_VSS_PORT(默认11008) - SIP ID:
SKEYEVSS_VSS_SIP_ID - SIP 域:
SKEYEVSS_VSS_SIP_DOMAIN - 设备统一接入密码:
SKEYEVSS_VSS_SIP_PASSWORD - 是否启用密码校验:
SKEYEVSS_VSS_SIP_USE_PASSWORD
公网部署场景可按需开启:
SKEYEVSS_VSS_USE_EXTERNAL_IPSKEYEVSS_VSS_SIP_USE_EXTERNAL_WANSKEYEVSS_EXTERNAL_IP

6. 平台使用
6.1 管理平台
- 默认入口(开发环境):
http://<部署IP>:11004 - 默认管理员账号(来自
.env.local.default):- 用户名:
admin - 密码:
111111
- 用户名:
6.2 接口文档
- 建议入口:
http://<部署IP>:11004/apidoc - 通用 API 约定与请求体说明见:
source/doc/api/common.md
6.3 视频能力
项目支持设备直播、录像回放、云台控制、语音对讲等能力;前端通过 Web 代理与后端交互,后端通过 VSS + 媒体服务完成流控制和播放链路。
7. 统一编码规则
为保证 GB28181 编码一致性,项目约定了国标 ID 前缀变量(见 .env.local.default):
- 平台前缀:
SKEYEVSS_GEN_PLATFORM_UNIQUEID - 目录前缀:
SKEYEVSS_GEN_DIR_UNIQUEID - NVR 前缀:
SKEYEVSS_GEN_NVR_UNIQUEID - 摄像机前缀:
SKEYEVSS_GEN_CAMERA_UNIQUEID
建议:
- 统一采用 20 位国标编码。
- 同一部署内保持前缀唯一,避免设备、通道、目录编码冲突。
- 在多级级联场景中,按组织或区域规划编码段,避免跨域重复。
8. 服务器硬件配置建议
以下为生产环境建议(按并发规模调整):
- CPU:2 核及以上
- 内存:4GB 及以上
- 磁盘:SSD(录像与日志分盘更优)
- 网络:公网场景建议固定公网 IP
录像、高并发转发场景建议独立部署媒体服务并提升:
- CPU 核数与网络带宽
- 磁盘写入吞吐
- RTP/RTC 端口段与防火墙策略
9. 常见问题排查
- 服务启动失败:先检查
.env.local与etc/.xxx.yaml的变量是否可解析。 - DB RPC 连不上:确认 etcd 已启动,
SKEYEVSS_ETCD_HOST/PORT正确。 - 设备注册失败:核对 SIP ID/域/密码、SIP 端口、防火墙策略。
- 无法播放:确认
SkeyesMS已启动,且 VSS 通知地址可访问。 - 页面打不开:确认
webproxy已启动、-web-static-dir指向正确前端构建目录。