基于WebRTC的跨网传输系统及方法与流程

文档序号:24444704发布日期:2021-03-27 04:00阅读:316来源:国知局
基于WebRTC的跨网传输系统及方法与流程
基于webrtc的跨网传输系统及方法
技术领域
1.本发明涉及公安行业音视频通信领域,尤其涉及一种基于webrtc的跨网传输系统及方法。


背景技术:

2.随着目前移动互联网技术的快速发展,公安行业对智能化移动终端的应用日趋成熟,传统的数字对讲及模拟对讲等系统虽然在指挥调度工作中仍占有一席之地,但其提供的单一语音信息调度功能与指挥工作对信息的多样性需求已不能相适宜。2010年谷歌开源webrtc后,视频通话技术门槛被大幅降低,使得更多的人愿意参与到这项功能的开发,但随之而来有新的问题出现,对于公安业务处于网络安全考虑,公安信息网和移动警务网分处于两张不同的网络,只有在遵循公安相关规范下,利用网闸安全设备,才能进行网间的数据交换,但现在市面上还没有支持webrtc的网闸设备,使得公安网内pc端与移动警务网间基于webrtc进行音视频通信成为困难。


技术实现要素:

3.本发明的目的在于提供一种基于webrtc的跨网传输系统及方法,旨在用于实现公安网内pc端与移动警务网间基于webrtc进行音视频通信问题。
4.本发明是这样实现的:
5.一方面,本发明提供一种基于webrtc的跨网传输系统,包括布置于公安网内的公安网webrtc服务器、公安网代理服务器、公安网stun/turn服务器,布置于移动警务网内的移动网webrtc服务器、移动网代理服务器、移动网stun/turn服务器,以及布置于公安网和移动警务网之间的数据库网闸服务器和rtsp视频网闸服务器;
6.所述公安网webrtc服务器和所述移动网webrtc服务器用于流管理,以及包含底层的webrtc协议实现,所述移动网webrtc服务器还用于房间管理;
7.所述公安网代理服务器和所述移动网代理服务器用于信令消息转换和媒体协议转换;
8.所述公安网stun/turn服务器和所述移动网stun/turn服务器用于ice实现内网穿透功能;
9.所述数据库网闸服务器,用于对公安网到移动警务网的摆渡数据表和移动警务网到公安网的摆渡数据表进行单向同步,实现消息的跨网传输;
10.所述rtsp视频网闸服务器,用于将移动警务网中遵守rtsp协议的媒体流摆渡至公安网。
11.进一步地,所述公安网webrtc服务器包括streaming管理模块以及webrtc协议层;所述移动网webrtc服务器包括room管理模块、streaming管理模块以及webrtc协议层;
12.所述room管理模块用于管理各个通话节点的视频流,将各个音视频流转发给其它混流模块;
13.所述streaming管理模块用于从代理模块接收视频流并进行分发,支持各个终端订阅该音视频流;
14.所述webrtc协议层用于包含底层的webrtc协议实现;
15.在移动警务网,room管理模块收到来自终端用户的加入房间请求,并且根据每个用户需加入的房间号,将用户加入同一个房间,如果没有房间则进行创建;room管理模块接收来自各个参与者发布的音视频流,同时通知房间内的其它参与者订阅该视频流;streaming管理模块在房间内有音视频流发布的时候,会拉取该音视频流,并将其转发给移动网代理服务器,等待视频网闸服务器拉取该视频流;当有用户离开房间时,room管理模块通知其它参与者,并同时告知streaming管理模块,streaming管理模块通知移动网代理服务器关闭该音视频流;在公安网,streaming管理模块收到来自客户端用户的流订阅请求,根据请求中的用户标识,通知公安网代理服务器,由公安网代理服务器向rtsp视频网闸服务器拉取音视频流,并将音视频流推送至streaming管理模块,供客户端订阅。
16.进一步地,所述公安网代理服务器和所述移动网代理服务器均包括信令消息转换模块、流媒体转换模块、rtsp服务端模块;
17.所述公安网代理服务器的信令消息转换模块,用于将公安网内需要跨网的http请求写至数据库网闸服务器的相应数据表中,通过数据表摆渡至移动警务网,同时对数据库网闸服务器中的数据表进行监听,获取消息并转义为http应答,发送至公安网webrtc服务器;
18.所述移动网代理服务器的信令消息转换模块,用于将移动警务网内需要跨网的http应答,写至数据库网闸服务器的相应数据表中,通过数据表摆渡至公安网,同时对数据库网闸服务器中的数据表进行监听,获取消息并转义为http请求,发送至移动警务网内参与会话的各个终端;
19.所述移动网代理服务器的流媒体转换模块,用于从room管理模块中接收视频,并转换为rtsp视频流,发布至rtsp服务端模块,供rtsp视频网闸服务器订阅该视频流;
20.所述公安网代理服务器的流媒体转换模块,用于从rtsp视频网闸服务器订阅视频流,将获取的视频流转换为rtp媒体流,推送至公安网webrtc服务器的streaming管理模块当中;
21.所述移动网代理服务器的rtsp服务端模块,用于接收来自流媒体转换模块的rtsp媒体流,供其他服务器或客户端进行订阅。
22.另一方面,本发明还提供一种基于webrtc的跨网传输方法,应用于如上任一所述的系统,该方法包括以下步骤:
23.公安网代理服务器接收来自客户端的会话请求,将会话请求转换为数据库消息,写入数据库网闸服务器中公安网到移动警务网的摆渡数据表g2m中;
24.移动网代理服务器对数据库表g2m进行监听,当有新的会话请求到来时,调用移动网webrtc服务器接口,创建房间,获取房间id,将会话请求和房间号分发至移动网内参与会话的各个终端,创建会话应答消息,应答消息中包含房间id,将应答消息写入数据库网闸服务器中移动警务网到公安网的摆渡数据表m2g中;
25.移动网webrtc服务器接收终端加入房间的请求并处理,执行ice操作,ice交互成功之后,开始接收来自终端的音视频流数据,将音视频流推送至rtsp视频网闸服务器;
26.移动网代理服务器对移动网webrtc服务器上对应房间媒体流情况进行监听,当有新的媒体流加入房间,从移动网webrtc服务器拉取到媒体流后,将媒体流转换为rtsp格式,推送至rtsp视频网闸服务器;
27.公安网代理服务器对数据表m2g进行监听,收到会话请求的应答消息后,向rtsp视频网闸服务器拉取对应的rtsp媒体流,将rtsp媒体流进行转换,并推送至公安网webrtc服务器,供公安网内的客户端进行订阅;
28.公安网webrtc服务器接收终端的媒体订阅请求,将媒体流推送至对应客户端。
29.进一步地,所述移动网webrtc服务器的运行流程如下:
30.接收终端的房间加入请求;
31.判断该房间是否存在,若不存在,则流程结束;若存在,则加入该房间;
32.执行ice操作,包括收集候选地址、交换sdp、stun连接检查、双方地址选择建立媒体通道、心跳检测;若ice交互成功,则进入后续步骤;若失败,流程结束;
33.ice交互成功之后,开始接收来自终端的音视频流数据;
34.通知房间内其它成员,该音视频流已发布,可对该路音视频流进行订阅;
35.将视音频流推送至rtsp视频网闸服务器,结束流程。
36.进一步地,所述公安网代理服务器的运行流程如下:
37.接收来自客户端的会话请求,请求中携带会话参与终端的id;
38.将会话请求转换为数据库消息,写入数据库网闸服务器中公安网到移动警务网的摆渡数据表g2m中;
39.开启对数据库网闸服务器中移动警务网到公安网的摆渡数据表m2g的监听,监听是否有会话请求的应答消息,如果有应答消息,进入后续步骤;如果没有,则继续监听;
40.收到会话应答消息后,向rtsp网关服务器拉取对应的rtsp媒体流;
41.拉取到rtsp媒体流后,将rtsp媒体流进行转换,并推送至公安网webrtc服务器,供公安网内的客户端进行订阅。
42.进一步地,所述移动网代理服务器的运行流程如下:
43.对公安网到移动警务网的摆渡数据库表g2m进行监听,等待会话请求。
44.判断是否有新的会话请求到来,如果有,则进入后续步骤,否则继续监听;
45.调用webrtc服务器接口,创建房间,获取房间id;
46.将会话请求和房间号分发至移动网内参与会话的各个终端;
47.创建会话应答消息,应该消息中包含房间id,将应答消息写入移动警务网到公安网的摆渡数据库表m2g中;
48.开启对webrtc服务器上该房间媒体流情况的监听,看是否有新的媒体流加入房间;
49.判断房间中是否有新的媒体流加入,如果有,进入后续步骤;若没有,则继续监听。
50.从webrtc服务器订阅新进入的媒体流;
51.从webrtc服务器拉取到媒体流后,将媒体流转换为rtsp格式,推送至rtsp服务端模块。
52.进一步地,所述公安网webrtc服务器的运行流程如下:
53.接收客户端的媒体订阅请求;
54.判断该媒体流是否存在,若不存在,则流程结束;若存在,则执行后续步骤;
55.将媒体流推送至对应客户端,结束流程。
56.与现有技术相比,本发明具有以下有益效果:
57.本发明提供的这种基于webrtc的跨网传输系统及方法,提供了一种公安网内pc端与移动警务网间基于webrtc进行音视频通信的解决方案,由于公安网内的音视频不能流出,通过在公安网pc旁放置一公安网代理服务器,通过该公安网代理服务器采集公安网pc端用户的音视频,将音视频发布至移动警务网中的其他用户,这样移动警务网中的用户,通过该系统可以将音视频发布至公安网,公安网内的用户通过订阅公安网内webrtc服务器上的音视频,观看移动警务网中终端所录制内容。公安网中的用户,通过pc端旁的移动终端,将音视频发布至移动警务网中的webrtc服务器上,只要移动警务网用户加入房间,即可接收公安网内用户发的音视频,如此,实现了公安网和移动网间的webrtc音视频通话;stun/turn服务器可以支持集群部署,当用户量过大时候支持横向拓展系统的并发能力。本发明相较于传统的同一网内的webrtc传输系统,在满足网络安全规范的情况下,借助于网闸安全设备,实现跨网传输,使得该系统适用更多的通话场景。
附图说明
58.图1是本发明实施例提供的一种基于webrtc的跨网传输系统的网络拓扑图;
59.图2是本实施例提供的一种基于webrtc的跨网传输系统结构框图;
60.图3是本发明实施例提供的一种基于webrtc的跨网传输方法中公安网webrtc服务器的运行流程图;
61.图4是本发明实施例提供的一种基于webrtc的跨网传输方法中移动网webrtc服务器的运行流程图;
62.图5是本发明实施例提供的一种基于webrtc的跨网传输方法中公安网代理服务器的流程图;
63.图6是本发明实施例提供的一种基于webrtc的跨网传输方法中移动网代理服务器的流程图。
具体实施方式
64.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
65.如图1和图2所示,本发明实施例提供一种基于webrtc的跨网传输系统,包括布置于公安网内的公安网webrtc服务器201、公安网代理服务器204、公安网stun/turn服务器208,布置于移动警务网内的移动网webrtc服务器213、移动网代理服务器214、移动网stun/turn服务器215,以及布置于公安网和移动警务网之间的数据库网闸服务器209和rtsp视频网闸服务器212;
66.所述公安网webrtc服务器201和所述移动网webrtc服务器213用于流管理,以及包含底层的webrtc协议实现,所述移动网webrtc服务器213还用于房间管理;
67.所述公安网代理服务器204和所述移动网代理服务器214用于信令消息转换和媒体协议转换,具体将http信令消息写至数据库表,或者将数据表中的消息转义为http消息,发送至相应服务器或客户端,起到信令代理服务器的作用,同时也支持对rtsp和webrtc两种流媒体协议进行相互转换,起到媒体代理服务器的作用;
68.所述公安网stun/turn服务器208和所述移动网stun/turn服务器215基于coturn开源服务器搭建,用于ice实现内网穿透功能;
69.所述数据库网闸服务器209用于对公安网到移动警务网的摆渡数据表和移动警务网到公安网的摆渡数据表进行单向同步,实现消息的跨网传输;
70.所述rtsp视频网闸服务器212用于将移动警务网中遵守rtsp协议的媒体流摆渡至公安网。
71.具体地,所述公安网webrtc服务器201包括streaming管理模块203以及webrtc协议层;所述移动网webrtc服务器213包括room管理模块202、streaming管理模块203以及webrtc协议层;
72.所述room管理模块202用于通话房间的管理,具体用于管理各个通话节点的视频流,房间内的参与者可以订阅和发布视频流,同时room管理模块202可以将各个音视频流转发给其它混流模块;
73.所述streaming管理模块203用于流的管理,支持流的发布和订阅,具体用于从代理模块接收视频流并进行分发,支持各个终端订阅该音视频流。
74.所述webrtc协议层用于包含底层的webrtc协议实现,实现了webrtc底层协议的封装,包含但不限于rtp/srtp以及ice的实现等。
75.具体可以为:在移动警务网,room管理模块202收到来自终端用户的加入房间请求,并且根据每个用户需加入的房间号,将用户加入同一个房间,如果没有房间则进行创建;room管理模块接202收来自各个参与者发布的音视频流,同时通知房间内的其它参与者订阅该视频流;streaming管理模块203在房间内有音视频流发布的时候,会拉取该音视频流,并将其转发给移动网代理服务器214,等待视频网闸服务器拉取该视频流;当有用户离开房间时,room管理模块202通知其它参与者,并同时告知streaming管理模块203,streaming管理模块203通知移动网代理服务器214关闭该音视频流。在公安网,streaming管理模块203收到来自客户端用户的流订阅请求,根据请求中的用户标识,通知公安网代理服务器204,由公安网代理服务器204向rtsp视频网闸服务器212拉取音视频流,并将音视频流推送至streaming管理模块203,供客户端订阅。
76.进一步地,所述公安网代理服务器204和所述移动网代理服务器214均包括信令消息转换模块205、流媒体转换模块206、rtsp服务端模块207;
77.所述公安网代理服务器204的信令消息转换模块205,用于将公安网内需要跨网的http请求写至数据库网闸服务器209的相应数据表中,通过数据表摆渡至移动警务网,同时对数据库网闸服务器209中的数据表进行监听,获取消息并转义为http应答,发送至公安网webrtc服务器201;
78.所述移动网代理服务器214的信令消息转换模块205,用于将移动警务网内需要跨网的http应答,写至数据库网闸服务器209的相应数据表中,通过数据表摆渡至公安网,同时对数据库网闸服务器209中的数据表进行监听,获取消息并转义为http请求,发送至移动
警务网内参与会话的各个终端;
79.所述移动网代理服务器214的流媒体转换模块206,用于从room管理模块202中接收视频,并转换为rtsp视频流,发布至rtsp服务端模块207,供rtsp视频网闸服务器209订阅该视频流;
80.所述公安网代理服务器204的流媒体转换模块206,用于从rtsp视频网闸服务器212订阅视频流,将获取的视频流转换为rtp媒体流,推送至公安网webrtc服务器201的streaming管理模块203当中;
81.所述移动网代理服务器214的rtsp服务端模块207,用于接收来自流媒体转换模块的rtsp媒体流,供其他服务器或客户端进行订阅。
82.本发明实施例还提供一种基于webrtc的跨网传输方法,应用上述的基于webrtc的跨网传输系统,该方法包括以下步骤:
83.公安网代理服务器接收来自客户端的会话请求,将会话请求转换为数据库消息,写入数据库网闸服务器中公安网到移动警务网的摆渡数据表g2m中;
84.移动网代理服务器对数据库表g2m进行监听,当有新的会话请求到来时,调用移动网webrtc服务器接口,创建房间,获取房间id,将会话请求和房间号分发至移动网内参与会话的各个终端,创建会话应答消息,应答消息中包含房间id,将应答消息写入数据库网闸服务器中移动警务网到公安网的摆渡数据表m2g中;
85.移动网webrtc服务器接收终端加入房间的请求并处理,执行ice操作,ice交互成功之后,开始接收来自终端的音视频流数据,将音视频流推送至rtsp视频网闸服务器;
86.移动网代理服务器对移动网webrtc服务器上对应房间媒体流情况进行监听,当有新的媒体流加入房间,从移动网webrtc服务器拉取到媒体流后,将媒体流转换为rtsp格式,推送至rtsp视频网闸服务器;
87.公安网代理服务器对数据表m2g进行监听,收到会话请求的应答消息后,向rtsp视频网闸服务器拉取对应的rtsp媒体流,将rtsp媒体流进行转换,并推送至公安网webrtc服务器,供公安网内的客户端进行订阅;
88.公安网webrtc服务器接收终端的媒体订阅请求,将媒体流推送至对应客户端。
89.下面对各服务器的运行流程进行详细介绍。
90.参照图3,所述公安网webrtc服务器的运行流程如下:
91.步骤301,接收客户端的媒体订阅请求。
92.步骤302,判断该媒体流是否存在,若不存在,则执行步骤304,则流程结束;若存在,则执行步骤303。
93.步骤303,将媒体流推送至对应客户端,结束流程。
94.参照图4,所述移动网webrtc服务器的运行流程如下:
95.步骤401,接收终端的房间加入请求;
96.步骤402,判断该房间是否存在,若不存在,则执行步骤406,流程结束;若存在,则执行步骤403。
97.步骤403,加入该房间,进入步骤404。
98.步骤404,执行ice操作,包括收集候选地址、交换sdp、stun连接检查、双方地址选择建立媒体通道、心跳检测等操作。若ice交互成功,则进入步骤408;若失败,则进入步骤
407,流程结束。
99.步骤408,ice交互成功之后,开始接收来自终端的音视频流数据。并进入步骤409
100.步骤409,通知房间内其它成员,该视频流已发布,可对该路视频流进行订阅。并进入步骤410
101.步骤410,将视音频流推送至rtsp视频网闸服务器,结束流程。
102.参照图5,所述公安网代理服务器的运行流程如下:
103.步骤501,接收来自客户端的会话请求,请求中携带会话参与终端的id。进入步骤502。
104.步骤502,将会话请求转换为数据库消息,写入数据库网闸服务器中公安网到移动警务网的摆渡数据表g2m中,进入步骤503。
105.步骤503,开启对数据库网闸服务器中移动警务网到公安网的摆渡数据表m2g的监听,监听是否有会话请求的应答消息。如果有应答消息,进入步骤504;如果没有,则进入步骤503,继续监听。
106.步骤504,收到会话应答消息后,向rtsp网关服务器拉取对应的rtsp媒体流。然后进入步骤505。
107.步骤506,拉取到rtsp媒体流后,将rtsp媒体流进行转换,并推送至公安网webrtc服务器,供公安网内的客户端进行订阅。
108.参照图6,所述移动网代理服务器的运行流程如下:
109.步骤601,对公安网到移动警务网的摆渡数据库表g2m进行监听,等待会话请求,并进入步骤602。
110.步骤602,判断是否有新的会话请求到来。如果有,则进入步骤603,否则进入步骤601。
111.步骤603,调用webrtc服务器接口,创建房间,获取房间id,进入步骤604。
112.步骤604,将会话请求和房间号分发至移动网内参与会话的各个终端,进入步骤605。
113.步骤605,创建会话应答消息,应该消息中包涵房间id,将应答消息写入移动网到公安网的摆渡数据库表m2g中。然后进入步骤606。
114.步骤606,开启对webrtc服务器上该房间媒体流情况的监听,看是否有新的媒体流加入房间。然后进入步骤607。
115.步骤607,判断房间中是否有新的媒体流加入。如果有,进入步骤608;若没有,进入步骤606,继续监听。
116.步骤608,从webrtc服务器订阅新进入的媒体流,并进入步骤609。
117.步骤609,从webrtc服务器拉取到媒体流后,将媒体流转换为rtsp格式,推送至rtsp服务端模块。
118.综上所述,本发明提供的这种基于webrtc的跨网传输系统及方法,提供了一种公安网内pc端与移动警务网间基于webrtc进行音视频通信的解决方案,由于公安网内的音视频不能流出,通过在公安网pc旁放置一公安网代理服务器,通过该公安网代理服务器采集公安网pc端用户的音视频,将音视频发布至移动警务网中的其他用户,这样移动警务网中的用户,通过该系统可以将音视频发布至公安网,公安网内的用户通过订阅公安网内
webrtc服务器上的音视频,观看移动警务网中终端所录制内容。公安网中的用户,通过pc端旁的移动终端,将音视频发布至移动警务网中的webrtc服务器上,只要移动警务网用户加入房间,即可接收公安网内用户发的音视频,如此,实现了公安网和移动网间的webrtc音视频通话;stun/turn服务器可以支持集群部署,当用户量过大时候支持横向拓展系统的并发能力。本发明相较于传统的同一网内的webrtc传输系统,在满足网络安全规范的情况下,借助于网闸安全设备,实现跨网传输,使得该系统适用更多的通话场景。
119.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1