Skip to content
在线演示下载安装包

DOWNLOAD

UVP-GB28181 下载

完全开源,让国标视频接入更清晰、更自主。

v1.1.21

最新版本2026-11-10

更新说明

  • 本版为安装与稳定性维护版本,无新增功能。
  • Windows 全新安装后一启动就报「RTP 端口段格式无效」:安装包里的端口配置文件把端口名和数字写成了上下两行,读出来是空值。现在写在同一行,遇到空值也会自动回退出厂默认端口,不会再拒启。
  • Windows 端口预检不准:端口被系统临时占用或被系统保留时,以前可能显示「预检通过」,实际服务却绑不上端口。现在能区分「被别的程序占用」「被系统临时连接占用」「被系统保留」三类,分别给出处理建议;检查本身失败时也不再把没检查说成通过。
  • 全新安装后在地图左栏「范围」里选中设备,会连续弹出「目录筛选参数错误」:设备被当成目录条件发给后台,五个接口一起报错、每两秒刷一次。现在后台能正确识别设备,范围下拉不再把设备列成筛选项,同一条错误也不会反复弹窗。
  • Windows 首次配置引导一完成就报 SIP 启动失败:引导页预填的是另一套平台用的端口 51064,正好落在 Windows 系统保留段里,一定绑不上。现在引导页统一使用正确端口 15564,出包时也会校验,端口串味直接中止出包;服务没真正起来时不再弹「已成功启动」,而是把真实原因显示出来。
  • 设备批量上报目录时更稳:先确认消息再入库、批量写入,订阅窗口先保存再发首次通知,减少高并发下的目录丢失和重复处理。
  • Windows 首次配置引导的默认 SIP 端口改为 15564。已经用旧包完成引导的用户,请在「平台接入配置」里把端口改成 15564 后保存一次。
  • 端口预检的结论文案改为显示实际检查的端口数量与端口段,不再把没检查的项目算作通过。
  • 升级前请备份 data/ 与 config/ 目录。
  • 建议正在用 1.1.20 Windows 全量包全新安装的用户直接下载 1.1.21 全量包重装;已经装好的机器可以在「服务升级」页在线升级,或用增量升级包。
  • 首次配置引导时,请确认 SIP 端口显示为 15564。
  • Linux 与容器版不受上述 Windows 问题影响,按常规方式升级即可。

下载地址

增量升级包(只换变化的文件,体积不到全量一半)

机器上已经跑着 v1.1.20 的,走这条路最省事: 包里只装这一个版本之间真正变了的程序与前端文件,下载快、替换快,同样 不动 data/ 与 config/,数据库、录像和配置都保留。

  • 1在目标机上解压(Windows 用资源管理器,Linux 用 tar -xzf)。
  • 2 Linux 进包目录执行 ./apply.sh -n -r <安装目录> 先演练(只校验不动文件), 确认无误后去掉 -n 正式执行;Windows 双击 apply.cmd 即可, 它会自己找到安装目录。
  • 3 脚本会自己完成:版本核对 → 文件校验 → 停服 → 备份 → 换文件 → 清旧文件 → 起服 → 复核版本号。 中途任何一步失败都会停在原地,改动之前一定先备份。

增量包只认「标注的来源版本 → v1.1.21」这一条边,版本对不上会直接拒绝,不会改坏文件。 版本比标注更旧的(或不确定现状的),用上面的全量安装包覆盖安装更稳妥; 想从平台页面里一键升级的,用上方的离线升级包。

校验信息(SHA-256)
  • uvp-gb28181-linux-amd64-1.1.21.tar.gz56d0d8c9041bd37b6b0d428a5ba023047f6d86df6adf72c550a0550daac6565f
  • uvp-gb28181-linux-arm64-1.1.21.tar.gz9d247380a6e14aa8e476ef28d02881ac34cc09938b914b91ba83bb3cb4ad914f
  • uvp-gb28181-windows-amd64-1.1.21.zip2ea56e8e2049b2d8beeea5e959b81f4007e5e5321fe7fa66a1cc58e821ef3e6d
  • uvp-gb28181-docker-linux-amd64-1.1.21.tar.gz82ca80e6a6f0dfe97871fa4d852f7710fff41b31965eba21b4a8a7af0b248327
  • uvp-1.1.20-to-1.1.21-linux-amd64.incremental.tar.gz7e4d9978a434d3f1095e8f5db8ccccef266a70ba862e2e01284720c3b2413839
  • uvp-1.1.20-to-1.1.21-linux-arm64.incremental.tar.gze6b1729c4f2c83d83c25a059020644d763af5a09380086c5613744140d309b52
  • uvp-1.1.20-to-1.1.21-windows-amd64.incremental.zipef1e02304e28efce27f08cccae2c146a57cc4f0d3e81f7a0d0490e3f08c9fbbd

Linux 执行 sha256sum 文件名;Windows PowerShell 执行 Get-FileHash 文件名 -Algorithm SHA256。

DEPLOY

部署教程

下载到的「独立部署包」就是绿色包:数据库 SQLite、缓存 Redis、流媒体 ZLMediaKit、Web 服务器 nginx 全部随包自带,目标机不需要预装任何运行时和依赖,解压后一条命令即可启动。下面按平台选一个页签照着做,最后附有安装包目录说明。

想要逐步截图版?看 Linux 部署手册 与 Windows 部署手册,容器版见 容器版部署手册。

  • 解压即用
  • 不依赖 Docker / Java / Python
  • 自带自签证书
  • 配置与数据可整体迁移

环境要求x86_64 或 aarch64,glibc 2.28 及以上(银河麒麟 V10 SP2、统信 UOS、openEuler 等国产系统均可)。不需要 Python、OpenSSL、Java、Docker,普通用户身份即可运行,只有注册开机自启才需要 root。

  1. 1

    解压到目标目录

    解压出来的目录就是「包根」,后面的命令都在这个目录里执行。arm64 机器把文件名里的 amd64 换成 arm64。

    bash
    tar -xzf uvp-gb28181-linux-amd64-1.1.21.tar.gz
    cd uvp-gb28181-linux-amd64-1.1.21
  2. 2

    启动服务

    首次启动会自动建库并初始化配置(约 1 分钟,过程中会打印进度),结束后打印访问地址与端口规划。start 是幂等的,重复执行只会把没起来的组件补起来。

    bash
    ./uvp-gb28181-ctl.sh start
  3. 3

    打开管理页面

    浏览器访问 http://<本机IP>:51000,初始账号 admin、口令 123456,登录后系统会强制要求修改口令。默认是明文 HTTP;要用 HTTPS 到「系统设置 → 系统配置 → HTTPS」打开开关即可,证书已随包内置。

  4. 4

    放行防火墙(局域网访问)

    端口是连续的 51000-51064,一条规则即可覆盖。start 收尾会按本机实际端口把命令打印出来,直接照抄即可。

    bash
    # firewalld(银河麒麟 / openEuler / RHEL 系)
    sudo firewall-cmd --permanent --add-port=51000-51064/tcp
    sudo firewall-cmd --permanent --add-port=51004-51064/udp
    sudo firewall-cmd --reload
    
    # ufw(Ubuntu / 统信 UOS)
    sudo ufw allow 51000:51064/tcp
    sudo ufw allow 51004:51064/udp
  5. 5

    注册开机自启(可选)

    注册成 systemd 服务后,服务名为 uvp-gb28181,可用 systemctl status uvp-gb28181 查看。加 --now 会先停掉手工实例再接管。

    bash
    sudo ./uvp-gb28181-service-install.sh --now

安装包目录说明

解压出来的目录就是「包根」。除了 bin/、vendor/ 是程序本体,其余日常会碰到的就是下面这些 —— 备份和迁移时只需要 data/ 和 config/。

  • uvp-gb28181-ctl.sh唯一入口:启动、停止、重启、查看状态、重置口令
  • uvp-gb28181-service-install.sh注册成 systemd 服务、开机自启(可选,需要 root)
  • uvp-gb28181-service-uninstall.sh卸载服务注册,只动服务不动数据
  • bin/平台自己的程序:uvp-server(后端)、uvp-setup(建库 / 改端口 / 重置口令)、updater/
  • vendor/redis/自带 Redis,不用另装;AOF 落在 data/ 里
  • vendor/zlm/自带流媒体服务 ZLMediaKit,负责 RTSP / RTMP / HLS 转发
  • vendor/nginx/自带 Web 服务器:前端页面与 HTTPS 终止
  • config/config.yml(后端配置)+ config.env(端口段、环境变量与密钥)
  • data/uvp.db(数据库)+ Redis AOF + secrets/(运行期密钥)
  • logs/全部日志:app/ 业务日志、zlm/ 流媒体日志、nginx.log
  • run/运行期文件(pid、防火墙代理 socket),重启即重建
  • resource/前端产物 + 建库脚本 baseline.sql + 内置自签证书 cert/

常用命令

  • 启动./uvp-gb28181-ctl.sh start
  • 停止./uvp-gb28181-ctl.sh stop
  • 重启./uvp-gb28181-ctl.sh restart
  • 查看状态./uvp-gb28181-ctl.sh status
  • 重置登录口令./uvp-gb28181-ctl.sh reset-password
  • 备份只需拷两个目录:data/(数据库、Redis AOF、运行期状态)和 config/(全部配置与密钥)。停服后 tar -czf uvp-backup-$(date +%F).tar.gz data config 即可。
  • 升级:解压新包覆盖原目录,data/、config/ 会保留,然后 restart。不要删除这两个目录,删了等于换一台新机器。
  • 迁移:把 data/ 和 config/ 拷到新机器,装同版本包后 start。跨平台迁移要同时改 config/config.env 的端口段(Linux 51000 段、Windows 15500 段)。
常见问题(5)
页面打不开
先执行 ./uvp-gb28181-ctl.sh status,看四项是否都「运行中」。都正常却打不开,以 start 打印的地址为准:默认是 http:// + 51000,只有在系统配置里开过 HTTPS 才是 https:// + 51001;写成后端端口 51002 也不对。只有「管理页面」没起来时看 logs/nginx.log。
登录页报 no such table
库里没建好,多半是首次启动中途被打断。直接重跑 ./uvp-gb28181-ctl.sh start(检测到库不完整会自动重建);仍不行就停服后删掉 data/uvp.db 再启动 —— 只在还没录入业务数据时这么做,删库等于清空业务数据。
忘记登录口令
平台没有自助找回。执行 ./uvp-gb28181-ctl.sh reset-password 把口令还原成出厂口令,并标记「首次登录必须改密」,下次登录会强制设置新口令。只动这一个账号,不碰设备、通道、录像数据。
提示端口已被占用
按提示先 stop;仍被占用就是别的软件在用。打开 config/config.env 最上面的端口区(16 个端口都能改),改完 restart,再按新打印的防火墙命令放行。
提示缺少执行权限(Permission denied)
解压工具丢了可执行位,执行一次 chmod +x uvp-gb28181-ctl.sh bin/uvp-setup bin/uvp-server updater/uvp-updater,或者直接用 bash uvp-gb28181-ctl.sh start。

最后更新: