Skip to content
📝全文字数: 0 字
·
⏱️预计阅读: 1 分钟
·
🏷️企业级 AIoT 架构核心规约

🔄 ZLMediaKit 流媒体集群对接 ​

ZLMediaKit 是一款基于 C++ 开发的高性能开源流媒体服务器,MzMedia 将其作为核心流媒体转码与分发节点。


1. 节点纳管架构 ​

  • 平台支持单机挂载或多流媒体节点集群纳管(通过 wvp_media_server 表管理);
  • 每个流媒体节点配置固定的 HTTP 端口、REST API 访问密钥(Secret)、Hook 回调地址以及动态 RTP 端口接收范围(推荐 30000-30500)。

2. 实时点播推流时序 (INVITE 协商) ​

text
前端播放器          MzMedia 后端           ZLMediaKit           GB28181 摄像机
    │                    │                    │                      │
    │── 1. 点播请求 ────>│                    │                      │
    │                    │── 2. openRtpServer>│                      │
    │                    │<──返回动态端口30002│                      │
    │                    │                                           │
    │                    │── 3. SIP INVITE (携带 ZLM 端口 SDP) ──────>│
    │                    │<── 4. 200 OK (携带摄像机 RTP 发送 SDP) ───│
    │                    │── 5. SIP ACK ────────────────────────────>│
    │                    │                                           │
    │                    │                    │<── 6. 推送 RTP 流 ───│
    │                    │<── 7. Hook 通知 ───│                      │
    │<── 8. 返回播放地址 ─│                    │                      │
    │ (WebRTC/FLV/HLS)   │                    │                      │
    │                    │                    │                      │
    │────────────────────┼── 9. 拉流播放 ────>│                      │

3. Webhook 回调钩子体系 ​

Hook 名称触发时机MzMedia 业务处理逻辑
on_server_startedZLMediaKit 进程启动/重启重置流媒体节点在线状态,同步当前正在推流的任务。
on_publish设备开始向 ZLM 推送音视频流校验流鉴权密钥,若通过则更新推流状态为活跃。
on_play前端播放器开始连接播放记录播放会话,更新在线观看人数。
on_stream_none_reader某个视频流所有客户端均已断开无人观看自动停流机制:超时后自动向摄像机下发 SIP BYE 指令,释放带宽与 RTP 端口。
on_stream_not_found前端请求播放不存在的流触发自动按需拉流或提示流离线。
💬

开发者互动与技术支持

遇到部署、配置或协议对接问题?欢迎通过以下渠道与官方核心团队及社区开发者交流。

🐧
官方 QQ 交流群
技术讨论 · 在线答疑
扫码加入
💬
技术团队企业微信
架构咨询 · 商业授权
添加客服
📢
官方微信公众号
版本发布 · 深度技术干货
关注公众号
🐙
GitHub Issues
Bug 报告 · 功能建议 PR
🦊
Gitee 缺陷与反馈
国内镜像 · 极速工单响应
🗨️ 页面即时评论 (GitHub Discussions)已启用

基于 GNU AGPL-3.0 协议开源