从零理解GB28181-3(流媒体接入)
如何设计 GB28181 的流媒体接入层:SRS6 与 ZLMediaKit 的接入流程、配置案例与交互说明 流媒体接入层是 GB28181 项目中最容易被低估、却实际最关键的模块。很多工程团队将精力集中在 SIP 注册、目录查询、录像查询上,却忽略了真正把流接进来、转出去、提供播放能力的——正是流媒体接入层。 本文聚焦四个核心问题: 为什么 GB28181 平台必须设计专门的流媒体接入层 SRS6 与 ZLMediaKit 在 GB28181 架构中的定位差异 平台、设备、流媒体服务器之间的交互流程 可落地的配置案例与平台设计要点 1. 为什么需要流媒体接入层GB28181 不是”只做信令”的协议。仅完成 SIP 部分,平台能覆盖的能力有限: SIP 能力覆盖 用户实际需求 设备注册、保活 实时看视频 目录查询、录像查询 回放录像 设备控制 Web / APP / 播放器同时分发 — HTTP-FLV / RTSP / HLS / WebRTC 输出 两者之间存在一个关键缺口:SIP 只管”让...
Qclaw 使用攻略
Qclaw 使用攻略Qclaw 是基于 OpenClaw 框架打造的个人 AI 助手平台,提供强大的自动化能力和丰富的扩展技能。本文将从指令系统、目录结构、配置文件三个方面,帮助你快速上手 Qclaw。 一、指令介绍Qclaw 提供了一套完整的命令行工具,通过 openclaw 命令可以完成各种操作。 1.1 基础指令 指令 说明 示例 openclaw --help 显示帮助信息 openclaw --help openclaw --version 显示版本号 openclaw -V openclaw status 显示频道健康和最近会话状态 openclaw status openclaw docs 搜索在线文档 openclaw docs sessions 1.2 常用管理指令Gateway 相关1234openclaw gateway status # 查看 Gateway 状态openclaw gateway start # 启动 Gateway 服务openclaw gateway stop # 停止 Gateway...
从零理解GB28181-2(2022扩展点)
GB28181-2022 有哪些扩展点:从 2016 到 2022 的能力增强、云台控制与业务流程详解 本文聚焦 GB/T 28181-2022 的专题分析。上一篇解决”GB28181 是什么、怎么跑起来”,本文聚焦: 2022 相比 2016 到底多了什么——哪些是扩展点、哪些仅是约束细化 云台控制为何在 2022 语境下值得独立讨论 平台同时兼容 2016 与 2022 的协议分层架构设计 1. 结论先行:2022 是增强,不是重写从工程实现角度,GB/T 28181-2022 并非对 2016 的全面重写,而是在稳定主干上的增强: 协议层 2022 状态 SIP 信令 不变 SDP 媒体协商 不变 RTP 媒体传输 不变 MANSCDP/XML 数据格式 不变 2016 与 2022 的定位差异: 版本 定位 核心特征 2016 主干骨架 能互通、能点播、能回放 2022 行业级增强 控制更细、状态更全、能力表达更完整、安全要求更高 因此落地策略是:以 2016 主流程为基础,在字段、控制命令、能力集、媒体能...
站在AI浪潮之巅
怕什么真理无穷,进一寸有一寸的欢喜。 前言1996年生人,今年刚好三十。 三十岁这个节点挺有意思的。古人说”三十而立”,翻译成程序员的话大概是——你该搞清楚自己到底在写什么了。 站在这个时间点上往回看,心里确实挺复杂的。不是因为焦虑,而是因为运气太好,又有点害怕好运用完了。 我这一代人,算是把三个技术时代都赶上了。 大模型元年机器学习和神经网络这俩概念,其实一点都不新。 从 1958 年的感知机,到 1986 年的反向传播复兴,再到 2012 年 AlexNet 一战成名——几十年来,无数人在黑暗里摸爬打滚。那时候 AI 是什么?是学术界自嗨的玩具,是普通人眼里的玄学,是科幻电影里才会出现的东西。 TensorFlow、PyTorch、Caffe、MXNet……框架换了一茬又一茬,但始终感觉离我们这些写业务代码的人很远很远。 然后 2022 年 11 月,GPT-3.5 来了。 没有任何预兆。第一次用它的时候,那种感觉怎么说呢——不是”又出了个新工具”,而是你突然意识到,有些东西真的不一样了。 国内外科技圈一片哗然,百模大战拉开序幕: 时间 事件 2022.11 ...
从零理解GB28181-1(协议说明)
从 0 理解 GB28181:2016 与 2022 协议、报文格式、交互流程与数据库设计 本文面向后端工程师、视频平台研发和物联网平台开发者,系统梳理: GB28181 的协议架构、版本演进(2016 / 2022)及核心差异 SIP、SDP、MANSCDP/XML 在协议栈中的分工 注册、保活、目录查询、录像查询、实时点播、回放等核心流程的报文格式与交互时序 落地一个可用平台所需的最小数据模型设计 1. GB28181 到底是什么GB28181 是国内视频监控联网领域的核心标准协议,其设计目标包括: 统一前端设备(IPC、NVR、平台网关)与上级平台间的互联互通 规范设备注册、保活、目录同步、设备控制、实时预览、录像回放、告警通知等能力 消除对厂商私有协议的依赖 如果把它拆开看,GB28181 并不是单一协议,而是几层协议的组合: SIP:信令控制层——注册、消息、订阅、邀请、会话结束 SDP:媒体协商描述层——接收 IP、端口、SSRC、传输模式等参数 RTP/PS:媒体传输层——实际承载音视频流 MANSCDP/XML...
在 macOS 上打开无跨域限制的 Chrome
在 macOS 上打开无跨域限制的 Chrome前端开发时经常遇到跨域问题(CORS),每次都要配代理或者后端改 Header 太麻烦了。这里记录一下如何快速启动一个关闭了同源策略的 Chrome 浏览器,方便开发环境直接联调。 操作步骤1234567891011# 1. 创建专用用户数据目录sudo mkdir /tmp/chrome-user-data# 2. 设置权限(这一步很重要,否则无法正常启动)sudo chmod +x /tmp/chrome-user-data# 3. 将命令写入 ~/.zshrc 作为 aliasecho 'alias chromex="open -n /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir=/tmp/chrome-user-data"' >> ~/.zshrc# 4. 使配置生效source ~/.zshrc 使用方式之后在终端执行 chromex 即可打开一个没有跨域限制的...
Docker 常用快速启动命令
Docker 快速启动命令想要用 Docker 快速启动什么工具时,直接从下面 COPY 即可。 代码托管 / CIGitLab123456789docker run --name gitlab \ -p 30022:22 -p 30080:80 -p 30443:443 \ --privileged=true \ --hostname gitlab.example.cn \ -v $PWD/gitlab/config:/etc/gitlab \ -v $PWD/gitlab/logs:/var/log/gitlab \ -v $PWD/gitlab/data:/var/opt/gitlab \ -e LANG=C.UTF-8 \ -d gitlab/gitlab-ce:latest 文件传输文件快递柜(FileCodeBox)12345docker run -d --restart=always \ -p 12345:12345 \ -v $PWD/file_code_box:/app/data \ --name filecodebox \ ...
使用 Rust 开发 Web 服务
使用 Rust 开发 Web 服务引言作为一个长期从事 Java 的程序员,做 Web 服务开发时第一件事就是寻找成熟的 Web 和 ORM 框架。在 Rust 生态中,成熟的 Web 框架选择不少: 框架 特点 适用场景 Actix-web 性能极高(基于 actor 模型),生态丰富 高性能 API 服务、微服务 Rocket 开箱体验好,宏驱动 快速原型、全栈 Web Warp 基于过滤器链,类型安全 需要强路由编译期检查的场景 Axum Tokio 官方出品,异步原生 新项目首选 数据库访问层同样有多种选择: 方案 特点 Diesel 成熟稳定、同步阻塞,Rust 社区最老牌的 ORM Sea-ORM 后起之秀,支持异步,基于 sqlx 构建 —— 本案例选用 sqlx 轻量级,无 DSL,编译时 SQL 检查 为什么选 Sea-ORM?Diesel 不支持异步,而 Sea-ORM 天然适配 Rust 的异步生态。随着它不断成熟,越来越多新项目选择在其上构建。 Rust 以卓越的内存安全性和极致性能在编程社区中备受瞩...
新冠疫情史记
2020年 1月2日 央视:查处8名造谣者 1月3日 李文亮被训诫 1月5日 卫健委:未发现人传人 1月12日 李文亮住院。卫健委:可防可控 1月18日 武汉百举办万人宴 1月20日 钟南山:资料显示人传人 1月21日 湖北黄冈翁某患肺炎12天后死亡 ...