CN114710461B - 多端音视频即时通讯方法及系统 - Google Patents
多端音视频即时通讯方法及系统 Download PDFInfo
- Publication number
- CN114710461B CN114710461B CN202210343049.1A CN202210343049A CN114710461B CN 114710461 B CN114710461 B CN 114710461B CN 202210343049 A CN202210343049 A CN 202210343049A CN 114710461 B CN114710461 B CN 114710461B
- Authority
- CN
- China
- Prior art keywords
- terminal
- audio
- terminals
- room
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 70
- 230000011664 signaling Effects 0.000 claims abstract description 46
- 230000004931 aggregating effect Effects 0.000 claims abstract description 4
- 238000012423 maintenance Methods 0.000 claims description 43
- 238000012216 screening Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 16
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000005441 aurora Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/155—Conference systems involving storage of or access to video conference sessions
Abstract
本发明涉及通信技术领域,具体为一种多端音视频即时通讯方法及系统,其中系统包括服务器和终端;服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信;还用于将进行实时通信的多个终端聚集,并创建房间进行统一管理,当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;终端,用于向服务器发送建立连接请求;还用于接收其他终端的socket Id,并向其他终端发送offer,请求建立连接;接收其他终端发送的offer,并回复answer与其他终端建立连接;各终端之间,服务器和终端之间均通过信令进行交互。本方案能有效保证通讯的质量,降低成本。
Description
技术领域
本发明涉及通信技术领域,具体为一种多端音视频即时通讯方法及系统。
背景技术
视频会议系统是网络、通信和多媒体等多种技术综合的应用。在对实时信息需求日益强烈的现在,视频会议以其直观、真实、跨地域、低成本的交流特点,受到了人们越来越多的重视,被广泛用于各种组织活动的各个领域,如远程教育、远程谈判、远程医疗、远程诊断、远程调度等。
传统的视频会议系统主要有两种技术:基于H.323视频会议系统和基于SIP的视频会议系统,其中基于H.323视频会议系统目前已经比较成熟,大多数采用基于专线的MCU组网方式,有较好的硬件环境支持,其核心音视频处理技术为私有技术,其缺点是技术的更新不及时、价格昂贵、不能满足个性化的定制,而且其体系结构复杂,不利于推广普及。
传统的视频会议系统都是基于硬件的技术实现,成本非常高,一台设备最基础都需要投入数百万,每一个点又要投入10万元,并且传统视频会议系统,需要跑在专线上才能保证通讯的质量,而一条专线每年要几万元的成本。
发明内容
本发明的目的之一在于提供一种多端音视频即时通讯方法及系统,能有效保证通讯的质量,降低成本。
本发明提供的基础方案一:多端音视频即时通讯系统,包括服务器和终端;
所述服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信;还用于将进行实时通信的多个终端聚集,并创建房间进行统一管理,当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;
所述终端,用于向服务器发送建立连接请求;还用于接收其他终端的socket Id,并向其他终端发送offer,请求建立连接;还用于接收其他终端发送的offer,并回复answer与其他终端建立连接;
所述各终端之间,服务器和终端之间均通过信令进行交互。
基础方案一的有益效果:用户使用终端进行音视频即时通讯,先由终端向服务器发送建立连接请求,服务器接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器和终端之间就可以直接交换数据,并且该双向通道会持续保持连接,服务器的最新数据能够实时推送给终端,服务器与终端进行实时通信,当多个终端均与服务器连接时,终端之间通过服务器进行实时通,并且相较于轮询(Polling)和Comet两种实时网页技术,WebSocket能降低延迟性,是建立的连续的双向通道进行通讯,能有效保证通讯的质量,进行通讯时,服务器和终端交换的标头信息小,可以节省带宽。
且服务器会将进行实时通信的多个终端聚集,并创建房间进行统一管理,即多个终端进行视频会议,当有新终端加入房间时,则向房间内其他终端发送新终端的socketId,其他终端接收新终端的socket Id,并向新终端发送offer,请求建立连接;新终端接收其他终端发送的offer,并回复answer与其他终端建立连接,从而进入房间,整个建立连接的过程方便快捷,并且不会影响原本在房间中其他终端,又能与其他终端均建立连接,各终端之间,服务器和终端之间均通过信令能灵活的进行交互,能有效保证通讯质量。
本系统的服务器可租用云服务器,终端使用电脑的浏览器和手机的APP,主流浏览器内核支持WebRTC技术,因此不需要安装插件,本系统基本不需要额外的硬件成本,有利于普及。
进一步,所述服务器,包括:WebSocket服务器、房间服务器和信令服务器;
所述WebSocket服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,WebSocket服务器与终端进行实时通信,将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接;
所述房间服务器,用于将进行实时通信的多个终端聚集,并创建房间进行统一管理;
所述信令服务器,用于进行信令交换;
所述信令包括:终端信令和服务器信令;
终端信令,包括:join:用户加入房间;
leave:用户离开房间;
message:终端到终端命令,包括:offer、answer和candidate;
服务器信令,包括:joined:用户已加入;
leaved:用户已离开;
other_joined:其他用户已加入;
bye:其他用户已离开;
full:房间已满。
有益效果:WebSocket服务器建立与终端进行实时通信,从而实现终端间的端对端连接,房间服务器用于多个终端进行视频会议,信令服务器通过以上几条信令就可以实现一对一实时互动的要求。
进一步,所述服务器还包括:STUN服务器和TURN服务器;
所述STUN服务器,用于寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;
所述TURN服务器,用于在STUN服务器寻找公网IP失败后,提供公网IP地址作为中继地址转发音视频数据。
有益效果:STUN服务器,用于寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据,但是音视频数据不经过STUN服务器,因此STUN服务器的数据流量很小,免费的服务器很多,可以进一步降低成本但是STUN服务器不能保证所有情况下都能建立WebRTC连接,因此设置TURN服务器在STUN服务器寻找公网IP失败后,提供公网IP地址作为中继地址转发音视频数据,TURN服务器作为中继能直接转发音视频数据,当终端网络情况特殊,无法相互发送数据时,经过TURN服务器进行转发,并且TURN服务器部署好以后,能避免因为NAT和防火墙的原因导致终端之间无法通信的问题。
进一步,所述终端包括:PC终端;
所述PC终端,包括:用户管理模块、通讯录管理模块和第一会议室管理模块;
所述用户管理模块,用于管理系统中的用户,对用户按所属单位、部门、角色或关键字进行筛选,以及新建和修改用户信息;
所述通讯录管理模块,用于管理用户的通讯录,对通信录按所属单位、部门、角色或关键字进行筛选,选择指定用户或者全部用户进行视频通话;
所述第一会议室管理模块,用于管理会议室的房间进行管理,选择用户发起通话,关闭会议室的通话,控制用户音频打开和关闭。
有益效果:PC终端可以对用户进行管理,并根据所属单位、部门、角色或关键字进行筛选,便于用户在进行视频会议时,对视频会议进程进行把控。
进一步,所述终端,还包括:APP终端;
所述APP终端,包括:推送管理模块和第二会议室管理模块;
所述推送管理模块,用于接收WebSocket服务器发送的推送信息,对比socketId,筛选出会议室的房间邀请信息,获取会议室的房间邀请信息中包含的房间号信息,确认接受邀请后,进入会议室的房间;
所述第二会议室管理模块,用于管理会议室的房间进行管理,关闭会议室的通话,控制用户音频打开和关闭。
有益效果:APP终端是指手机、平板等电子设备中安装APP,以进行音视频通讯,APP终端中也可以对会议进行管理,并且推送管理模块会获取会议室的房间邀请信息中包含的房间号信息,以便于APP终端接收到多个推送信息时,能选择需要的推送信息进行确认接受邀请,以进入正确的会议室的房间。
本发明的目的之二在于提供一种多端音视频即时通讯方法,能有效保证通讯的质量,降低成本。
本发明提供基础方案二:多端音视频即时通讯方法,包括如下内容:
S1、终端发送建立连接请求;
S2、服务器接收建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信,且将进行实时通信的多个终端聚集,并创建房间进行统一管理;
S3、当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;
S4、接收新终端的socket Id,并向其他终端发送offer,请求建立连接;
S5、接收其他终端发送的offer,并回复answer与其他终端建立连接,各终端之间,服务器和终端之间均通过信令进行交互。
基础方案二的有益效果:用户使用终端进行音视频即时通讯,先由终端发送建立连接请求,服务器接收发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器和终端之间就可以直接交换数据,并且该双向通道会持续保持连接,服务器的最新数据能够实时推送给终端,服务器与终端进行实时通信,当多个终端均与服务器连接时,终端之间通过服务器进行实时通,并且相较于轮询(Polling)和Comet两种实时网页技术,WebSocket能降低延迟性,是建立的连续的双向通道进行通讯,能有效保证通讯的质量,进行通讯时,服务器和终端交换的标头信息小,可以节省带宽。
且服务器会将进行实时通信的多个终端聚集,并创建房间进行统一管理,即多个终端进行视频会议,当有新终端加入房间时,则向房间内其他终端发送新终端的socketId,其他终端接收新终端的socket Id,并向新终端发送offer,请求建立连接;新终端接收其他终端发送的offer,并回复answer与其他终端建立连接,从而进入房间,整个建立连接的过程方便快捷,并且不会影响原本在房间中其他终端,又能与其他终端均建立连接,各终端之间,服务器和终端之间均通过信令能灵活的进行交互,能有效保证通讯质量。
本方法实现时,服务器可租用云服务器,终端使用电脑的浏览器和手机的APP,主流浏览器内核支持WebRTC技术,因此不需要安装插件,本方法基本不需要额外的硬件成本,有利于普及。
进一步,所述S2还包括:
服务器将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接;
所述S5还包括:
终端未进入房间处于Init/Leave状态,终端向服务器发送join消息,并接收到服务器发送的joined消息后,状态转换为joined;
若其他终端新加入房间,则终端接收服务器发送的other_join消息,将状态由joined转换为joined_conn,新加入房间的其他终端的状态为joined,终端和新加入房间的其他终端进行实时交互;
若终端离开房间,则向其他终端发送bye消息,其他终端接收到bye消息,将状态转换为joined_unbind。
有益效果:服务器与终端,以及终端之间通过信令可以灵活的进行交互。
进一步,所述建立终端间的端对端连接,包括:
寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;
若寻找公网IP失败,则提供公网IP地址作为中继地址转发音视频数据。
有益效果:寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据,不能保证所有情况下都能寻找到终端的公网IP,因此若寻找公网IP失败,则提供公网IP地址作为中继地址转发音视频数据,保证终端间的端对端连接的建立,并且能避免因为NAT和防火墙的原因导致终端之间无法通信的问题。
附图说明
图1为本发明多端音视频即时通讯系统实施例一的逻辑框图;
图2为本发明多端音视频即时通讯方法实施例三的流程图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
实施例基本如附图1所示:多端音视频即时通讯系统,包括服务器和终端;
所述服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器和终端之间就可以直接交换数据,并且该双向通道会持续保持连接,服务器的最新数据能够实时推送给终端,服务器与终端进行实时通信,相较于轮询(Polling)和Comet两种实时网页技术,WebSocket能降低延迟性,是建立的连续的双向通道进行通讯,能有效保证通讯的质量,进行通讯时,服务器和终端交换的标头信息小,可以节省带宽;还用于将进行实时通信的多个终端聚集,并创建房间进行统一管理,当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;本实施例中服务器采用云服务,并使用Node.js在服务器中进行WebSocket一般应用的开源系统的实现,为开发人员提供技术接口,简化编程工作量,且选择其中的Socket.io模块,该模块具有跨平台特性,可以屏蔽系统底层的数据传输机制。
服务器,包括:WebSocket服务器、房间服务器、信令服务器、STUN服务器和TURN服务器;
WebSocket服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,WebSocket服务器与终端进行实时通信,将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接;
房间服务器,用于将进行实时通信的多个终端聚集,并创建房间进行统一管理;
信令服务器,用于进行信令交换;如媒体描述信息SDP的交换,连接地址的交换等,本实施例中使用Node js下的socket.io来实现信令服务器,socket.io由于有房间的概念所以用它开发信令服务器非常方便;并且本实施例中使用Mesh网格,每个终端都与其他终端单独建立连接。终端之间建立连接完全是通过PeerConnection对象,那么只要终端有多个PeerConnection对象,它就可以同时跟多个终端连接,虽然PeerConnection有多个,但是终端跟信令服务器仍然是一个socket连接,因此终端在发送信令时,需要制定发送给哪个其他终端,收到信令时也要判断该信令来至哪个终端,所以在所有信令中添加两个字段from和to,代表信令发送方和接收方,每个socket连接都有唯一socket Id,可以用socketId来标识一个终端。
所述信令包括:终端信令和服务器信令;
终端信令,包括:join:用户加入房间;
leave:用户离开房间;
message:终端到终端命令,具体包括:offer、answer和candidate;
服务器信令,包括:joined:用户已加入;
leaved:用户已离开;
other_joined:其他用户已加入;
bye:其他用户已离开;
full:房间已满。
通过以上几条信令就可以实现终端间一对一实时互动的要求,收到不同信令后,终端的状态变化如下:
终端未进入房间处于Init/Leave状态,终端向服务器发送join消息,并接收到服务器发送的joined消息后,状态转换为joined;
若其他终端新加入房间,则终端接收服务器发送的other_join消息,将状态由joined转换为joined_conn,新加入房间的其他终端的状态为joined,终端和新加入房间的其他终端进行实时交互;
若终端离开房间,则向其他终端发送bye消息,其他终端接收到bye消息,将状态转换为joined_unbind。
STUN服务器,用于寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;STUN是NAT的会话遍历实体(Session Traversal Utilities for NAT)的缩写,音视频数据不经过STUN服务器,因此STUN服务器的数据流量很小,免费的服务器很多,可以进一步降低成本但是STUN服务器不能保证所有情况下都能建立WebRTC连接,因此还需部署TURN服务器。
TURN服务器,用于在STUN服务器寻找公网IP失败后,提供公网IP地址作为中继地址转发音视频数据,TURN服务器作为中继能直接转发音视频数据,当终端网络情况特殊,无法相互发送数据时,经过TURN服务器进行转发,并且TURN服务器部署好以后,能避免因为NAT和防火墙的原因导致终端之间无法通信的问题,本实施例中使用conturn来搭建TURN服务器。
终端,用于向服务器发送建立连接请求;还用于接收其他终端的socket Id,并向其他终端发送offer,请求建立连接;接收其他终端发送的offer,并回复answer与其他终端建立连接。
各终端之间,服务器和终端之间均通过信令进行交互。
终端包括:PC终端和APP终端;
PC终端,包括:用户管理模块、通讯录管理模块和第一会议室管理模块;
用户管理模块,用于管理系统中的用户,对用户按所属单位、部门、角色或关键字进行筛选,以及新建和修改用户信息;
通讯录管理模块,用于管理用户的通讯录,对通信录按所属单位、部门、角色或关键字进行筛选,选择指定用户或者全部用户进行视频通话;具体为:用户输入筛选条件,即对所属单位、部门、角色或关键字,然后进行筛选,用户在筛选的结果中选择用户进行视频通话,WebSocket服务器发送的推送信息给对应的app终端;
第一会议室管理模块,用于管理会议室的房间进行管理,选择用户发起通话,关闭会议室的通话,控制用户音频打开和关闭,其中选择用户发起通话为用户进行视频会议时还可邀请新用户加入;
APP终端,包括:推送管理模块和第二会议室管理模块;APP终端是指手机、平板等电子设备中安装APP,以进行音视频通讯。
推送管理模块,用于接收WebSocket服务器发送的推送信息,对比socket Id,筛选出会议室的房间邀请信息,获取会议室的房间邀请信息中包含的房间号信息,确认接受邀请后,进入会议室的房间;本实施例中推送视频通话邀请使用第三方的Jpush(极光推送)实现;
第二会议室管理模块,用于管理会议室的房间进行管理,关闭会议室的通话,控制用户音频打开和关闭。
实施例二
本实施例与实施例一基本相同,区别在于:
服务器,还包括身份标签管理模块、权限管理模块、检测模块、判断模块、存储模块、内容标签管理模块、识别模块、字幕生成模块和指导文档生成模块;
所述身份标签管理模块,用于对用户添加身份标签;其中身份标签包括:指挥人员、运维人员和指导专家,且一个用户可添加多个身份标签;
权限管理模块,用于设置用户权限值;
检测模块,用于检测当前房间中发言用户的身份标签;
判断模块,用于判断发言用户的身份标签信息是否为指导专家,若是,则启动发言用户的终端的录制模块和运维人员的终端的录制模块;
存储模块,用于按预设存储格式对音视频数据进行存储;本实施例中预设存储格式限定了音视频信息的文件名:包括录制时间和会议信息;从而记录指导专家的指导音视频信息,便于后续使用,且不记录其他无关用户的音视频信息,减少内存占用,节约系统资源;
内容标签管理模块,用于对存储模块中存储的音视频数据进行内容标签管理;其中管理包括:添加内容标签,删除内容标签和修改内容标签;还用于对音视频数据设置音视频数据权限值;其中内容标签的输入通过终端的输入模块进行输入;
识别模块,用于终端之间在房间中进行音视频通话时,识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送;其中对应的音视频数据是指内容标签包含预设关键字的音视频数据;
检测模块,还用于检测房间中各用户的身份标签;
判断模块,还用于判断房间中各用户是都存在身份标签为指导专家的用户,若否,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;还用于检测预设时间段后房间中各用户的身份标签,若预设时间段后房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;其中预设时间段可以根据会议信息设置,即根据实际需求设置,预设时间段设置足够长,则会议全程不需要检测各用户的身份标签,特别是针对一些不需要指导专家的会议,从而减少内存使用;其中调取与会议信息相关的音视频数据,具体为:在会议信息中提取与所有音视频数据的内容标签的相同信息;再调取内容标签包含相同信息的音视频数据;
字幕生成模块,用于对存储模块中存储的音视频数据自动生成字幕;
指导文档生成模块,用于提取字幕,生成指导文档。
终端,还包括:录制模块、输入模块、播出模块;无论是PC终端还是APP终端,均包括上述模块;房间中每个终端为一个用户;
录制模块,用于录制音视频数据,并发送给存储模块进行存储;
输入模块,用于输入会议信息;其中会议信息包括:会议主题、会议类别和会议概要,输入模块输入会议信息在终端向服务器发送建立连接请求前;
播出模块,用于接收音视频数据选择信号,并播放音视频数据;还用于判断用户的用户权限值是否大于等于音视频数据权限值,若是,则播放音视频数据;若否,则提示用户没有权限查看;从而可以对音视频数据进行安全分级,用户权限值低于音视频权限值的用户不能查看音视频数据,对于一些涉及核心技术或机密的音视频数据,不能让任意运维人员查看,防止核心技术或机密被泄露。
多端音视频即时通讯系统常用在指挥城市的运维管理中,赋予用户身份标签,从而在一次音视频通讯的会议中能明确用户身份,不同的会议可以重新设置不同的身份标签,而根据身份标签,当指导专家进行发言时进行录音录屏,同时运维人员的终端也进行录制,从而记录指导专家的指导内容,同时也记录运维人员在指导专家的指导下进行运维的过程,完成一个完整的运维过程的记录,生成音视频数据,对音视频数据进行存储,用户可以通过终端的播出模块查看存储模块中的音视频数据,也可以将音视频数据和指导文档作为教学素材使用,有利于运维人员和指导专家的培训。
用户进行音视频通讯时,识别模块识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送给指导专家和运维人员的终端,指导专家和运维人员可选择音视频数据,播出模块接收到音视频数据选择信号,播放音视频数据,从而指导专家和运维人员均可以历史的音视频数据作为参考和指导,减轻指导专家的任务量,运维人员根据音视频数据,既能得到指导,同时也可以直接明了的查看具体是如何操作的,而指导专家也可以根据音视频做指导调整,从而达到更好的指导效果,使运维效果更好,运维效率更高。
播出模块在接收音视频数据选择信号后,还可以设置为要进行判断,才播放音视频数据,具体是判断用户的用户权限值是否大于等于音视频数据权限值,若是,则播放音视频数据;若否,则提示用户没有权限查看;从而可以对音视频数据进行安全分级,用户权限值低于音视频权限值的用户不能查看音视频数据,对于一些涉及核心技术或机密的音视频数据,不能让任意运维人员查看,防止核心技术或机密被泄露。
实施例三
实施例基本如附图2所示:多端音视频即时通讯方法,包括如下内容:
S1、终端发送建立连接请求;
S2、服务器接收建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信,服务器将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接,且将进行实时通信的多个终端聚集,并创建房间进行统一管理;其中建立终端间的端对端连接,包括:
寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;
若寻找公网IP失败,则提供公网IP地址作为中继地址转发音视频数据。
S3、当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;
S4、接收新终端的socket Id,并向其他终端发送offer,请求建立连接;
S5、接收其他终端发送的offer,并回复answer与其他终端建立连接,各终端之间,服务器和终端之间均通过信令进行交互,具体包括:
终端未进入房间处于Init/Leave状态,终端向服务器发送join消息,并接收到服务器发送的joined消息后,状态转换为joined;
若其他终端新加入房间,则终端接收服务器发送的other_join消息,将状态由joined转换为joined_conn,新加入房间的其他终端的状态为joined,终端和新加入房间的其他终端进行实时交互;
若终端离开房间,则向其他终端发送bye消息,其他终端接收到bye消息,将状态转换为joined_unbind。本方法具体实现如实施例一,本实施例中不再赘述。
实施例四
本实施例与实施例三基本相同,区别在于:还包括:
房间中每个终端为一个用户,对用户添加身份标签并设置用户权限值;其中身份标签包括:指挥人员、运维人员和指导专家,且一个用户可添加多个身份标签;
输入会议信息;其中会议信息包括:会议主题、会议类别和会议概要,输入会议信息在终端向服务器发送建立连接请求前;
检测当前房间中发言用户的身份标签,判断发言用户的身份标签信息是否为指导专家,若是,则启动发言用户的终端和运维人员的终端录制音视频数据,并进行存储;
对存储模块中存储的音视频数据进行内容标签管理;其中管理包括:添加内容标签,删除内容标签和修改内容标签;对音视频数据设置音视频数据权限值;
终端之间在房间中进行音视频通话时,识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送;其中对应的音视频数据是指内容标签包含预设关键字的音视频数据;
检测房间中各用户的身份标签,若房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;或者检测预设时间段后房间中各用户的身份标签,若预设时间段后房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;其中预设时间段可以根据会议信息设置,即根据实际需求设置,预设时间段设置足够长,则会议全程不需要检测各用户的身份标签,特别是针对一些不需要指导专家的会议,从而减少内存使用;其中调取与会议信息相关的音视频数据,具体为:在会议信息中提取与所有音视频数据的内容标签的相同信息;再调取内容标签包含相同信息的音视频数据;
接收音视频数据选择信号,并播放音视频数据;或者接收音视频数据选择信号,判断用户的用户权限值是否大于等于音视频数据权限值,若是,则播放音视频数据;若否,则提示用户没有权限查看;从而可以对音视频数据进行安全分级,用户权限值低于音视频权限值的用户不能查看音视频数据,对于一些涉及核心技术或机密的音视频数据,不能让任意运维人员查看,防止核心技术或机密被泄露。
多端音视频即时通讯方法常用在指挥城市的运维管理中,赋予用户身份标签,从而在一次音视频通讯的会议中能明确用户身份,不同的会议可以重新设置不同的身份标签,而根据身份标签,当指导专家进行发言时进行录音录屏,同时运维人员的终端也进行录制,从而记录指导专家的指导内容,同时也记录运维人员在指导专家的指导下进行运维的过程,完成一个完整的运维过程的记录,生产音视频数据,对音视频数据进行存储,用户可以通过终端的播出模块查看存储模块中的音视频数据,也可以将音视频数据和指导文档作为教学素材使用,有利于运维人员和指导专家的培训。
用户进行音视频通讯时,识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送给指导专家和运维人员的终端,指导专家和运维人员可选择音视频数据,接收到音视频数据选择信号,播放音视频数据,从而指导专家和运维人员均可以历史的音视频数据作为参考和指导,减轻指导专家的任务量,运维人员根据音视频数据,既能得到指导,同时也可以直接明了的查看具体是如何操作的,而指导专家也可以根据音视频做指导调整,从而达到更好的指导效果,使运维效果更好,运维效率更高。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
Claims (8)
1.多端音视频即时通讯系统,包括服务器和终端,其特征在于:服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信;还用于将进行实时通信的多个终端聚集,并创建房间进行统一管理,当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;
终端,用于向服务器发送建立连接请求;还用于接收其他终端的socket Id,并向其他终端发送offer,请求建立连接;接收其他终端发送的offer,并回复answer与其他终端建立连接;
各终端之间,服务器和终端之间均通过信令进行交互;
服务器,包括身份标签管理模块、权限管理模块、检测模块、判断模块、存储模块、内容标签管理模块和识别模块;
所述身份标签管理模块,用于对用户添加身份标签;其中身份标签包括:指挥人员、运维人员和指导专家,且一个用户可添加多个身份标签;
权限管理模块,用于设置用户权限值;
检测模块,用于检测当前房间中发言用户的身份标签;
判断模块,用于判断发言用户的身份标签信息是否为指导专家,若是,则启动发言用户的终端的录制模块和运维人员的终端的录制模块;
存储模块,用于按预设存储格式对音视频数据进行存储;
内容标签管理模块,用于对存储模块中存储的音视频数据进行内容标签管理;
识别模块,用于终端之间在房间中进行音视频通话时,识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送;其中对应的音视频数据是指内容标签包含预设关键字的音视频数据;
检测模块,还用于检测房间中各用户的身份标签;
判断模块,还用于判断房间中各用户是否存在身份标签为指导专家的用户,若否,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;还用于检测预设时间段后房间中各用户的身份标签,若预设时间段后房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;其中调取与会议信息相关的音视频数据为:在会议信息中提取与所有音视频数据的内容标签的相同信息,再调取内容标签包含相同信息的音视频数据。
2.根据权利要求1所述的多端音视频即时通讯系统,其特征在于:服务器,包括:WebSocket服务器、房间服务器和信令服务器;
WebSocket服务器,用于接收终端发送的建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,WebSocket服务器与终端进行实时通信,将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接;
房间服务器,用于将进行实时通信的多个终端聚集,并创建房间进行统一管理;
信令服务器,用于进行信令交换;
信令包括:终端信令和服务器信令;
终端信令,包括:join:用户加入房间;
leave:用户离开房间;
message:终端到终端命令,具体包括:offer、answer和candidate;
服务器信令,包括:joined:用户已加入;
leaved:用户已离开;
other_joined:其他用户已加入;
bye:其他用户已离开;
full:房间已满。
3.根据权利要求2所述的多端音视频即时通讯系统,其特征在于:服务器还包括:STUN服务器和TURN服务器;
STUN服务器,用于寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;
TURN服务器,用于在STUN服务器寻找公网IP失败后,提供公网IP地址作为中继地址转发音视频数据。
4.根据权利要求1所述的多端音视频即时通讯系统,其特征在于:终端包括:PC终端;
PC终端,包括:用户管理模块、通讯录管理模块和第一会议室管理模块;
用户管理模块,用于管理系统中的用户,对用户按所属单位、部门、角色或关键字进行筛选,以及新建和修改用户信息;
通讯录管理模块,用于管理用户的通讯录,对通信录按所属单位、部门、角色或关键字进行筛选,选择指定用户或者全部用户进行视频通话;
第一会议室管理模块,用于管理会议室的房间进行管理,选择用户发起通话,关闭会议室的通话,控制用户音频打开和关闭。
5.根据权利要求4所述的多端音视频即时通讯系统,其特征在于:终端,还包括:APP终端;
APP终端,包括:推送管理模块和第二会议室管理模块;
推送管理模块,用于接收WebSocket服务器发送的推送信息,对比socketId,筛选出会议室的房间邀请信息,获取会议室的房间邀请信息中包含的房间号信息,确认接受邀请后,进入会议室的房间;
第二会议室管理模块,用于管理会议室的房间进行管理,关闭会议室的通话,控制用户音频打开和关闭。
6.多端音视频即时通讯方法,其特征在于:包括如下内容:
S1、终端发送建立连接请求;
S2、服务器接收建立连接请求,应答建立连接请求后,将通信协议由HTTP协议升级为WebSocket协议,服务器与终端进行实时通信,且将进行实时通信的多个终端聚集,并创建房间进行统一管理;
S3、当有新终端加入房间时,则向房间内其他终端发送新终端的socket Id;
S4、接收新终端的socket Id,并向其他终端发送offer,请求建立连接;
S5、接收其他终端发送的offer,并回复answer与其他终端建立连接,各终端之间,服务器和终端之间均通过信令进行交互;
还包括:房间中每个终端为一个用户,对用户添加身份标签并设置用户权限值;其中身份标签包括:指挥人员、运维人员和指导专家,且一个用户可添加多个身份标签;
输入会议信息;
检测当前房间中发言用户的身份标签,判断发言用户的身份标签信息是否为指导专家,若是,则启动发言用户的终端和运维人员的终端录制音视频数据,并进行存储;
对存储的音视频数据进行内容标签管理;
终端之间在房间中进行音视频通话时,识别音频中是否包含预设关键字,其中预设关键字为内容标签,若是,则调取对应的音视频数据并推送;其中对应的音视频数据是指内容标签包含预设关键字的音视频数据;
检测房间中各用户的身份标签,若房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;或者检测预设时间段后房间中各用户的身份标签,若预设时间段后房间中不存在用户的身份标签为指导专家,则根据会议信息,调取与会议信息相关的音视频数据推送给身份标签为运维人员的用户的终端;其中调取与会议信息相关的音视频数据为:在会议信息中提取与所有音视频数据的内容标签的相同信息,再调取内容标签包含相同信息的音视频数据。
7.根据权利要求6所述的多端音视频即时通讯方法,其特征在于:S2还包括:
服务器将网络信息、本地音视频编解码协议和分辨率信息发送给终端,建立终端间的端对端连接;
S5还包括:
终端未进入房间处于Init/Leave状态,终端向服务器发送join消息,并接收到服务器发送的joined消息后,状态转换为joined;
若其他终端新加入房间,则终端接收服务器发送的other_join消息,将状态由joined转换为joined_conn,新加入房间的其他终端的状态为joined,终端和新加入房间的其他终端进行实时交互;
若终端离开房间,则向其他终端发送bye消息,其他终端接收到bye消息,将状态转换为joined_unbind。
8.根据权利要求7所述的多端音视频即时通讯方法,其特征在于:所述建立终端间的端对端连接,包括:
寻找终端的公网IP,使终端之间通过公网IP直接传输音视频数据;
若寻找公网IP失败,则提供公网IP地址作为中继地址转发音视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210343049.1A CN114710461B (zh) | 2022-03-31 | 2022-03-31 | 多端音视频即时通讯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210343049.1A CN114710461B (zh) | 2022-03-31 | 2022-03-31 | 多端音视频即时通讯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114710461A CN114710461A (zh) | 2022-07-05 |
CN114710461B true CN114710461B (zh) | 2024-03-12 |
Family
ID=82172593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210343049.1A Active CN114710461B (zh) | 2022-03-31 | 2022-03-31 | 多端音视频即时通讯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114710461B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960254A (zh) * | 2006-11-22 | 2007-05-09 | 北京邮电大学 | 基于ip多媒体子系统的视频电话通行证业务实现方法和系统 |
CN103702062A (zh) * | 2013-12-27 | 2014-04-02 | Tcl集团股份有限公司 | 一种音视频通讯方法、装置及系统 |
CN104902111A (zh) * | 2014-03-06 | 2015-09-09 | 华为技术有限公司 | 一种基于Web RTC多方通话建立的方法、设备和系统 |
KR20170141320A (ko) * | 2016-06-14 | 2017-12-26 | 주식회사 두두원 | WebRTC를 이용한 회의록 작성 방법 및 시스템 |
CN107682657A (zh) * | 2017-09-13 | 2018-02-09 | 中山市华南理工大学现代产业技术研究院 | 一种基于WebRTC的多人语音视频通话方法及系统 |
KR20180035312A (ko) * | 2016-09-29 | 2018-04-06 | 주식회사 욱성미디어 | WebRTC를 이용한 하드웨어 영상 코덱 장치 및 영상 통화 방법 |
CN109688364A (zh) * | 2018-08-21 | 2019-04-26 | 平安科技(深圳)有限公司 | 视频会议方法、装置、服务器及存储介质 |
WO2019128266A1 (zh) * | 2017-12-28 | 2019-07-04 | 中兴通讯股份有限公司 | 视频会议的传输方法及装置、mcu |
CN111405244A (zh) * | 2020-03-06 | 2020-07-10 | 杭州红杉云澎信息技术有限公司 | 一种在线远程视频智慧社区矫正系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184755A (zh) * | 2013-05-21 | 2014-12-03 | 华为终端有限公司 | 一种网页实时通信方法、系统及终端 |
-
2022
- 2022-03-31 CN CN202210343049.1A patent/CN114710461B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960254A (zh) * | 2006-11-22 | 2007-05-09 | 北京邮电大学 | 基于ip多媒体子系统的视频电话通行证业务实现方法和系统 |
CN103702062A (zh) * | 2013-12-27 | 2014-04-02 | Tcl集团股份有限公司 | 一种音视频通讯方法、装置及系统 |
CN104902111A (zh) * | 2014-03-06 | 2015-09-09 | 华为技术有限公司 | 一种基于Web RTC多方通话建立的方法、设备和系统 |
KR20170141320A (ko) * | 2016-06-14 | 2017-12-26 | 주식회사 두두원 | WebRTC를 이용한 회의록 작성 방법 및 시스템 |
KR20180035312A (ko) * | 2016-09-29 | 2018-04-06 | 주식회사 욱성미디어 | WebRTC를 이용한 하드웨어 영상 코덱 장치 및 영상 통화 방법 |
CN107682657A (zh) * | 2017-09-13 | 2018-02-09 | 中山市华南理工大学现代产业技术研究院 | 一种基于WebRTC的多人语音视频通话方法及系统 |
WO2019128266A1 (zh) * | 2017-12-28 | 2019-07-04 | 中兴通讯股份有限公司 | 视频会议的传输方法及装置、mcu |
CN109688364A (zh) * | 2018-08-21 | 2019-04-26 | 平安科技(深圳)有限公司 | 视频会议方法、装置、服务器及存储介质 |
CN111405244A (zh) * | 2020-03-06 | 2020-07-10 | 杭州红杉云澎信息技术有限公司 | 一种在线远程视频智慧社区矫正系统 |
Non-Patent Citations (2)
Title |
---|
基于WebRTC的视频会议系统的设计与实现;孙晓妍;《中国优秀硕士学位论文全文数据库(信息科技辑)》;正文第4章 * |
王昕.基于WebRTC的视频会议系统的设计与实现.《中国优秀硕士学位论文全文数据库(信息科技辑)》.2019,正文第2-3章. * |
Also Published As
Publication number | Publication date |
---|---|
CN114710461A (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101518072B (zh) | 用于动态流送/存档配置的方法和设备 | |
TWI440346B (zh) | 基於開放架構之域相依即時多語系通信服務 | |
US20160099984A1 (en) | Method and apparatus for remote, multi-media collaboration, including archive and search capability | |
CN105306413B (zh) | 一种信息发布方法和系统,视联网服务器和发布终端 | |
US7996540B2 (en) | Method and system for replacing media stream in a communication process of a terminal | |
CN101917586B (zh) | 一种会议的加入方法和设备 | |
CN101946511A (zh) | 用于为多媒体会议事件生成视觉合成的技术 | |
US20110224969A1 (en) | Method, a Media Server, Computer Program and Computer Program Product For Combining a Speech Related to a Voice Over IP Voice Communication Session Between User Equipments, in Combination With Web Based Applications | |
CN110475094B (zh) | 视频会议处理方法、装置及可读存储介质 | |
US20110096139A1 (en) | System and Method for Providing Secure Video Visitation | |
CN111147789B (zh) | 一种音视频流录制的方法、装置、设备以及存储介质 | |
CN109819199B (zh) | 一种会议预约开启的方法和装置 | |
CN201150071Y (zh) | 一种农用多功能信息服务平台 | |
CN101621667B (zh) | 视频提供方法和系统及网络设备 | |
CN113542906A (zh) | 一种基于rtsp视频的网页无插件播放方法 | |
CN114710461B (zh) | 多端音视频即时通讯方法及系统 | |
CN102224543A (zh) | 用于将与用户设备之间的基于IP的语音的语音通信会话相关的话音同基于web的应用进行组合的方法、媒体服务器、计算机程序和计算机程序产品 | |
CN112839192A (zh) | 基于浏览器的音视频通讯系统及方法 | |
CN106657875A (zh) | 一种指挥调度的方法及装置 | |
CN111212043A (zh) | 一种多媒体文件的生成方法和装置 | |
CN112965750B (zh) | Ip化多媒体资源的显示与控制系统及方法 | |
CN114666527A (zh) | 基于WebRTC的智慧城管运维管理方法及系统 | |
Kasetwar et al. | A WebRTC based video conferencing system with screen sharing | |
CN113676691A (zh) | 一种智能视频会议系统及方法 | |
CN112019791A (zh) | 基于教育考试的多方音视频通话方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |