CN114338625B - 实时通信方法、装置、设备及存储介质 - Google Patents
实时通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114338625B CN114338625B CN202210028883.1A CN202210028883A CN114338625B CN 114338625 B CN114338625 B CN 114338625B CN 202210028883 A CN202210028883 A CN 202210028883A CN 114338625 B CN114338625 B CN 114338625B
- Authority
- CN
- China
- Prior art keywords
- data
- track
- terminal
- connection
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种实时通信方法、装置、设备及存储介质,包括步骤:基于通话房间信息与服务器协商建立媒体流连接,其中,通话房间信息用于对通话房间进行标识,媒体流连接配置为收发连接;基于媒体流连接创建第一数据发送轨道和第一数据订阅轨道,第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,其中,第一数据发送轨道用于对待发送的流媒体进行封装,第一数据订阅轨道用于接收订阅自服务器的流媒体。终端与服务器之间建立媒体流连接,第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的连接数量,有利于提高通信的稳定行和降低通信延时,能够满足大型RTC房间场景应用。
Description
技术领域
本发明涉及流媒体传输技术领域,尤其涉及一种实时通信方法、装置、设备及存储介质。
背景技术
近年来,以RTC(Real-time Communications,实时通信)技术作为通信基础支撑框架的实时音视频技术得到了快速发展,产品应用场景越来越丰富,逐渐遍布各行各业。为了实现RTC应用,市面上出现了一批开源RTC服务器,其中,大多数开源RTC服务器与终端的通信方式具有如下特点:1)每个终端与服务器均建立一个发送连接,发送连接内部包括用于封装音频的音频轨道以及用于封装视频数据的视频轨道;2)每个终端与服务器均建立n-1个订阅连接,用以接收数据,其中,RTC通信的单个房间中用户数量为n,则对于RTC服务器而言,发送连接总数N=n,订阅连接总数P=n*(n-1),房间连接总数T=N+P=n2。随着房间与用户数量的增加,终端与服务器之间建立的订阅连接数量也会增加,当订阅连接数量增加到一定程度后,会导致终端与服务器的性能不稳定、存在连接异常、数据转发延时等问题的出现,无法满足大型RTC房间场景应用。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种实时通信方法、装置、设备及存储介质,旨在实现减少终端与服务器之间的连接数量,用以提高通信的稳定性和降低通信延时,能够满足大型RTC房间场景应用。
第一方面,本发明实施例提供一种实时通信方法,应用于终端,所述方法包括:
基于通话房间信息与服务器协商建立媒体流连接,其中,所述通话房间信息用于对通话房间信息标识,所述媒体流连接配置为收发连接;
基于所述媒体流连接创建第一数据发送轨道和第一数据订阅轨道,所述第一数据发送轨道和所述第一数据订阅轨道对所述媒体流连接进行复用,其中,所述第一数据发送轨道用于对待发送的流媒体进行封装,所述第一数据订阅轨道用于接收订阅自所述服务器的流媒体。
根据本发明实施例的实时通信方法,至少具有如下有益效果:
终端与服务器之间建立媒体流连接,第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的连接数量,有利于提高通信的稳定行和降低通信延时,能够满足大型RTC房间场景应用。
根据本发明的一些实施例,所述基于通话房间信息与服务器协商建立媒体流连接,包括:
获取由所述服务器基于所述通话房间信息分配的第一IP地址;
根据所述第一IP地址与所述服务器进行媒体协商,确定所述媒体流连接的连接信息;
根据所述第一IP地址与所述服务器建立进行网络协商,确定所述媒体流连接的协商网络信息;
根据所述连接信息和所述协商网络信息,与所述服务器建立所述媒体流连接。
根据本发明的一些实施例,所述根据所述第一IP地址与所述服务器进行媒体协商,包括步骤:
根据所述第一IP地址通过会话描述协议与所述服务器进行媒体协商,将所述媒体流连接配置为收发连接。
根据本发明的一些实施例,所述连接信息包括本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一。
根据本发明的一些实施例,所述基于所述媒体流连接创建第一数据发送轨道和第一数据订阅轨道,包括:
确定所述第一数据发送轨道的第一唯一标识和所述第一数据订阅轨道的第二唯一标识;
根据所述连接信息中的数据类型,确定所述第一数据发送轨道的第一数据类型和第一编码格式,以及确定所述第一数据订阅轨道的第二数据类型和第二编码格式;
根据所述第一唯一标识、所述第一数据类型和所述第一编码格式,创建所述第一数据发送轨道;
根据所述第二唯一标识、所述第二数据类型和所述第二编码格式,创建所述第一数据订阅轨道。
第二方面,本发明实施例提供一种实时通信方法,应用于服务器,其特征在于,所述方法包括:
响应于终端的第一请求,与所述终端协商建立媒体流连接,其中,所述第一请求携带有用于对通话房间进行标识的通话房间信息,所述媒体流连接配置为收发连接;
基于所述媒体流连接创建第二数据发送轨道和第二数据订阅轨道,所述第二数据发送轨道和所述第二数据订阅轨道对所述媒体流连接进行复用,其中,所述第二数据发送轨道用于接收来自所述终端的流媒体,所述第二数据订阅轨道用于对所述终端订阅的流媒体进行封装。
第三方面,本发明实施例提供一种实时通信装置,包括:
连接模块,用于基于通话房间信息与服务器协商建立媒体流连接,其中,所述通话房间信息用于对通话房间进行标识,所述媒体流连接配置为收发连接;
第一创建模块,用于基于所述媒体流连接创建第一数据发送轨道和第一数据订阅轨道,所述第一数据发送轨道和所述第一数据订阅轨道对所述媒体流连接进行复用,其中,所述第一数据发送轨道用于对待发送的流媒体进行封装,所述第一数据订阅轨道用于接收订阅自所述服务器的流媒体。
第四方面,本发明实施例提供一种实时通信装置,包括:
响应模块,用于响应于终端的第一请求,与所述终端协商建立媒体流连接,其中,所述第一请求携带有用于对通话房间进行标识的通话房间信息,所述媒体流连接配置为收发连接;
第二创建模块,用于基于所述媒体流连接创建第二数据发送轨道和第二数据订阅轨道,所述第二数据发送轨道和所述第二数据订阅轨道对所述媒体流连接进行复用,其中,所述第二数据发送轨道用于接收来自所述终端的流媒体,所述第二数据订阅轨道用于对所述终端订阅的流媒体进行封装。
第五方面,本发明实施例提供一种设备,包括处理器以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令,所述处理器执行所述存储器存储的所述程序指令时实现第一方面或第二方面所述的实时通信方法。
第六方面,本发明实施例提供一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现第一方面或第二方面所述的实时通信方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明实施例的实时通信方法的步骤流程图之一;
图2是本发明实施例的实时通信方法的架构图之一;
图3是本发明实施例的实时通信方法的架构图之二;
图4是本发明实施例的实时通信方法的步骤流程图之二;
图5是本发明实施例的实时通信装置的原理框图之一;
图6是本发明实施例的实时通信装置的原理框图之二;
图7是本发明实施例的设备的原理框图;
图8是本发明实施例的存储介质的原理框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本后续的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提供了实时通信方法、装置、设备及存储介质,实时通信方法包括:终端与服务器之间建立媒体流连接,数据发送轨道和数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的连接数量,有利于提高通信的稳定性和降低通信延时,能够满足大型RTC房间场景应用。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、多媒体数据处理技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
实时通信(RTC)技术目的是在设备端实时地收发音频、视频等多媒体数据,让用户能实时的进行音频和视频的会话。RTC的应用场景包括但不限于:视频会议、在线教育小班课、大班课、1v1视频连麦、多人视频连麦互动、语音聊天室、在线面试、在线医疗、云游戏、智能家居、在线签约、在线K歌等,比如Zoom、腾讯会议、钉钉会议、微信音视频聊天。
上述所提及的实时通信方法的执行主体可以是终端或者服务器。此处所提及的终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载计算机、智能家居、可穿戴电子设备、VR(Virtual Reality,虚拟现实)/AR(Augmented Reality,增强现实)设备等等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
需要说明的是,本发明实施例的数据可以保存在服务器中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参照图1,图1是本发明一个实施例提供的一种实时通信方法,该方法应用于终端,需要说明的是,终端可以是指电子计算机、手机或平板电脑等电子设备,终端还可以是指配置在该电子设备上的应用程序,例如通信软件、浏览器等。本实施例的实时通信方法包括步骤S100~S200。下面对各个步骤进行详细讨论:
S100、基于通话房间信息与服务器协商建立媒体流连接,其中,通话房间信息用于对通话房间进行标识,媒体流连接配置为收发连接。
为了便于理解,本实施例以视频会议为例进行说明。应当知道的是,视频会议可以通过视频软件、小程序或浏览器等方式建立远程通信,在视频会议中,需要传输的数据通常包括视频数据和音频数据。参与同一视频会议的多个用户进入同一通话房间,该通话房间设置有对应的通话房间信息,例如,房间号码,终端根据通话房间信息与服务器进行协商以及建立媒体流连接(Media Stream Connection)。应当知道的是,媒体流是采用流式传输的方式,使流式媒体在互联网上播放的技术。
如上文的背景技术所讨论的,现有技术中终端与服务器之间的单个连接通常为发送连接或订阅(接收)连接,要实现终端与服务器之间的数据收发,需要单独建立发送连接和订阅连接,如此,对于终端而言,需要分配至少两个端口,其中一个端口用于发送数据,其余端口用于订阅数据,对于服务器而言,同样需要为每个终端分配至少两个端口。需要说明的是,本实施例的端口是指网络中面向连接服务或无连接服务的通信协议端口,端口包括对应的数据结构和I/O(基本输入输出)缓冲区。对于终端而言,当单个房间中的用户数量为n(n为正整数)时,终端与服务器之间的总连接数为n;对于服务器而言,服务器与所有终端之间的总连接数T=n2,服务器分配的端口数量M=n2。当单个房间中用户数量增加到一定程度时,由于端口分配的数量较多,端口的数据处理速度下降,导致终端与服务器之间的通信稳定性下降,例如连接异常或数据延时等。
与现有技术不同的是,本实施例的媒体流连接配置为收发连接,即在同一个媒体流连接上,终端既可以向服务器发送流媒体,还可以从服务器接收订阅的流媒体,其中,流媒体(Streaming Media)是指利用流式传输技术传送的视频、音频等连续媒体数据。本实施例将媒体流连接配置为收发连接,可以为后续的连接复用提供通信基础。
S200、基于媒体流连接创建第一数据发送轨道和第一数据订阅轨道,第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,其中,第一数据发送轨道用于对待发送的流媒体进行封装,第一数据订阅轨道用于接收订阅自服务器的流媒体。
在步骤S100中,终端与服务器之间建立媒体流连接,从而为终端与服务器之间的通信提供通信基础。为了实现流媒体在终端与服务器之间的发送和接收,终端还需要创建第一数据发送轨道(例如Loacal Track,本地轨道)和第一数据订阅轨道(例如RemoteTrack,远端轨道)。值得注意的是,本实施例的第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的媒体流连接数量,从而减少终端与服务器之间的端口占用数量,即终端与服务器之间的媒体流连接只需各占用终端和服务器的一个端口。对于终端而言,当单个房间中用户数量为n时,由于终端与服务器之间仅需一个流媒体连接,终端分配的端口数量仅为一个;对于服务器而言,服务器与所有终端之间的总连接数T’=n,与现有技术相比,本实施例的实时通信方法可以将终端与服务器之间的总连接数量降低为1/n,端口数量同样降低为1/n,有利于提高端口的数据处理速度,从而提高终端与服务器之间的通信稳定性和降低通信延时,有利于满足大型RTC房间场景的应用。
为了进一步理解本实施例的实时通信方法,下面对步骤S100~S200进行更加详细的讨论。其中,步骤S100包括步骤S110~S140:
S110、获取由服务器基于通话房间信息分配的第一IP地址。
对于视频会议,终端对应的用户可能是会议的发起者,也可能是会议的参与者。对于会议的发起者,在进行视频会议前需要新建通话房间,在新建通话房间的过程中,确定通话房间信息,并向服务器发出请求,服务器响应于终端的请求而分配第一IP地址,以对服务器进行识别,需要说明的是,在实际应用中,服务器可以是服务器集群,在响应终端的请求时,可以根据服务器集群中各个子服务器的负荷状态,为通话房间分配相对空闲的子服务器,以便于提高通信的稳定性和降低通信延时;对于会议的参与者,在进入已存在的通话房间后,获取通话房间信息,并向服务器发出请求,服务器响应于终端的请求而分配第一IP地址,以对服务器进行识别。
S120、根据第一IP地址与服务器进行媒体协商,确定媒体流连接的连接信息。
终端在获得第一IP地址后,可以对服务器进行识别。在实际应用中,由于不同终端的硬件设备可能不同,不同终端所支持的媒体格式有所不同,例如终端A支持VP8、H.264的视频编码格式,终端B支持VP9、H.264的视频编码格式,因此,为了实现不同终端之间的媒体传输,需要先进行媒体协商,以便于得到适合在不同终端之间传输的媒体格式。其中,媒体协商是基于SDP(Session Description Protocol,会话描述协议)在终端与服务器之间交换信息,以确定终端需要传输何种数据或需要接收何种数据,从而在终端与服务器之间达成一致的过程。具体的,终端向服务器发送offer(申请)消息,服务器根据终端的offer消息收集终端的SDP信息,以及根据终端的SDP信息进行协商后,向终端发送对应的answer(回应)消息。其中,SDP信息是基于SDP协议生成的、与终端相关的会话描述信息。需要说明的是,本实施例的媒体协商仅需在建立媒体流连接之前进行协商,在建立媒体流连接之后、终端断开媒体流连接之前均无需重复协商。
在协商过程中,步骤S120包括步骤:
S121、根据第一IP地址通过会话描述协议与服务器进行媒体协商,将媒体流连接配置为收发连接。
对于终端而言,可以通过SDP协议与服务器协商连接类型,例如SDP协议的媒体描述中包含描述RTP(Real-Time Protocol,实时传输协议)流媒体发送接收模式的属性,将基于SDP协议生成的SDP信息中的描述RTP流媒体发送接收模式的属性配置为sendrecv(收发)类型,如此,可以与服务器进行媒体协商,使不同终端的流媒体发送接收模式均配置为sendrecv类型,从而将媒体流连接配置为收发连接。
除了对连接类型进行配置外,媒体协商还可以确媒体流连接的其他连接信息,例如,本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一。其中,对于终端而言,本地端口号是终端分配的端口号,远程端口号是服务器的端口号,数据类型可以是video(视频类型)、Audio(音频类型)或Data(其他数据类型);终端标识可以是随机生成的字符串,也可以是用户指定的字符串,用以对不同的终端进行标识;数据流标识用于对终端发送或订阅的数据流进行标识。
S130、根据第一IP地址与服务器建立进行网络协商,确定媒体流连接的协商网络信息;
在本实施例中,终端与服务器之间的流媒体是封装在RTP包中、以UDP(UserDatagram Protocol,用户数据报协议)数据报的形式在IP(Internet Protocol,互联网传输协议)网络中传输,因此,除了进行媒体协商外,还需要进行网络协商。网络协商可以使不同终端获取到各自所需的协商网络信息,例如源IP地址、目的IP地址、源端口号、目的端口号、通信协议号等。值得注意的是,在实际应用中,媒体协商和网络协商可以同步进行,即在进行媒体协商的同时获取协商网络信息,本实施例对媒体协商和网络协商进行分步骤讨论仅是为了便于审查理解,而并非对本发明的具体限制。
S140、根据媒体流连接的连接信息和协商网络信息,与服务器建立媒体流连接。
其中,媒体流连接的连接信息对终端发送和接收的流媒体的数据格式、终端标识等信息进行了规定,协商网络信息确定了连接的对象以及通信协议,从而建立媒体流连接,为后续的流媒体传输提供网络通信基础。
步骤S200包括步骤S210~S240:
S210、确定第一数据发送轨道的第一唯一标识和第一数据订阅轨道的第二唯一标识。
请参照图2,在本实施例中,第一数据发送轨道包括音频发送轨道和视频发送轨道,音频发送轨道用于封装待发送给服务器的音频轨道数据,视频发送轨道用于封装待发送给服务器的视频轨道数据。这样,当需要创建音频发送轨道时,第一唯一标识可以是Audio Local Track(音频本地轨道)或者Local Track:Audio;当需要创建视频发送轨道时,第一唯一标识可以是Video Local Track或者Local Track:Video。
根据需要订阅的远端内容,第一数据订阅轨道的数量可以为多个,每个第一数据订阅轨道均包括音频订阅轨道和视频订阅轨道,音频订阅轨道用于接收来自服务器的音频轨道数据,视频订阅轨道用于接收来自服务器的视频轨道数据。这样,当需要创建多个音频订阅轨道时,可以对多个音频订阅轨道进行顺序命名,例如,RemoteTrack-1-A:Audio,RemoteTrack-2-B:Audio;同理,当需要创建多个视频订阅轨道时,可以对多个第一视频订阅堆到进行顺序命名,例如,RemoteTrack-3-A:Video,RemoteTrack-4-B:Video。
S220、根据媒体流连接的连接信息中的数据类型,确定第一数据发送轨道的第一数据类型和第一编码格式,以及确定第一数据订阅轨道的第二数据类型和第二编码格式。
在步骤S100中,终端与服务器之间协商建立媒体流连接,可以确定终端与服务器之间传输的数据类型,根据连接信息中的数据类型,可以相应确定第一数据类型和第二数据类型。应当理解的是,为了实现数据的对等传输,第一数据类型、第二数据类型与连接信息中的数据类型相同。例如,对于第一数据发送轨道中的音频发送轨道,确定第一数据类型为Audio,第一编码格式为16kHz Opus,对于第一数据发送轨道中的视频发送轨道,确定第一数据类型为Video,第一编码格式为H.264。
S230、根据第一唯一标识、第一数据类型和第一编码格式,创建第一数据发送轨道;
S240、根据第二唯一标识、第二数据类型和第二编码格式,创建第一数据订阅轨道。
需要说明的是,根据需要订阅的远端内容,可以创建多个第一数据订阅轨道,其中,订阅数量可以根据实际应用场景设定,例如,在通常的音视频通话场景中,发布至服务器的声音中可能存在音量较小的噪音,因此订阅声音能量值最高的2~4路远程声音,可以滤除部分噪音,有利于提高通话质量,以及不同终端的屏幕尺寸和分辨率可能不同,因此订阅4路视频,可以得到比较良好的用户体验。当然,终端可以根据实际需求订阅更多数量的音频或视频。
请参照图2,图2示出了终端与服务器之间的媒体流连接的多路复用连接结构,在该多路复用连接结构中,不同轨道(例如,LocalTrack、RemoteTrack)复用同一个媒体流连接。具体的,请参照图3,在本实施例中,终端A创建第一数据发送轨道后,第一数据发送轨道对来自不同源(例如摄像头或麦克风)的视频或音频进行封装,得到第一封装数据,第一封装数据经过媒体流连接传输给服务器,服务器将来自终端A的数据写入待转发缓冲(即数据缓冲),并根据订阅记录进行数据分发(即分发数据),以使对应的终端(例如,终端B和终端C)能够订阅相应的信息(即订阅数据)。同理,终端B和终端C的数据经过服务器的转发后复用媒体流连接传输到终端A。如此,每个终端与服务器之间有且仅有一个连接,发送与订阅远端多路数据共用端口,使终端与服务器之间的连接数量大量减少,技术复杂性下降,性能提升,能够为用户提供更加稳定、延时更低的通信体验。单台服务器可以建立更多连接,容纳更多的房间,有利于减少部署所需要的服务器数量,从而降低成本投入。
请参照图4,图4是本发明一个实施例提供的一种实时通信方法,该方法应用于服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本实施例的实施例通信方法包括步骤S300~S400。下面对各个步骤进行详细讨论:
S300、响应于终端的第一请求,与终端协商建立媒体流连接,其中,第一请求携带有用于对通话房间进行标识的通话房间信息,媒体流连接配置为收发连接。
具体的,步骤S300包括步骤S310~S340:
S310、响应于终端的第一请求,为终端分配第一IP地址;
S320、响应于终端的第二请求,与终端进行媒体协商,确定媒体流连接的连接信息;
S330、响应于终端的第三请求,与终端进行网络协商,确定媒体流连接的协商网络信息;
S340、响应于终端的第四请求,与终端之间建立媒体流连接。
其中,媒体流连接的连接信息可以是本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一。其中,对于服务器而言,本地端口号是服务器的分配的端口号,远程端口号是终端分配的端口号,数据类型可以是video(视频类型)、Audio(音频类型)或Data(其他数据类型);终端标识可以是随机生成的字符串,也可以是用户指定的字符串,用以对不同的终端进行标识;数据流标识用于对终端发送或订阅的数据流进行标识。协商网络信息可以是源IP地址、目的IP地址、源端口号、目的端口号、通信协议号等。值得注意的是,在实际应用中,媒体协商和网络协商可以同步进行,即在进行媒体协商的同时获取协商网络信息,本实施例对媒体协商和网络协商进行分步骤讨论仅是为了便于审查理解,而并非对本发明的具体限制。即步骤S320和步骤S330可以替换为:S350、响应于终端的第五请求,与终端进行协商,确定媒体流连接的连接信息和协商网络信息。
S400、基于媒体流连接创建第二数据发送轨道和第二数据订阅轨道,第二数据发送轨道和第二订阅轨道对媒体流连接进行复用,其中,第二数据发送轨道用于接收来自终端的流媒体,第二数据订阅轨道用于对终端订阅的流媒体进行封装。
需要说明的是,为了实现数据的对等传输,第二数据发送轨道的数据结构与第一数据发送轨道的数据结构相同,第二数据订阅轨道的数据结构与第一数据订阅轨道的数据结构相同。
具体的,步骤S400包括步骤:
S410、确定第二数据发送轨道的第三唯一标识和第二数据订阅轨道的第四唯一标识;
S420、根据连接信息中的数据类型,确定第二数据发送轨道的第三数据类型和第三编码格式,以及确定第二数据订阅轨道的第四数据类型和第四编码格式;
S430、根据第三唯一标识、第三数据类型和第三编码格式,创建第二数据发送轨道;
S440、根据第四唯一标识、第四数据类型和第四编码格式,创建第二数据订阅轨道。
在步骤S300中,服务器与终端之间协商建立媒体流连接,可以确定终端与服务器之间传输的数据类型,根据连接信息中的数据类型,可以相应确定第三数据类型和第四数据类型。应当理解的是,为了实现数据的对等传输,第三数据类型、第四数据类型与连接信息中的数据类型相同。例如,对于第二数据发送轨道中的音频发送轨道,确定第三数据类型为Audio,第三编码格式为16kHz Opus,对于第二数据发送轨道中的视频发送轨道,确定第三数据类型为Video,第三编码格式为H.264。
请参照图2和图3,服务器的第二数据发送轨道接收来自终端A的数据,并将数据写入待转发缓冲(即数据缓冲),服务器根据订阅记录进行数据分发(即分发数据),以使对应的终端(例如,终端B和终端C)能够订阅相应的信息(即订阅数据)。同理,终端B和终端C的数据发布到服务器后,经过服务器的待转发缓冲写入第二数据订阅轨道,第二数据订阅轨道复用媒体流连接将数据传输到终端A。如此,服务器与每个终端之间有且仅有一个连接,发送与订阅远端多路数据共用端口,使服务器与终端之间的连接数量大量减少,技术复杂性下降,性能提升,能够为用户提供更加稳定、延时更低的通信体验。单台服务器可以建立更多连接,容纳更多的房间,有利于减少部署所需要的服务器数量,从而降低成本投入。
请参照图5,图5是本发明一个实施例提供的一种实时通信装置,包括连接模块510和第一创建模块520,其中,
连接模块510用于基于通话房间信息与服务器协商建立媒体流连接,其中,通话房间信息用于对通话房间进行标识,媒体流连接配置为收发连接;
第一创建模块520用于基于媒体流连接创建第一数据发送轨道和第一数据订阅轨道,第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,其中,第一数据发送轨道用于对待发送的流媒体进行封装,第一数据订阅轨道用于接收订阅自服务器的流媒体。
本实施例的第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的媒体流连接数量,从而减少终端与服务器之间的端口占用数量,即终端与服务器之间的媒体流连接只需各占用终端和服务器的一个端口。对于终端而言,当单个房间中用户数量为n时,由于终端与服务器之间仅需一个流媒体连接,终端分配的端口数量仅为一个;对于服务器而言,服务器与所有终端之间的总连接数T’=n,与现有技术相比,本实施例的实时通信装置可以将终端与服务器之间的总连接数量降低为1/n,端口数量同样降低为1/n,有利于提高端口的数据处理速度,从而提高终端与服务器之间的通信稳定性和降低通信延时,有利于满足大型RTC房间场景的应用。
在本实施例中,连接模块510包括地址获取单元、媒体协商单元、网络协商单元和连接建立单元;地址获取单元用于获取由服务器基于通话房间信息分配的第一IP地址;媒体协商单元用于根据第一IP地址与服务器进行媒体协商,确定媒体流连接的连接信息;网络协商单元用于根据第一IP地址与服务器建立进行网络协商,确定媒体流连接的协商网络信息;连接建立单元用于根据媒体流连接的连接信息和协商网络信息,与服务器建立媒体流连接。
媒体流连接的连接信息对终端发送和接收的流媒体的数据格式、终端标识等信息进行了规定,协商网络信息确定了连接的对象以及通信协议,为后续的流媒体传输提供网络通信基础。
其中,媒体协商单元还用于根据第一IP地址,通过会话描述协议与服务器进行媒体协商,将媒体流连接配置为收发连接。媒体流连接的连接信息包括本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一。
在本实施例中,第一创建模块520包括第一确定单元、第二确定单元、第一创建单元和第二创建单元,第一确定单元用于确定第一数据发送轨道的第一唯一标识和第一数据订阅轨道的第二唯一标识;第二确定单元用于根据连接信息中的数据类型,确定第一数据发送轨道的第一数据类型和第一编码格式,以及确定第一数据订阅轨道的第二数据类型和第二编码格式;第一创建单元用于根据第一唯一标识、第一数据类型和第一编码格式,创建第一数据发送轨道;第二创建单元用于根据第二唯一标识、第二数据类型和第二编码格式,创建第一数据订阅轨道。
其中,第一数据发送轨道包括音频发送轨道和视频发送轨道,音频发送轨道用于封装待发送给服务器的音频轨道数据,视频发送轨道用于封装待发送给服务器的视频轨道数据。
第一数据订阅轨道的数量为多个,每个第一数据订阅轨道均包括音频订阅轨道和视频订阅轨道,音频订阅轨道用于接收来自服务器的音频轨道数据,视频订阅轨道用于接收来自服务器的视频轨道数据。
请参照图6,图6是本发明一个实施例提供的一种实时通信装置,包括响应模块610和第二创建模块620;
响应模块610用于响应于终端的第一请求,与终端协商建立媒体流连接,其中,第一请求携带有用于对通话房间进行标识的通话房间信息,媒体流连接配置为收发连接。
第二创建模块620用于基于媒体流连接创建第二数据发送轨道和第二数据订阅轨道,第二数据发送轨道和第二订阅轨道对媒体流连接进行复用,其中第二数据发送轨道用于接收来自终端的流媒体,第二数据订阅轨道用于对终端订阅的流媒体进行封装。
本实施例的第二数据发送轨道和第二数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的媒体流连接数量,从而减少终端与服务器之间的端口占用数量,即终端与服务器之间的媒体流连接只需各占用终端和服务器的一个端口。对于终端而言,当单个房间中用户数量为n时,由于终端与服务器之间仅需一个流媒体连接,终端分配的端口数量仅为一个;对于服务器而言,服务器与所有终端之间的总连接数T’=n,与现有技术相比,本实施例的实时通信装置可以将终端与服务器之间的总连接数量降低为1/n,端口数量同样降低为1/n,有利于提高端口的数据处理速度,从而提高终端与服务器之间的通信稳定性和降低通信延时,有利于满足大型RTC房间场景的应用。
在本实施例中,响应模块610包括第一响应单元、第二响应单元、第三响应单元和第四响应单元,第一响应单元用于响应于终端的第一请求,为终端分配第一IP地址;第二响应单元用于响应于终端的第二请求,与终端进行媒体协商,确定媒体流连接的连接信息;第三响应单元用于响应于终端的第三请求,与终端进行网络协商,确定媒体流连接的协商网络信息;第四响应单元用于响应于终端的第四请求,与终端之间建立媒体流连接。
需要说明的是,第二响应单元和第三响应单元可以用第五响应单元进行替换,其中,第五响应单元用于响应于终端的第五请求,与终端进行协商,确定媒体流连接的连接信息和协商网络信息。
在本实施例中,第二创建模块620包括第三确定单元、第四确定单元、第三创建单元和第四创建单元,第三确定单元用于确定第二数据发送轨道的第三唯一标识和第二数据订阅轨道的第四唯一标识;第四确定单元用于根据连接信息中的数据类型,确定第二数据发送轨道的第三数据类型和第三编码格式,以及确定第二数据订阅轨道的第四数据类型和第四编码格式;第三创建单元用于根据第三唯一标识、第三数据类型和第三编码格式,创建第二数据发送轨道;第四创建单元用于根据第四唯一标识、第四数据类型和第四编码格式,创建第二数据订阅轨道。
请参照图2和图3,服务器的第二数据发送轨道接收来自终端A的数据,并将数据写入待转发缓冲(即数据缓冲),服务器根据订阅记录进行数据分发(即分发数据),以使对应的终端(例如,终端B和终端C)能够订阅相应的信息(即订阅数据)。同理,终端B和终端C的数据发布到服务器后,经过服务器的待转发缓冲写入第二数据订阅轨道,第二数据订阅轨道复用媒体流连接将数据传输到终端A。如此,服务器与每个终端之间有且仅有一个连接,发送与订阅远端多路数据共用端口,使服务器与终端之间的连接数量大量减少,技术复杂性下降,性能提升,能够为用户提供更加稳定、延时更低的通信体验。单台服务器可以建立更多连接,容纳更多的房间,有利于减少部署所需要的服务器数量,从而降低成本投入。
请参照图7,本实施例还提供一种设备,包括处理器710以及与处理器710耦接的存储器720,存储器720存储有可被处理器710执行的程序指令,处理器710执行存储器720存储的程序指令时实现上述的实时通信方法。其中,处理器710还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器710可能是一种集成电路芯片,具有信号的处理能力。处理器710还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者,通用处理器还可以是任何常规的处理器等。
本实施例的第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的媒体流连接数量,从而减少终端与服务器之间的端口占用数量,即终端与服务器之间的媒体流连接只需各占用终端和服务器的一个端口。对于终端而言,当单个房间中用户数量为n时,由于终端与服务器之间仅需一个流媒体连接,终端分配的端口数量仅为一个;对于服务器而言,服务器与所有终端之间的总连接数T’=n,与现有技术相比,本实施例的实时通信方法可以将终端与服务器之间的总连接数量降低为1/n,端口数量同样降低为1/n,有利于提高端口的数据处理速度,从而提高终端与服务器之间的通信稳定性和降低通信延时,有利于满足大型RTC房间场景的应用。
请参照图8,本实施例还提供一种存储介质,存储介质内存储有程序指令810,程序指令810被处理器执行时实现能够实现上述的实时通信方法。
本实施例的第一数据发送轨道和第一数据订阅轨道对媒体流连接进行复用,可以减少终端与服务器之间的媒体流连接数量,从而减少终端与服务器之间的端口占用数量,即终端与服务器之间的媒体流连接只需各占用终端和服务器的一个端口。对于终端而言,当单个房间中用户数量为n时,由于终端与服务器之间仅需一个流媒体连接,终端分配的端口数量仅为一个;对于服务器而言,服务器与所有终端之间的总连接数T’=n,与现有技术相比,本实施例的实时通信方法可以将终端与服务器之间的总连接数量降低为1/n,端口数量同样降低为1/n,有利于提高端口的数据处理速度,从而提高终端与服务器之间的通信稳定性和降低通信延时,有利于满足大型RTC房间场景的应用。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质(简称存储介质)上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机可读介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (7)
1.一种实时通信方法,应用于终端,其特征在于,包括:
获取由服务器基于通话房间信息分配的第一IP地址,其中,所述通话房间信息用于对通话房间进行标识;
根据所述第一IP地址与所述服务器进行媒体协商,确定媒体流连接的连接信息,其中,所述连接信息包括本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一;
根据所述第一IP地址与所述服务器建立进行网络协商,确定所述媒体流连接的协商网络信息;
根据所述连接信息和所述协商网络信息,与所述服务器建立所述媒体流连接,其中,所述媒体流连接配置为收发连接;
确定第一数据发送轨道的第一唯一标识和第一数据订阅轨道的第二唯一标识;
根据所述连接信息中的数据类型,确定所述第一数据发送轨道的第一数据类型和第一编码格式,以及确定所述第一数据订阅轨道的第二数据类型和第二编码格式;
根据所述第一唯一标识、所述第一数据类型和所述第一编码格式,创建所述第一数据发送轨道;
根据所述第二唯一标识、所述第二数据类型和所述第二编码格式,创建所述第一数据订阅轨道;
其中,所述第一数据发送轨道和所述第一数据订阅轨道对所述媒体流连接进行复用,所述媒体流连接各占用所述终端和所述服务器的一个端口,所述第一数据发送轨道用于对待发送的流媒体进行封装,所述第一数据订阅轨道用于接收订阅自所述服务器的流媒体。
2.根据权利要求1所述的实时通信方法,其特征在于,所述根据所述第一IP地址与所述服务器进行媒体协商,包括:
根据所述第一IP地址通过会话描述协议与所述服务器进行媒体协商,将所述媒体流连接配置为收发连接。
3.一种实时通信方法,应用于服务器,其特征在于,所述方法包括:
响应于终端的第一请求,为所述终端分配第一IP地址,其中,所述第一请求携带有用于对通话房间进行标识的通话房间信息;
响应于所述终端的第二请求,与所述终端进行媒体协商,确定媒体流连接的连接信息,其中,所述连接信息包括本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一;
响应于所述终端的第三请求,与所述终端进行网络协商,确定媒体流连接的协商网络信息;
响应于所述终端的第四请求,与所述终端之间建立媒体流连接,其中,所述媒体流连接配置为收发连接;
确定第二数据发送轨道的第三唯一标识和第二数据订阅轨道的第四唯一标识;
根据所述连接信息中的数据类型,确定所述第二数据发送轨道的第三数据类型和第三编码格式,以及确定所述第二数据订阅轨道的第四数据类型和第四编码格式;
根据所述第三唯一标识、所述第三数据类型和所述第三编码格式,创建所述第二数据发送轨道;
根据所述第四唯一标识、所述第四数据类型和所述第四编码格式,创建所述第二数据订阅轨道;
其中,所述第二数据发送轨道和所述第二数据订阅轨道对所述媒体流连接进行复用,所述媒体流连接各占用所述终端和所述服务器的一个端口,所述第二数据发送轨道用于接收来自所述终端的流媒体,所述第二数据订阅轨道用于对所述终端订阅的流媒体进行封装。
4.一种实时通信装置,其特征在于,包括:
连接模块,用于获取由服务器基于通话房间信息分配的第一IP地址,根据所述第一IP地址与所述服务器进行媒体协商,确定媒体流连接的连接信息,根据所述第一IP地址与所述服务器建立进行网络协商,确定所述媒体流连接的协商网络信息,根据所述连接信息和所述协商网络信息,与所述服务器建立所述媒体流连接,其中,所述通话房间信息用于对通话房间进行标识,所述媒体流连接配置为收发连接,所述连接信息包括本地端口号、远程端口号、数据类型、终端标识和数据流标识中的至少之一;
第一创建模块,用于确定第一数据发送轨道的第一唯一标识和第一数据订阅轨道的第二唯一标识,根据所述连接信息中的数据类型,确定所述第一数据发送轨道的第一数据类型和第一编码格式,以及确定所述第一数据订阅轨道的第二数据类型和第二编码格式,根据所述第一唯一标识、所述第一数据类型和所述第一编码格式,创建所述第一数据发送轨道,根据所述第二唯一标识、所述第二数据类型和所述第二编码格式,创建所述第一数据订阅轨道;
其中,所述第一数据发送轨道和所述第一数据订阅轨道对所述媒体流连接进行复用,所述媒体流连接各占用所述终端和所述服务器的一个端口,所述第一数据发送轨道用于对待发送的流媒体进行封装,所述第一数据订阅轨道用于接收订阅自所述服务器的流媒体。
5.一种实时通信装置,其特征在于,包括:
响应模块,用于响应于终端的第一请求,为所述终端分配第一IP地址,响应于所述终端的第二请求,与所述终端进行媒体协商,确定媒体流连接的连接信息,响应于所述终端的第三请求,与所述终端进行网络协商,确定媒体流连接的协商网络信息,响应于所述终端的第四请求,与所述终端之间建立媒体流连接,其中,所述第一请求携带有用于对通话房间进行标识的通话房间信息,所述第一请求携带有用于对通话房间进行标识的通话房间信息,所述媒体流连接配置为收发连接;
第二创建模块,用于确定第二数据发送轨道的第三唯一标识和第二数据订阅轨道的第四唯一标识,根据所述连接信息中的数据类型,确定所述第二数据发送轨道的第三数据类型和第三编码格式,以及确定所述第二数据订阅轨道的第四数据类型和第四编码格式,根据所述第三唯一标识、所述第三数据类型和所述第三编码格式,创建所述第二数据发送轨道,根据所述第四唯一标识、所述第四数据类型和所述第四编码格式,创建所述第二数据订阅轨道;
其中,所述第二数据发送轨道和所述第二数据订阅轨道对所述媒体流连接进行复用,所述媒体流连接各占用所述终端和服务器的一个端口,所述第二数据发送轨道用于接收来自所述终端的流媒体,所述第二数据订阅轨道用于对所述终端订阅的流媒体进行封装。
6.一种设备,包括处理器以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令,所述处理器执行所述存储器存储的所述程序指令时实现如权利要求1至3任意一项所述的实时通信方法。
7.一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现如权利要求1至3任意一项所述的实时通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028883.1A CN114338625B (zh) | 2022-01-11 | 2022-01-11 | 实时通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028883.1A CN114338625B (zh) | 2022-01-11 | 2022-01-11 | 实时通信方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338625A CN114338625A (zh) | 2022-04-12 |
CN114338625B true CN114338625B (zh) | 2023-09-15 |
Family
ID=81025836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210028883.1A Active CN114338625B (zh) | 2022-01-11 | 2022-01-11 | 实时通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338625B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726804B (zh) * | 2022-03-16 | 2022-10-18 | 深圳大学 | 周期性数据包的数据调度方法、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1636398A (zh) * | 2001-05-24 | 2005-07-06 | Vixs系统公司 | 多媒体系统中管理信息资源及多路复用频道的方法与设备 |
WO2006040903A1 (ja) * | 2004-10-14 | 2006-04-20 | Tokyo Denki University | 交換ノード及び交換ノード制御方法 |
CN101179369A (zh) * | 2006-11-06 | 2008-05-14 | 华为技术有限公司 | 在分离架构下实现电路复用的方法和系统 |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
CN103391481A (zh) * | 2013-07-12 | 2013-11-13 | 亿览在线网络技术(北京)有限公司 | 一种基于实时消息传送协议的数据交互方法、装置和系统 |
CN110213523A (zh) * | 2019-04-25 | 2019-09-06 | 浙江华创视讯科技有限公司 | 视频会议处理方法、系统、装置、计算机设备和存储介质 |
CN112738140A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 |
CN112738644A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法和装置 |
CN113132376A (zh) * | 2021-04-14 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法及装置、系统、电子设备和存储介质 |
CN113746808A (zh) * | 2021-08-12 | 2021-12-03 | 杭州网易智企科技有限公司 | 线上会议的融合通信方法、网关、电子设备及存储介质 |
CN113890869A (zh) * | 2021-10-18 | 2022-01-04 | 济南驰昊电力科技有限公司 | 一种流媒体分发方法 |
-
2022
- 2022-01-11 CN CN202210028883.1A patent/CN114338625B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1636398A (zh) * | 2001-05-24 | 2005-07-06 | Vixs系统公司 | 多媒体系统中管理信息资源及多路复用频道的方法与设备 |
WO2006040903A1 (ja) * | 2004-10-14 | 2006-04-20 | Tokyo Denki University | 交換ノード及び交換ノード制御方法 |
CN101179369A (zh) * | 2006-11-06 | 2008-05-14 | 华为技术有限公司 | 在分离架构下实现电路复用的方法和系统 |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
CN103391481A (zh) * | 2013-07-12 | 2013-11-13 | 亿览在线网络技术(北京)有限公司 | 一种基于实时消息传送协议的数据交互方法、装置和系统 |
CN110213523A (zh) * | 2019-04-25 | 2019-09-06 | 浙江华创视讯科技有限公司 | 视频会议处理方法、系统、装置、计算机设备和存储介质 |
CN112738140A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 |
CN112738644A (zh) * | 2021-04-01 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法和装置 |
CN113132376A (zh) * | 2021-04-14 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法及装置、系统、电子设备和存储介质 |
CN113746808A (zh) * | 2021-08-12 | 2021-12-03 | 杭州网易智企科技有限公司 | 线上会议的融合通信方法、网关、电子设备及存储介质 |
CN113890869A (zh) * | 2021-10-18 | 2022-01-04 | 济南驰昊电力科技有限公司 | 一种流媒体分发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114338625A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101320908B1 (ko) | 유니캐스트 세션들과 멀티캐스트 세션 간을 변환하기 위한방법 | |
US8385234B2 (en) | Media stream setup in a group communication system | |
CN110049271B (zh) | 一种视联网会议信息展示方法及装置 | |
CN110062191B (zh) | 一种基于视联网的多方组会方法和服务器 | |
US20100287238A1 (en) | Multiway peer-to-peer media streaming | |
EP1961139A2 (en) | Audio chat system based on peer-to-peer architecture | |
CN111478884B (zh) | 不同视联网之间进行数据传输的方法、装置和存储介质 | |
US9270937B2 (en) | Real time stream provisioning infrastructure | |
US6928087B2 (en) | Method and apparatus for automatic cross-media selection and scaling | |
CN114338625B (zh) | 实时通信方法、装置、设备及存储介质 | |
CN109286775B (zh) | 一种多人会议控制方法及系统 | |
CN109451001B (zh) | 一种通讯方法和系统 | |
CN113194335B (zh) | 流媒体传输方法、传输设备和播放设备 | |
CN111182258B (zh) | 一种网络会议的数据传输方法和装置 | |
CN111131840B (zh) | 一种视频业务系统切换网络的方法及装置 | |
CN110719435B (zh) | 一种进行终端会议的方法和系统 | |
CN110611639A (zh) | 流媒体会议的音频数据处理方法和装置 | |
CN112866390A (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN117219096A (zh) | 一种在实时云渲染环境下多用户语音空间音频的实现方法 | |
Saveliev et al. | Architecture of data exchange with minimal client-server interaction at multipoint video conferencing | |
CN110087020B (zh) | 一种iOS设备进行视联网会议的实现方法及系统 | |
CN114374816A (zh) | 基于视频会议的信息交互方法、服务器及终端设备 | |
CN115134628B (zh) | 流媒体传输方法、装置、终端设备及存储介质 | |
JP2010171663A (ja) | 通信方法、通信システム、通信装置、およびコンピュータプログラム | |
CN115277569A (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 |