CN112995573B - 一种视频会议直播系统及方法 - Google Patents
一种视频会议直播系统及方法 Download PDFInfo
- Publication number
- CN112995573B CN112995573B CN202110450692.XA CN202110450692A CN112995573B CN 112995573 B CN112995573 B CN 112995573B CN 202110450692 A CN202110450692 A CN 202110450692A CN 112995573 B CN112995573 B CN 112995573B
- Authority
- CN
- China
- Prior art keywords
- video conference
- stream
- media
- service module
- data source
- 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
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/631—Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Abstract
本发明公开了一种视频会议直播系统及方法,该视频会议直播系统包括多点控制单元MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与数据源模块对应的服务模块,虚拟视频会议终端、多个数据源模块以及与数据源模块对应的服务模块部署在直播服务器上。在该视频会议直播系统中,能够将视频会议的第一媒体流转换成多个不同流传输协议类型的第二媒体流,并能够同时对外提供多个不同流传输协议类型的视频会议直播服务,从而使视频会议直播服务可兼容市面上不同类型的浏览器,提升了播放视频会议直播的便捷性。
Description
技术领域
本申请涉及视频直播技术领域,尤其涉及一种视频会议直播系统及方法。
背景技术
随着移动互联网的普及,视频会议需求越来越大。在大型视频会议中,视频会议终端采集图像和声音,并编码后发送给多点控制单元(Multi Control Unit,MCU),MCU则根据会议要求将该多个视频会议终端发送的图像和声音进行融合后,发送给各视频会议终端,从而实现多方与会人的音视频通话,并且MCU将融合后的图像和声音发送给视频会议直播服务器,使更多的人能收看视频会议直播。
随着互联网技术以及流媒体技术的发展,越来越多的人习惯通过全球广域网(World Wide Web ,web)浏览器播放视频会议直播。通常情况下,视频会议直播服务器提供的视频会议直播的媒体流为单一协议格式的媒体流。由于市面上存在多种类型的浏览器,而不同浏览器能支持的媒体流的协议类型各异,因此,该单一协议格式的媒体流的视频会议直播服务无法兼容市面上不同类型的浏览器,这无疑降低了播放视频会议直播的便捷性。
发明内容
本发明实施例通过提供一种视频会议直播系统及方法,用以解决现有一种协议格式的媒体流的视频会议直播服务无法兼容市面上不同类型的浏览器,降低了播放视频会议直播的便捷性的问题。
为了解决上述问题,第一方面,本发明实施例提供了一种视频会议直播系统,视频会议直播系统包括: MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与数据源模块对应的服务模块,虚拟视频会议终端、多个数据源模块以及与数据源模块对应的服务模块部署在直播服务器上,其中:MCU实时采集视频会议中多个视频会议终端的媒体流,根据多个视频会议终端的媒体流得到视频会议的第一媒体流;虚拟视频会议终端接入视频会议,从MCU实时获取第一媒体流,并向每个数据源模块发送第一媒体流;数据源模块将第一媒体流转换成相应流传输协议类型的第二媒体流;服务模块在接收到直播客户端的浏览器发送的观看视频会议的直播请求时,创建与浏览器之间的直播会话,并向对应的数据源模块获取第二媒体流,通过直播会话将第二媒体流发送给浏览器。
可选地,MCU包括信令服务模块和媒体服务模块;虚拟视频会议终端接入视频会议包括:虚拟视频会议终端通过信令服务模块获取视频会议的会议信息,并根据会议信息向媒体服务模块获取自身网络地址转换后的 IP地址及端口号;虚拟视频会议终端向信令服务模块发送接入视频会议请求,接入视频会议请求包括IP地址及端口号;虚拟视频会议终端接收信令服务模块根据接入视频会议请求发送的接入视频会议成功消息时,虚拟视频会议终端接入视频会议。
可选地,虚拟视频会议终端从MCU实时获取第一媒体流,包括:虚拟视频会议终端接入视频会议,根据IP地址及端口号创建与媒体服务模块之间的媒体传输通道;虚拟视频会议终端向信令服务模块发送获取会议媒体流信息请求;虚拟视频会议终端接收信令服务模块根据获取会议媒体流信息请求发送的会议媒体流信息,会议媒体流信息包括视频流信息;虚拟视频会议终端向媒体服务模块发送音频流请求,并根据视频流信息向媒体服务模块发送视频流请求;虚拟视频会议终端通过媒体传输通道接收媒体服务模块根据视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;虚拟视频会议终端通过媒体传输通道接收媒体服务模块根据音频流请求发送的一路融合音频流。
可选地,多个不同流传输协议类型的数据源模块包括: RTSP数据源模块、HLS数据源模块及HTTPFLV数据源模块;多个不同流传输协议类型的数据源模块对应的服务模块包括:RTSP服务模块、HLS服务模块及HTTPFLV服务模块。
可选地,向每个数据源模块发送第一媒体流包括:当第一媒体流包括一路演示流、一路融合视频流和一路融合音频流时:虚拟视频会议终端将一路演示流或一路融合视频流,以及一路融合音频流发送给HLS数据源模块和HTTPFLV数据源模块;虚拟视频会议终端将一路融合视频流、一路演示流和一路融合音频流发送给RTSP数据源模块。
可选地,当一路融合音频流不是AAC格式的音频流时,虚拟视频会议终端将一路融合音频流的格式转换成AAC格式后,发送给HLS数据源模块和HTTPFLV数据源模块。
可选地,向每个数据源模块发送第一媒体流时,虚拟视频会议终端根据相应的流传输协议类型创建第一媒体流的直播地址,直播地址包括视频会议的标识信息、直播服务器IP地址、服务模块的端口号及流传输协议类型;虚拟视频会议终端将创建的每种流传输协议类型对应的直播地址发送给浏览器,以使浏览器根据浏览器支持的流传输协议类型选择相应的直播地址,并根据所选择的直播地址中的直播服务器IP地址及服务模块的端口号向对应的服务模块发送观看直播请求。
第二方面,本发明实施例提供了一种视频会议直播方法,应用于直播服务器,直播服务器与MCU连接,视频会议直播方法包括:接入视频会议,从MCU实时获取第一媒体流;将第一媒体流转换成多种流传输协议类型的第二媒体流;获取直播客户端的浏览器根据浏览器支持的协议类型发送的观看直播请求;根据观看直播请求创建与浏览器之间的直播会话,并通过直播会话将与浏览器支持的协议类型对应的第二媒体流发送给浏览器。
可选地,MCU包括信令服务模块和媒体服务模块;接入视频会议包括:通过信令服务模块获取视频会议的会议信息,并根据会议信息向媒体服务模块获取自身网络地址转换后的 IP地址及端口号;向信令服务模块发送接入视频会议请求,接入视频会议请求包括IP地址及端口号;接收信令服务模块根据接入视频会议请求发送的接入视频会议成功消息时,接入视频会议。
可选地,从MCU实时获取第一媒体流,包括:接入视频会议,根据IP地址及端口号创建与媒体服务模块之间的媒体传输通道;向信令服务模块发送获取会议媒体流信息请求;接收信令服务模块根据获取会议媒体流信息请求发送的会议媒体流信息,会议媒体流信息包括视频流信息;向媒体服务模块发送音频流请求,并根据视频流信息向媒体服务模块发送视频流请求;通过媒体传输通道接收媒体服务模块根据视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;通过媒体传输通道接收媒体服务模块根据音频流请求发送的一路融合音频流。
本发明实施例提供的视频会议直播系统及方法,通过设置MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与数据源模块对应的服务模块,虚拟视频会议终端、多个数据源模块以及与数据源模块对应的服务模块部署在直播服务器上,其中:MCU实时采集视频会议中多个视频会议终端的媒体流,根据多个视频会议终端的媒体流得到视频会议的第一媒体流;虚拟视频会议终端接入视频会议,从MCU实时获取第一媒体流,并向每个数据源模块发送第一媒体流;数据源模块将第一媒体流转换成相应流传输协议类型的第二媒体流;服务模块在接收到直播客户端的浏览器发送的观看视频会议的直播请求时,创建与浏览器之间的直播会话,并向对应的数据源模块获取第二媒体流,通过直播会话将第二媒体流发送给浏览器,从而在该视频会议直播系统中能够将视频会议的第一媒体流转换成多个不同流传输协议类型的第二媒体流,并能够同时对外提供多个不同流传输协议类型的视频会议直播服务,从而使视频会议直播服务可兼容市面上不同类型的浏览器,提升了播放视频会议直播的便捷性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本发明实施例中一种视频会议直播系统的结构示意图;
图2为本发明实施例中虚拟视频会议终端、信令服务模块与媒体服务模块交互的时序图;
图3为本发明实施例中另外一种视频会议直播系统的结构示意图;
图4为本发明实施例中一种视频会议直播方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种视频会议直播系统,如图1所示,视频会议直播系统包括: MCU2、虚拟视频会议终端11、多个不同流传输协议类型的数据源模块12以及与数据源模块对应的服务模块13,虚拟视频会议终端11、多个数据源模块12以及与数据源模块12对应的服务模块13部署在直播服务器1上,其中:MCU2实时采集视频会议中多个视频会议终端20的媒体流,根据多个视频会议终端20的媒体流得到视频会议的第一媒体流;虚拟视频会议终端11接入视频会议,从MCU2实时获取第一媒体流,并向每个数据源模块12发送第一媒体流;数据源模块12将第一媒体流转换成相应流传输协议类型的第二媒体流;服务模块13在接收到直播客户端的浏览器14发送的观看视频会议的直播请求时,创建与浏览器14之间的直播会话,并向对应的数据源模块12获取第二媒体流,通过直播会话将第二媒体流发送给浏览器14。
具体地, MCU2可实时采集视频会议中多个视频会议终端20的媒体流,视频会议终端20的媒体流包括一路音频流、一路用于会议环境视频的视频流。当某一个视频会议终端20进行会议内容展示时,该视频会议终端20的媒体流还包括一路演示流。MCU2实时采集视频会议中多个视频会议终端20的媒体流之后,对用于会议环境视频的多路视频流进行融合,得到一路融合视频流,对多路音频流进行融合,得到一路融合音频流。
当视频会议需要进行直播时,可在视频会议直播系统中启动一个虚拟视频会议终端11,虚拟视频会议终端11可通过向视频会议的MCU2发起进入视频会议的请求,从而获取视频会议的第一媒体流。视频会议的第一媒体流可以包括一路融合音频流和一路融合视频流,或者一路融合音频流、一路融合视频流和一路演示流。虚拟视频会议终端11获取到视频会议的第一媒体流之后,可根据数据源模块12的个数对应复制几份第一媒体流,然后将一份第一媒体流输入给一个数据源模块12。
在本发明实施例中,同一种流传输协议类型的数据源模块可以有一个或多个。多个不同流传输协议类型的数据源模块12包括: RTSP数据源模块、HLS数据源模块及HTTPFLV数据源模块;多个不同流传输协议类型的数据源模块12对应的服务模块13包括:RTSP服务模块、HLS服务模块及HTTPFLV服务模块。
RTSP数据源模块为私有的RTSP流传输协议类型的数据源模块,私有的RTSP流传输协议类型可支持多路音频流和多路视频流的传输。RTSP数据源模块可在视频会议的第一媒体流的帧头前插入RTSP头,从而将视频会议的第一媒体流转换成RTSP格式的第二媒体流,提供给浏览器14进行直播。RTSP格式的第二媒体流进行直播时,浏览器需要安装NPAPI插件。HLS数据源模块可将视频会议的第一媒体流转换成HLS格式的第二媒体流,提供给浏览器14进行直播。HLS数据源模块在将视频会议的第一媒体流转换成HLS格式的第二媒体流时,需要将第一媒体流转换成M3U8索引文件以及TS媒体分片文件。HTTPFLV数据源模块可将视频会议的第一媒体流转换成HTTPFLV格式的第二媒体流,提供给浏览器14进行直播。HTTPFLV数据源模块在将视频会议的第一媒体流转换成HTTPFLV格式的第二媒体流时,是对第一媒体流进行FLV TAG流媒体格式封装。
在本发明实施例中,通过设置RTSP数据源模块、HLS数据源模块、HTTPFLV数据源模块及对应的服务模块,可将视频会议的媒体流转换成三种不同流传输协议类型的媒体流,并能够同时对外提供三个不同流传输协议类型的视频会议直播服务,从而使视频会议直播服务可兼容市面上不同类型的浏览器,提升了播放视频会议直播的便捷性。
当浏览器14想要获得视频会议直播服务时,浏览器14可根据浏览器支持的流传输协议类型选择相应的服务模块13,向服务模块13发送观看直播请求。
例如,a) 浏览器若为支持网景插件应用程序编程接口(Netscape PluginApplication Programming Interface ,NPAPI)插件的浏览器,则浏览器可支持多种流传输协议类型。此时可检测浏览器是否已安装NPAPI插件,i.已安装,由于NPAPI插件能够支持RTSP协议类型的媒体流播放,则浏览器支持RTSP协议类型,则自动使用NPAPI插件进行观看视频会议直播,则选择需要NPAPI插件才能观看视频会议直播对应的RTSP协议类型服务模块,向该服务模块发送观看直播请求;ii.未安装,自动选择无需插件就可进行观看视频会议直播的流传输协议类型服务模块,例如HTTPFLV协议类型服务模块,向该服务模块发送观看直播请求;同时,在观看视频会议直播过程中,浏览器提供多种直播选项,供用户手工选择:i. NPAPI插件直播,选中则提示用户安装私有的NPAPI浏览器插件,选择向该NPAPI插件对应的服务模块发送观看直播请求,NPAPI插件直播可支持环境视频和演示流的切换,支持H265等更多视频编码格式,支持MP3等更多音频编码格式;ii.至少一种无插件直播,选中则其中包括至少一种无需插件就可观看视频会议直播的视频会议直播服务。
b)浏览器若为支持HLS协议类型的浏览器,选择对应的HLS协议类型服务模块,向该服务模块发送观看直播请求。
c)浏览器若为支持HTTPFLV协议类型的浏览器,选择对应的HTTPFLV协议类型服务模块,向该服务模块发送观看直播请求。
浏览器通过对浏览器支持的流传输协议类型的判断,可以自动选择效果最优的视频会议直播服务来观看视频会议直播,同时可保留人工调整视频会议直播服务选项,可提供个性化观看直播需求的便利。
服务模块13接收到浏览器14发送的观看直播请求,可根据该观看直播请求创建与浏览器14之间的直播会话,从对应的数据源模块12中获取第二媒体流,并通过直播会话转发给浏览器14,从而浏览器14可打开该第二媒体流,观看视频会议直播。
需要说明的是,在本发明实施例中,仅示出了三种流传输协议类型的数据源模块,但并不以此为限,可以加入更多的流传输协议类型的数据源模块,如MPEG DASH、WEBRTC等流传输协议类型数据源模块,具体的数据源模块的协议类型的种类以及个数可以根据业务需要进行调整。
本发明实施例提供的视频会议直播系统,通过设置MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与数据源模块对应的服务模块,虚拟视频会议终端、多个数据源模块以及与数据源模块对应的服务模块部署在直播服务器上,其中:MCU实时采集视频会议中多个视频会议终端的媒体流,根据多个视频会议终端的媒体流得到视频会议的第一媒体流;虚拟视频会议终端接入视频会议,从MCU实时获取第一媒体流,并向每个数据源模块发送第一媒体流;数据源模块将第一媒体流转换成相应流传输协议类型的第二媒体流;服务模块在接收到直播客户端的浏览器发送的观看视频会议的直播请求时,创建与浏览器之间的直播会话,并向对应的数据源模块获取第二媒体流,通过直播会话将第二媒体流发送给浏览器,从而在该视频会议直播系统中能够将视频会议的第一媒体流转换成多个不同流传输协议类型的第二媒体流,并能够同时对外提供多个不同流传输协议类型的视频会议直播服务,从而使视频会议直播服务可兼容市面上不同类型的浏览器,提升了播放视频会议直播的便捷性。
在一个可选的实施例中,MCU2包括信令服务模块21和媒体服务模块22;虚拟视频会议终端11接入视频会议包括:虚拟视频会议终端11通过信令服务模块21获取视频会议的会议信息,并根据会议信息向媒体服务模块22获取自身网络地址转换后的 IP地址及端口号;虚拟视频会议终端11向信令服务模块21发送接入视频会议请求,接入视频会议请求包括IP地址及端口号;虚拟视频会议终端接收信令服务模块21根据接入视频会议请求发送的接入视频会议成功消息时,虚拟视频会议终端11接入视频会议。
具体地,如图2所示,虚拟视频会议终端11接入视频会议的步骤包括:虚拟视频会议终端11向信令服务21发送获取会议信息请求;信令服务21向虚拟视频会议终端11发送响应消息,响应消息包括视频会议的会议信息。虚拟视频会议终端11根据会议信息向媒体服务模块22打洞,获取自身网络地址转换后的 IP地址及端口号,媒体服务模块22向虚拟视频会议终端11返回虚拟视频会议终端11网络地址转换后的 IP地址及端口号。虚拟视频会议终端11向信令服务21发送接入视频会议请求,接入视频会议请求包括虚拟视频会议终端11网络地址转换后的 IP地址及端口号,信令服务21向虚拟视频会议终端11发送接入视频会议成功消息,并将虚拟视频会议终端11网络地址转换后的 IP地址及端口号发送给媒体服务模块22。虚拟视频会议终端11接收信令服务模块21根据接入视频会议请求发送的接入视频会议成功消息时,虚拟视频会议终端11接入视频会议。
在一个可选的实施例中,如图2所示,虚拟视频会议终端11从MCU2实时获取第一媒体流,包括:虚拟视频会议终端11接入视频会议,根据IP地址及端口号创建与媒体服务模块22之间的媒体传输通道;虚拟视频会议终端11向信令服务模块21发送获取会议媒体流信息请求;信令服务模块21向虚拟视频会议终端11发送会议媒体流信息,会议媒体流信息包括视频流信息。虚拟视频会议终端11接收信令服务模块21发送的会议媒体流信息,向信令服务模块21发送音频流请求,并根据视频流信息向信令服务模块22发送视频流请求;信令服务模块21向媒体服务模块22发送音频流请求及视频流请求,虚拟视频会议终端11通过媒体传输通道接收媒体服务模块22根据视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;虚拟视频会议终端11通过媒体传输通道接收媒体服务模块22根据音频流请求发送的一路融合音频流。
在一个可选的实施例中,向每个数据源模块12发送第一媒体流包括:当第一媒体流包括一路演示流、一路融合视频流和一路融合音频流时:虚拟视频会议终端11将一路演示流或一路融合视频流,以及一路融合音频流发送给HLS数据源模块和HTTPFLV数据源模块;虚拟视频会议终端11将一路融合视频流、一路演示流和一路融合音频流发送给RTSP数据源模块。
具体地,由于HLS协议类型和HTTPFLV协议类型仅能支持一路视频流和一路音频流,而私有RTSP协议类型可以接收多路音频流和多路视频流,因此,当第一媒体流包括一路融合视频流和一路融合音频流时,虚拟视频会议终端11可以分别向HLS数据源模块、HTTPFLV数据源模块和RTSP数据源模块输入一份第一媒体流。而当第一媒体流包括一路演示流、一路融合视频流和一路融合音频流时,且HLS数据源模块和HTTPFLV数据源模块均只有一个的情况下,则可以根据预设的 “有演示流输出演示流,无演示流输出融合视频流”的策略,将一路演示流和一路融合音频流发送给HLS数据源模块和HTTPFLV数据源模块;将一路融合视频流、一路演示流和一路融合音频流发送给RTSP数据源模块。而当第一媒体流包括一路演示流、一路融合视频流和一路融合音频流时,且HLS数据源模块和HTTPFLV数据源模块均有多个的情况下,则可以将一路演示流和一路融合音频流发送给一个HLS数据源模块和一个HTTPFLV数据源模块,将一路融合视频流和一路融合音频流发送给另一个HLS数据源模块和另一个HTTPFLV数据源模块。将一路融合视频流、一路演示流和一路融合音频流发送给一个RTSP数据源模块。
在本发明实施例中,通过虚拟视频会议终端对第一媒体流的分析,按照预设策略将第一媒体流发送给HLS数据源模块、HTTPFLV数据源模块和RTSP数据源模块,可以满足HLS协议类型、HTTPFLV协议类型和RTSP协议类型对媒体流传输的要求。
在一个可选的实施例中,当一路融合音频流不是AAC格式的音频流时,虚拟视频会议终端将一路融合音频流的格式转换成AAC格式后,发送给HLS数据源模块和HTTPFLV数据源模块。
具体地,MCU2对多路音频流进行融合后,得到一路融合音频流,该一路融合音频流的编码格式可能不是AAC格式的音频流,而HLS数据源模块和HTTPFLV数据源模块仅能接收AAC格式的音频流。因此,当一路融合音频流不是AAC格式的音频流,虚拟视频会议终端11需要将该一路融合音频流转换成AAC格式的音频流,然后再将融合音频流输入到HLS数据源模块和HTTPFLV数据源模块。
在本发明实施例中,当一路融合音频流不是AAC格式的音频流,虚拟视频会议终端将一路融合音频流的格式转换成AAC格式后,发送给HLS数据源模块和HTTPFLV数据源模块,可以保证能够将第一媒体流中的一路融合音频流输入至HLS数据源模块和HTTPFLV数据源模块内,从而在浏览器客户端观看视频会议直播时,能够听到视频会议的声音。
在一个可选的实施例中,向每个数据源模块12发送第一媒体流时,虚拟视频会议终端11根据相应的流传输协议类型创建第一媒体流的直播地址,直播地址包括视频会议的标识信息、直播服务器IP地址、服务模块的端口号及流传输协议类型;虚拟视频会议终端11将创建的每种流传输协议类型对应的直播地址发送给浏览器14,以使浏览器14根据浏览器14支持的流传输协议类型选择相应的直播地址,并根据所选择的直播地址中的直播服务器IP地址及服务模块的端口号向对应的服务模块13发送观看直播请求。
具体地,虚拟视频会议终端11在向每个数据源模块12发送第一媒体流时,虚拟视频会议终端11会根据相应的流传输协议类型创建第一媒体流的直播地址。针对同一种流传输协议类型的数据源模块为一个时,则每种流传输协议类型的第一媒体流的直播地址为一个。针对同一种流传输协议类型的数据源模块为多个时,可以根据预设策略使得同一种流传输协议类型的各个数据源模块接收的一路视频流不相同,从而针对每种流传输协议类型的第一媒体流的直播地址为多个。通过根据相应的流传输协议类型创建第一媒体流的直播地址,则浏览器可通过这些直播地址,快速地找到与浏览器支持的流传输协议类型对应的视频会议直播的第二媒体流。如图3所示,在浏览器14向服务模块13发送观看直播请求之前,浏览器可先向web服务模块15发送视频会议详情请求。web服务模块15在接收到浏览器14的视频会议详情请求时,根据视频会议详情请求通过消息总线模块16向总线事件处理模块17发送查询直播地址请求;总线事件处理模块17用于接收查询直播地址请求,将查询直播地址请求发送给虚拟视频会议终端11;虚拟视频会议终端11还用于根据查询直播地址请求将各第一媒体流对应的直播地址发送给总线事件处理模块17;总线事件处理模块17还用于接收各第一媒体流对应的直播地址,并通过消息总线模块16发送给web服务模块15;web服务模块15还用于接收各第一媒体流对应的直播地址,并发送给浏览器14,以使浏览器14根据浏览器支持的流传输协议类型选择相应的直播地址,并根据直播地址中的直播服务器IP地址及服务模块的端口号向对应的服务模块发送观看直播请求。
本发明实施例提供了一种视频会议直播方法,应用于上述实施例视频会议直播系统中的直播服务器,视频会议直播方法如图4所示,包括:
S301.接入视频会议,从MCU实时获取第一媒体流;具体地,MCU2可实时采集视频会议中多个视频会议终端20的媒体流,视频会议终端20的媒体流包括一路音频流、一路用于会议环境视频的视频流。当某一个视频会议终端20进行会议内容展示时,该视频会议终端20的媒体流还包括一路演示流。MCU2实时采集视频会议中多个视频会议终端20的媒体流之后,对用于会议环境视频的多路视频流进行融合,得到一路融合视频流,对多路音频流进行融合,得到一路融合音频流。当视频会议需要进行直播时,可在视频会议直播系统中启动一个虚拟视频会议终端11,虚拟视频会议终端11可通过向视频会议的MCU2发起进入视频会议的请求,从而获取视频会议的第一媒体流。视频会议的第一媒体流可以包括一路融合音频流和一路融合视频流,或者一路融合音频流、一路融合视频流和一路演示流。
S302.将第一媒体流转换成多种流传输协议类型的第二媒体流;具体地,虚拟视频会议终端11获取到视频会议的第一媒体流之后,可根据数据源模块12的个数对应复制几份第一媒体流,然后将一份第一媒体流输入给一个数据源模块12。数据源模块12接收到虚拟视频会议终端11输入的第一媒体流之后,根据数据源模块12自身的协议类型及预设数据转换策略对第一媒体流进行转换,转换成与该数据源模块的流传输协议类型对应的第二媒体流。
S303.获取直播客户端的浏览器根据浏览器支持的协议类型发送的观看直播请求;具体地,当浏览器14想要获得视频会议直播服务时,浏览器14可根据浏览器支持的流传输协议类型选择相应的服务模块13,向服务模块13发送观看直播请求。
例如,a) 浏览器若为支持网景插件应用程序编程接口(Netscape PluginApplication Programming Interface ,NPAPI)插件的浏览器,则浏览器可支持多种流传输协议类型。此时可检测浏览器是否已安装NPAPI插件,i.已安装,由于NPAPI插件能够支持RTSP协议类型的媒体流播放,则浏览器支持RTSP协议类型,则自动使用NPAPI插件进行观看视频会议直播,则选择需要NPAPI插件才能观看视频会议直播对应的RTSP协议类型服务模块,向该服务模块发送观看直播请求;ii.未安装,自动选择无需插件就可进行观看视频会议直播的流传输协议类型服务模块,例如HTTPFLV协议类型服务模块,向该服务模块发送观看直播请求;同时,在观看视频会议直播过程中,浏览器提供多种直播选项,供用户手工选择:i. NPAPI插件直播,选中则提示用户安装私有的NPAPI浏览器插件,选择向该NPAPI插件对应的服务模块发送观看直播请求,NPAPI插件直播可支持环境视频和演示流的切换,支持H265等更多视频编码格式,支持MP3等更多音频编码格式;ii.至少一种无插件直播,选中则其中包括至少一种无需插件就可观看视频会议直播的视频会议直播服务。
b)浏览器若为支持HLS协议类型的浏览器,选择对应的HLS协议类型服务模块,向该服务模块发送观看直播请求。
c)浏览器若为支持HTTPFLV协议类型的浏览器,选择对应的HTTPFLV协议类型服务模块,向该服务模块发送观看直播请求。
浏览器通过对浏览器支持的流传输协议类型的判断,可以自动选择效果最优的视频会议直播服务来观看视频会议直播,同时可保留人工调整视频会议直播服务选项,可提供个性化观看直播需求的便利。
S304.根据观看直播请求创建与浏览器之间的直播会话,并通过直播会话将与浏览器支持的协议类型对应的第二媒体流发送给浏览器。具体地,服务模块13接收到浏览器14发送的观看直播请求,可根据该观看直播请求创建与浏览器14之间的直播会话,从对应的数据源模块12中获取第二媒体流,并通过直播会话转发给浏览器14,从而浏览器14可打开该第二媒体流,观看视频会议直播。
本发明实施例提供的视频会议直播方法,通过设置MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与数据源模块对应的服务模块,虚拟视频会议终端、多个数据源模块以及与数据源模块对应的服务模块部署在直播服务器上,其中:MCU实时采集视频会议中多个视频会议终端的媒体流,根据多个视频会议终端的媒体流得到视频会议的第一媒体流;虚拟视频会议终端接入视频会议,从MCU实时获取第一媒体流,并向每个数据源模块发送第一媒体流;数据源模块将第一媒体流转换成相应流传输协议类型的第二媒体流;服务模块在接收到直播客户端的浏览器发送的观看视频会议的直播请求时,创建与浏览器之间的直播会话,并向对应的数据源模块获取第二媒体流,通过直播会话将第二媒体流发送给浏览器,从而在该视频会议直播系统中能够将视频会议的第一媒体流转换成多个不同流传输协议类型的第二媒体流,并能够同时对外提供多个不同流传输协议类型的视频会议直播服务,从而使视频会议直播服务可兼容市面上不同类型的浏览器,提升了播放视频会议直播的便捷性。
在一个可选的实施例中,MCU包括信令服务模块和媒体服务模块;接入视频会议包括:通过信令服务模块获取视频会议的会议信息,并根据会议信息向媒体服务模块获取自身网络地址转换后的 IP地址及端口号;向信令服务模块发送接入视频会议请求,接入视频会议请求包括IP地址及端口号;接收信令服务模块根据接入视频会议请求发送的接入视频会议成功消息时,接入视频会议。
具体地,虚拟视频会议终端11接入视频会议的步骤包括:虚拟视频会议终端11向信令服务21发送获取会议信息请求;信令服务21向虚拟视频会议终端11发送响应消息,响应消息包括视频会议的会议信息。虚拟视频会议终端11根据会议信息向媒体服务模块22打洞,获取自身网络地址转换后的 IP地址及端口号,媒体服务模块22向虚拟视频会议终端11返回虚拟视频会议终端11网络地址转换后的 IP地址及端口号。虚拟视频会议终端11向信令服务21发送接入视频会议请求,接入视频会议请求包括虚拟视频会议终端11网络地址转换后的 IP地址及端口号,信令服务21向虚拟视频会议终端11发送接入视频会议成功消息,并将虚拟视频会议终端11网络地址转换后的 IP地址及端口号发送给媒体服务模块22。虚拟视频会议终端11接收信令服务模块21根据接入视频会议请求发送的接入视频会议成功消息时,虚拟视频会议终端11接入视频会议。
在一个可选的实施例中,从MCU实时获取第一媒体流,包括:接入视频会议,根据IP地址及端口号创建与媒体服务模块之间的媒体传输通道;向信令服务模块发送获取会议媒体流信息请求;接收信令服务模块根据获取会议媒体流信息请求发送的会议媒体流信息,会议媒体流信息包括视频流信息;向媒体服务模块发送音频流请求,并根据视频流信息向媒体服务模块发送视频流请求;通过媒体传输通道接收媒体服务模块根据视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;通过媒体传输通道接收媒体服务模块根据音频流请求发送的一路融合音频流。
具体地,从MCU2实时获取第一媒体流,包括:虚拟视频会议终端11接入视频会议,根据IP地址及端口号创建与媒体服务模块22之间的媒体传输通道;虚拟视频会议终端11向信令服务模块21发送获取会议媒体流信息请求;信令服务模块21向虚拟视频会议终端11发送会议媒体流信息,会议媒体流信息包括视频流信息。虚拟视频会议终端11接收信令服务模块21发送的会议媒体流信息,向信令服务模块21发送音频流请求,并根据视频流信息向信令服务模块22发送视频流请求;信令服务模块21向媒体服务模块22发送音频流请求及视频流请求,虚拟视频会议终端11通过媒体传输通道接收媒体服务模块22根据视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;虚拟视频会议终端11通过媒体传输通道接收媒体服务模块22根据音频流请求发送的一路融合音频流。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种视频会议直播系统,其特征在于,所述视频会议直播系统包括:多点控制单元MCU、虚拟视频会议终端、多个不同流传输协议类型的数据源模块以及与所述数据源模块对应的服务模块,所述虚拟视频会议终端、所述多个数据源模块以及与所述数据源模块对应的服务模块部署在直播服务器上,其中:
所述多个不同流传输协议类型的数据源模块包括:实时流传输协议RTSP数据源模块、基于HTTP的自适应码率流媒体传输协议HLS数据源模块及基于HTTP传输FLV格式的媒体流传输协议HTTPFLV数据源模块;RTSP数据源模块为私有的RTSP流传输协议类型的数据源模块,私有的RTSP流传输协议类型可支持多路音频流和多路视频流的传输;
所述多个不同流传输协议类型的数据源模块对应的服务模块包括:RTSP服务模块、HLS服务模块及HTTPFLV服务模块;
所述MCU实时采集视频会议中多个视频会议终端的媒体流,根据所述多个视频会议终端的媒体流得到所述视频会议的第一媒体流;
所述虚拟视频会议终端接入所述视频会议,从所述MCU实时获取所述第一媒体流,并向每个所述数据源模块发送所述第一媒体流;
所述数据源模块将所述第一媒体流转换成相应流传输协议类型的第二媒体流;
所述服务模块在接收到直播客户端的浏览器发送的观看所述视频会议的直播请求时,创建与所述浏览器之间的直播会话,并向对应的所述数据源模块获取所述第二媒体流,通过所述直播会话将所述第二媒体流发送给所述浏览器。
2.根据权利要求1所述的视频会议直播系统,其特征在于,所述MCU包括信令服务模块和媒体服务模块;
所述虚拟视频会议终端接入所述视频会议包括:
所述虚拟视频会议终端通过所述信令服务模块获取所述视频会议的会议信息,并根据所述会议信息向所述媒体服务模块获取自身网络地址转换后的 IP地址及端口号;
所述虚拟视频会议终端向所述信令服务模块发送接入视频会议请求,所述接入视频会议请求包括所述IP地址及端口号;
所述虚拟视频会议终端接收所述信令服务模块根据所述接入视频会议请求发送的接入视频会议成功消息时,所述虚拟视频会议终端接入所述视频会议。
3.根据权利要求2所述的视频会议直播系统,其特征在于,所述虚拟视频会议终端从所述MCU实时获取所述第一媒体流,包括:
所述虚拟视频会议终端接入所述视频会议,根据所述IP地址及端口号创建与所述媒体服务模块之间的媒体传输通道;
所述虚拟视频会议终端向所述信令服务模块发送获取会议媒体流信息请求;
所述虚拟视频会议终端接收所述信令服务模块根据所述获取会议媒体流信息请求发送的会议媒体流信息,所述会议媒体流信息包括视频流信息;
所述虚拟视频会议终端向所述媒体服务模块发送音频流请求,并根据所述视频流信息向所述媒体服务模块发送视频流请求;
所述虚拟视频会议终端通过所述媒体传输通道接收所述媒体服务模块根据所述视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;
所述虚拟视频会议终端通过所述媒体传输通道接收所述媒体服务模块根据所述音频流请求发送的一路融合音频流。
4.根据权利要求3所述的视频会议直播系统,其特征在于,所述向每个所述数据源模块发送所述第一媒体流包括:
当所述第一媒体流包括一路演示流、一路融合视频流和一路融合音频流时:
所述虚拟视频会议终端将所述一路演示流或一路融合视频流,以及所述一路融合音频流发送给所述HLS数据源模块和HTTPFLV数据源模块;
所述虚拟视频会议终端将所述一路融合视频流、一路演示流和所述一路融合音频流发送给所述RTSP数据源模块。
5.根据权利要求4所述的视频会议直播系统,其特征在于,
当所述一路融合音频流不是高级音频编码AAC格式的音频流时,所述虚拟视频会议终端将所述一路融合音频流的格式转换成AAC格式后,发送给所述HLS数据源模块和HTTPFLV数据源模块。
6.根据权利要求1所述的视频会议直播系统,其特征在于, 所述向每个所述数据源模块发送所述第一媒体流时,所述虚拟视频会议终端根据相应的流传输协议类型创建所述第一媒体流的直播地址,所述直播地址包括视频会议的标识信息、所述直播服务器IP地址、服务模块的端口号及流传输协议类型;
所述虚拟视频会议终端将创建的每种流传输协议类型对应的直播地址发送给所述浏览器,以使所述浏览器根据所述浏览器支持的流传输协议类型选择相应的直播地址,并根据所选择的直播地址中的直播服务器IP地址及服务模块的端口号向对应的服务模块发送观看直播请求。
7.一种视频会议直播方法,其特征在于,应用于直播服务器,所述直播服务器与MCU连接,包括 :
虚拟视频会议终端接入视频会议,从所述MCU实时获取第一媒体流,并向每个数据源模块发送所述第一媒体流;
多个所述数据源模块将第一媒体流转换成多种流传输协议类型的第二媒体流;
获取直播客户端的浏览器根据所述浏览器支持的协议类型发送的观看直播请求;
根据所述观看直播请求创建与所述浏览器之间的直播会话,并通过所述直播会话将与所述浏览器支持的协议类型对应的第二媒体流发送给所述浏览器。
8.根据权利要求7所述的视频会议直播方法,其特征在于,所述MCU包括信令服务模块和媒体服务模块;
所述接入视频会议包括:
通过所述信令服务模块获取所述视频会议的会议信息,并根据所述会议信息向所述媒体服务模块获取自身网络地址转换后的 IP地址及端口号;
向所述信令服务模块发送接入视频会议请求,所述接入视频会议请求包括所述IP地址及端口号;
接收所述信令服务模块根据所述接入视频会议请求发送的接入视频会议成功消息时,接入所述视频会议。
9.根据权利要求8所述的视频会议直播方法,其特征在于,从所述MCU实时获取所述第一媒体流,包括:
接入所述视频会议,根据所述IP地址及端口号创建与所述媒体服务模块之间的媒体传输通道;
向所述信令服务模块发送获取会议媒体流信息请求;
接收所述信令服务模块根据所述获取会议媒体流信息请求发送的会议媒体流信息,所述会议媒体流信息包括视频流信息;
向所述媒体服务模块发送音频流请求,并根据所述视频流信息向所述媒体服务模块发送视频流请求;
通过所述媒体传输通道接收所述媒体服务模块根据所述视频流请求发送的一路融合视频流,或者,一路融合视频流和一路演示流;
通过所述媒体传输通道接收所述媒体服务模块根据所述音频流请求发送的一路融合音频流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110450692.XA CN112995573B (zh) | 2021-04-26 | 2021-04-26 | 一种视频会议直播系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110450692.XA CN112995573B (zh) | 2021-04-26 | 2021-04-26 | 一种视频会议直播系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995573A CN112995573A (zh) | 2021-06-18 |
CN112995573B true CN112995573B (zh) | 2021-09-07 |
Family
ID=76340203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110450692.XA Active CN112995573B (zh) | 2021-04-26 | 2021-04-26 | 一种视频会议直播系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995573B (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753958A (zh) * | 2015-04-17 | 2015-07-01 | 深圳市英威腾电气股份有限公司 | 一种通讯协议转换卡及通讯协议转换方法 |
CN106657110B (zh) * | 2016-12-30 | 2020-12-04 | 北京奇虎科技有限公司 | 一种流数据的加密传输方法和装置 |
US10756966B2 (en) * | 2017-02-22 | 2020-08-25 | Cisco Technology, Inc. | Containerized software architecture for configuration management on network devices |
CN106713361A (zh) * | 2017-02-24 | 2017-05-24 | 宁波联视网络科技有限公司 | 多终端多协议流媒体发布方法 |
CN107222484B (zh) * | 2017-06-12 | 2020-11-24 | 北京经纬中天信息技术有限公司 | 支持多协议输入和输出的流媒体服务器系统 |
CN108712434A (zh) * | 2018-05-28 | 2018-10-26 | 深圳亿维锐创科技股份有限公司 | 一种基于高清视频直播录播会议会诊的实现方法 |
CN109302576B (zh) * | 2018-09-05 | 2020-08-25 | 视联动力信息技术股份有限公司 | 会议处理方法和装置 |
CN110022456A (zh) * | 2019-03-08 | 2019-07-16 | 视联动力信息技术股份有限公司 | 邀请终端入会的方法和装置 |
CN110062192A (zh) * | 2019-04-18 | 2019-07-26 | 视联动力信息技术股份有限公司 | 视频会议中的数据处理方法、装置及存储介质 |
CN111147859A (zh) * | 2019-12-31 | 2020-05-12 | 视联动力信息技术股份有限公司 | 一种视频处理方法和装置 |
CN111953925A (zh) * | 2020-08-21 | 2020-11-17 | 浙江华创视讯科技有限公司 | 媒体流的处理方法及装置、系统 |
-
2021
- 2021-04-26 CN CN202110450692.XA patent/CN112995573B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112995573A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3562163B1 (en) | Audio-video synthesis method and system | |
KR102280134B1 (ko) | 비디오 재생 방법, 장치 및 시스템 | |
CN108289187B (zh) | 网络直播接入视频会议方法及系统 | |
US6944136B2 (en) | Two-way audio/video conferencing system | |
US9282448B2 (en) | Method, system and apparatus for providing streaming media service | |
CN112738140B (zh) | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 | |
EP2364017A1 (en) | Method, system and user device for obtaining key frame in streaming media service | |
WO2019019370A1 (zh) | 一种音视频的直播处理方法、存储介质和一种移动终端 | |
CN105763832A (zh) | 一种视频互动、控制方法及装置 | |
CN105656910B (zh) | 媒体传输服务器、媒体传输系统、用户终端和媒体传输方法 | |
US9521366B2 (en) | Method and apparatus for playing conference signal, video conference terminal, and mobile device | |
CN101917391A (zh) | 一种网络视频的播放方法及一种网络视频播放系统 | |
WO2016174960A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换系统及其工作方法 | |
CN107547517B (zh) | 音视频节目录制方法和网络设备及计算机装置 | |
CN112702559A (zh) | 一种录播异常反馈方法、系统、设备及可读存储介质 | |
CN114553839A (zh) | Rtc数据的处理方法以及装置 | |
EP3316546B1 (en) | Multimedia information live method and system, collecting device and standardization server | |
CN112995573B (zh) | 一种视频会议直播系统及方法 | |
CN110392275B (zh) | 一种文稿演示的共享方法、装置及视联网软终端 | |
WO2019193991A1 (ja) | 配信装置、配信方法、およびプログラム | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
CN111385590A (zh) | 直播数据处理方法、装置及终端 | |
CN110830752B (zh) | 一种视频会议主机 | |
JP4917497B2 (ja) | 映像配信装置,配信映像切替え方法,配信映像切替えプログラムおよび配信映像切替えプログラム記録媒体 |
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 |