gb28181 网守网关分离+推理服务架构

1、网关网守如何分离

我们定义gb协议中得网守为sip信令服务器,协议转换服务为网关。考虑有时需要内部网守信令服务,因此架构中,网关和网守可以分离, 内部网守和外网上云网关连接为tcp 连接,整体架构则如下所示:

gb28181 网守网关分离+推理服务架构_第1张图片

1、搜索服务、

1 、使用ssdp 协议和 其他组播协议来进行搜索摄像头,
2、 使用onvif协议来补充推算所有设备,
3、 使用snmp协议来搜索其他相关设备,尽可能推知所有设备,并且列出到智能逻辑列表中

2、可视化界面配置服务

gb28181 网守网关分离+推理服务架构_第2张图片
从界面中可以看到,我们的服务分化架构:
1 搜索服务 包含被搜索
2 信令网关
3 存储服务
4 媒体服务器引擎
5 展示播放
6 事件,事件本身和脚本又融合在一起,可以看一下的lua脚本示例,在某一种网络链接,断开的时候,逻辑
可以放置到脚本中,本身事件处理又融合到一个单独的服务中,这样代码比较集中。模式就是所有事件排队到队列中
然后,交给脚本处理。

服务描述

网守服务从服务器中分离出来?,实际上在制作得过程中,网守网关本身就是一个进程,甚至客户端可以放进进程中,这种启动方式作为配置项来启动,可以单独启动网守,或者单独启动网关,或者同时启动网关网守,有两种方式作为启动模式:
1 是在配置界面中设置启动方式,明确定义启动模式,这就要求有一个配置界面,可以在配置界面中选取启动方式
2 启动方式为谁先启动谁就作为网守服务,另外启动ssdp协议作为发现服务,这一点非常重要,所有网守和网关都可以。

1.1 网关服务器

    网关服务器负责进行网络协议转换。在一个网中,网关可以有多个,网守可以将不同得摄像头推流分配到不同得网关,在内网得服务中可以使用mdns协议,mdns 使用组播地址为: 224.0.0.251 ,端口为5353,使用mdns协议得好处是可以同时发现投屏得airplay设备。

1.2 网守服务

    网守服务作为独立进程进行服务时,还有一个功能就是连接外部网关服务器,网守在内网里启动得时候,可以直接连接到外网得网络服务。
    这里有一个问题,如何同时可以让内网得网关和外网得网关同时得到数据?

1.3 推理服务

推理服务就是在服务器中的一个角色,使用的方式为:
1 opencv
opencv加载深度模型,模型放置到目录中,自动搜索目录下的所有模型,具体哪一路流对应哪些模型,有lua脚本来配置,而脚本的生成又有界面来生成。
2 yolo
3 onnx
4 python脚本
直接放置python脚本到目录下面,自动搜索目录下的所有python脚本,具体哪一路对应哪个python脚本,有lua脚本来配置。

1.4 存储服务

存储服务分为两种:
1 服务器智能逻辑面板指定流进行存储
2 事件发生前后自动进行事件的流存储,如存储该事件前后10分钟的视频。

1.5 事件

使用脚本化来制作各类事件发生和处理,本身事件的处理过程和逻辑放置到脚本中,脚本主要使用集中方式:
1 python 脚本
2 lua 脚本
3 c++ 脚本
4 js 脚本

function main (clientId, message)
    -- echo back the message
    _send(clientId, message)
end

-- notify about connects
function on_connect(clientId)
    _sendAll("ClientID " .. clientId .. " just joined the server")
end

-- ... and disconnects
function on_disconnect(clientId)
    _sendAll("ClientID " .. clientId .. " just quit the server")
end

sdp 协议描述

ts流
m=video 8002 RTP/AVP 96
a=rtpmap:96 MP2T/90000

v=0
o=- 20140233 20140238 IN IP4 192.168.2.105 //#1
s=rtp PS stream
i=N/A
c=IN IP4 192.168.2.105 //#2
t=0 0
a=tool:ACME RTSP server
a=recvonly
a=type:broadcast
a=charset:UTF-8
a=framerate:16
m=video 9004 RTP/AVP 96 //#3 ,端口要是偶数
b=RR:0
a=rtpmap:96 MP2P/90000

未完待续。。。。

你可能感兴趣的:(网络,gb28181,网关,脚本,lua)