CN114125497B - Sfu架构及其媒体传输方法及电子设备 - Google Patents
Sfu架构及其媒体传输方法及电子设备 Download PDFInfo
- Publication number
- CN114125497B CN114125497B CN202111402361.5A CN202111402361A CN114125497B CN 114125497 B CN114125497 B CN 114125497B CN 202111402361 A CN202111402361 A CN 202111402361A CN 114125497 B CN114125497 B CN 114125497B
- Authority
- CN
- China
- Prior art keywords
- media
- media data
- data packet
- processing module
- unified
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004806 packaging method and process Methods 0.000 claims description 27
- 238000005538 encapsulation Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 9
- 239000004744 fabric Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/22—Parsing or analysis of headers
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种SFU架构及其媒体传输方法及电子设备,属于计算机技术领域。该电子设备包括统一接收端口、解析单元、多个媒体处理模块,统一接收端口用于获取对端发送的第一媒体数据包;解析单元与统一接收端口连接,用于对第一媒体数据包的包头进行解析,获取携带于包头中的用于标识媒体数据包所属数据类型的标识符,将第一媒体数据包发送给标识符对应的媒体处理模块;多个媒体处理模块每个媒体处理模块均与解析单元连接,每个媒体处理模块对应一个唯一的标识符,每个媒体处理模块用于对解析单元发送的媒体数据包进行处理。以解决现有的SFU架构中,媒体数据传输会占用服务器或客户端过多端口的问题。
Description
技术领域
本申请涉及计算机的技术领域,具体而言,涉及一种SFU架构及其媒体传输方法及电子设备。
背景技术
目前常用的多方通信架构主要有Mesh(无线网格网络)方案、MCU(MultipointConferencing Unit,多点会议单元)方案、SFU方案三种,其中,最常用的是SFU方案。
现有的SFU(Selective Forwarding Unit,选择性转发单元)架构如图1所示,服务器和客户端均会将端口与媒体处理模块绑定,即每个端口仅用于接收或发送一种数据类型的媒体数据,由于媒体数据的数据类型较多,使得服务器和每个客户端之间均需要多个端口进行媒体数据的传输,导致媒体数据传输会占用服务器或客户端过多端口。
发明内容
本申请提供一种SFU架构及其媒体传输方法及电子设备,以解决现有的SFU架构中,媒体数据传输会占用服务器或客户端过多端口的问题。
第一方面,本申请提供一种电子设备,包括统一接收端口、解析单元、多个媒体处理模块,统一接收端口用于获取对端发送的第一媒体数据包;解析单元与所述统一接收端口连接,用于对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第一媒体数据包发送给所述标识符对应的媒体处理模块,其中,每个标识符仅用于标识一种数据类型;多个媒体处理模块每个所述媒体处理模块均与所述解析单元连接,每个所述媒体处理模块对应一个唯一的标识符,每个所述媒体处理模块用于对所述解析单元发送的媒体数据包进行处理。
本申请实施例中,通过解析单元对第一媒体数据包的进行解析,得到包头中的用于标识媒体数据包所属数据类型的标识符,进而能够确定第一媒体数据包的数据类型,使得能将通过统一接收端口接收的第一数据包发送给对应的媒体处理模块进行处理,无需为每一种数据类型的媒体数据包均设置一个接收端口,从而减少用于接收媒体数据包的端口的数量。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述电子设备还包括封装单元,每个所述媒体处理模块均与所述封装单元连接,所述封装单元用于将每个所述媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符;统一发送端口,用于输出所述第二媒体数据包。
本申请实施例中,通过封装单元对每个媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,并通过统一发送端口输出第二媒体数据包,由于第二媒体数据包的包头携带有用于标识该第二媒体数据包所属数据类型的标识符,使得接收到该第二媒体数据包的设备能基于该标识符确定该第二媒体数据包的数据类型,无需为每一种数据类型的媒体数据包单独设置一个发送端口,减少了用于发送媒体数据包的端口的数量。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述媒体数据包的数据类型为RTP(Real-time Transport Protocol,实时传输协议)音频、RTP视频、RTCP(Real-time Transport Control Protocol或RTP Control Protocol,实时传输协议)音频、RTCP视频、RTSP(Real Time Streaming Protocol,实时流传输协议)音频、RTSP视频、RTMP(Real Time Messaging Protocol,实时消息传输协议)音频、RTMP视频中的任意一种。
本申请实施例中,用不同的标识符表征RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频这8中数据类型的媒体数据包,实现了用一个统一发送端口和一个统一接收端口接收和发送上述8中数据类型的媒体数据包,相较于现有技术,大大减少了端口的占用数量。
第二方面,本申请提供一种基于SFU架构的媒体传输方法,应用于电子设备中的解析单元,所述电子设备还包括统一接收端口和多个媒体处理模块,所述统一接收端口与所述解析单元连接,所述多个媒体处理模块中的每个媒体处理模块均与所述解析单元连接,所述方法包括:获取所述统一接收端口获取自对端发送的第一媒体数据包;对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识所述第一媒体数据包所属数据类型的标识符,其中,每个标识符仅用于标识一种数据类型;将所述第一媒体数据包发送给所述标识符对应的媒体处理模块,以使所述标识符对应的媒体处理模块处理所述第一媒体数据包,其中,每个媒体处理模块唯一对应一个标识符。
结合上述第二方面提供的技术方案,在一些可能的实施方式中,所述第一媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
第三方面,本申请提供一种基于SFU架构的媒体传输方法,应用于电子设备中的封装单元,所述电子设备还包括统一发送端口和多个媒体处理模块,所述统一发送端口与所述封装单元连接,所述多个媒体处理模块中的每个媒体处理模块均与所述封装单元连接,所述方法包括:获取所述媒体处理模块发送的媒体数据,不同所述媒体处理模块发送的媒体数据的数据类型不同;针对每个媒体处理模块发送的媒体数据,封装该媒体数据,得到第二媒体数据包,其中,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符,不同的标识符标识的数据类型不同;通过所述统一发送端口输出所述第二媒体数据包。
结合上述第三方面提供的技术方案,在一些可能的实施方式中,所述第二媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
第四方面,本申请提供一种SFU架构,包括SFU服务器和客户终端,所述SFU服务器和所述客户终端连接;所述SFU服务器包括第一统一接收端口、第一解析单元、多个第一媒体处理模块,第一统一接收端口用于获取所述客户终端发送的第一媒体数据包;第一解析单元与所述第一统一接收端口连接,用于对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第一媒体数据包发送给所述标识符对应的第一媒体处理模块,其中,每个标识符仅用于标识一种数据类型;多个第一媒体处理模块中的每个所述第一媒体处理模块均与所述第一解析单元连接,每个所述第一媒体处理模块对应一个唯一的标识符,每个所述第一媒体处理模块用于对所述第一解析单元发送的媒体数据包处理。所述客户终端包括多个第二媒体处理模块、第二封装单元、第二统一发送端口,多个第二媒体处理模块中的每个所述第二媒体处理模块对应一个唯一的标识符;第二封装单元,所述多个第二媒体处理模块中的每个所述第二媒体处理模块均与所述第二封装单元连接,所述第二封装单元用于将每个所述第二媒体处理模块传输的媒体数据包单独进行封装,得到第一媒体数据包,所述第一媒体数据包的包头携带有用于标识所述第一媒体数据包所属数据类型的标识符;第二统一发送端口,用于将所述第一媒体数据包发送至所述SFU服务器。
结合上述第四方面提供的技术方案,在一些可能的实施方式中,所述SFU服务器还包括第一封装单元、第一统一发送端口,每个所述第一媒体处理模块均与所述第一封装单元连接,所述第一封装单元用于将每个所述第一媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符;第一统一发送端口用于将所述第二媒体数据包发送至所述客户终端。所述客户终端还包括第二统一接收端口、第二解析单元,第二统一接收端口用于获取所述SFU服务器发送的第二媒体数据包;第二解析单元与所述第二统一接收端口连接,用于对所述第二媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第二媒体数据包发送给所述标识符对应的第二媒体处理模块,其中,每个标识符仅用于标识一种数据类型;所述多个第二媒体处理模块中的每个所述第二媒体处理模块用于对所述第二解析单元发送的第二媒体数据包处理。
结合上述第四方面提供的技术方案,在一些可能的实施方式中,所述客户终端的数量为N,相应的,所述SFU服务器包括N个第一统一接收端口、N个第一统一发送端口,其中,所述SFU服务器的一个第一统一接收端口与一个客户终端的第二统一发送端口连接,所述SFU服务器的一个第一统一发送端口与一个客户终端的第二统一接收端口连接。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有的SFU架构的结构示意图;
图2为本申请实施例示出的一种电子设备的结构示意图;
图3为本申请实施例示出的又一种电子设备的结构示意图;
图4为本申请实施例示出的一种基于SFU架构的媒体传输方法的流程示意图;
图5为本申请实施例示出的又一种基于SFU架构的媒体传输方法的流程示意图;
图6为本申请实施例示出的一种客户终端和SFU服务器连接关系示意图;
图7为本申请实施例示出的一种包括N个客户终端和一个SFU服务器的SFU架构的结构示意图。
具体实施方式
术语“第一”、“第二”、“第三”等仅用于区分描述,并不表示排列序号,也不能理解为指示或暗示相对重要性。
下面将结合附图对本申请的技术方案进行清楚、完整地描述。
为了解决现有的SFU架构中,媒体数据传输会占用服务器或客户端过多端口的问题,本申请提供一种电子设备,以减少媒体数据传输占用服务器或客户端端口的数量。
请参阅图2,图2为本申请实施例提供的一种电子设备的结构框图,该电子设备包括统一接收端口、解析单元、多个媒体处理模块,其中,每个媒体处理模块均与解析单元连接,解析单元还与统一接收端口连接。
其中,统一接收端口用于获取对端发送的第一媒体数据包,例如,当该电子设备为服务器时,统一接收端口用于获取客户终端发送的第一媒体数据包;当该电子设备为客户终端时,统一接收端口用于获取服务器发送的第一媒体数据包。
解析单元与统一接收端口连接,用于对第一媒体数据包的包头进行解析,获取携带于包头中的用于标识媒体数据包所属数据类型的标识符,将第一媒体数据包发送给标识符对应的媒体处理模块,其中,每个标识符仅用于标识一种数据类型。
可选的,标识符可以为SSRC(同步信源)字段,通过不同的SSRC字段表征不同的数据类型,在解析单元接收到第一媒体数据包时,获取携带于包头中的用于标识媒体数据包所属数据类型的SSRC字段,将该第一媒体数据包发送给SSRC字段对应的媒体处理模块,例如,当SSRC字段为0001时,表示携带有该SSRC字段的媒体数据包的数据类型为RTP音频,则解析单元将包头携带的SSRC字段为0001的媒体数据包发送给用于处理数据类型为RTP音频的媒体处理模块;当SSRC字段为0000时,表示携带有该SSRC字段的媒体数据包的数据类型为RTP视频,则解析单元将包头携带的SSRC字段为0000的媒体数据包发送给用于处理数据类型为RTP视频的媒体处理模块。其中,媒体数据的类型、SSRC字段的具体取值,及不同取值的SSRC字段对应的媒体数据类型可以均根据实际需求设置,上述举例仅为便于理解,不应作为对本申请的限制。
多个媒体处理模块中的每个所述媒体处理模块均与所述解析单元连接,每个所述媒体处理模块对应一个唯一的标识符,每个所述媒体处理模块用于对所述解析单元发送的媒体数据包进行处理。
媒体处理模块可以是一种集成电路芯片,具有媒体数据处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
媒体处理模块的数量可以根据该电子设备需要处理的媒体数据包的数据类型的数量确定,例如,该电子设备需要处理N种数据类型的媒体数据包,则该电子设备中至少设置有N个媒体处理模块,每个媒体处理模块用于处理一种数据类型的媒体数据包,其中,N为大于等于1的正整数。或者,该电子设备可以设置有大于N个媒体处理模块,此时,可以是多个媒体处理模块处理同一种数据类型的媒体数据包,以提高处理效率。
一种实施方式下,电子设备还包括封装单元、统一发送端口,每个媒体处理模块均与封装单元连接,封装单元还与统一发送端口连接,该电子设备通过一个统一发送端口向对端发送媒体数据包,为了便于理解,请参阅图3。
其中,每个媒体处理模块均与封装单元连接,封装单元用于将每个媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,该第二媒体数据包的包头携带有用于标识第二媒体数据包所属数据类型的标识符。
可选的,标识符可以为SSRC字段,通过不同的SSRC字段表征不同的数据类型,在封装单元接收到媒体处理模块传输的媒体数据包后,将该媒体数据包媒体中的SSRC字段修改为与该媒体数据包数据类型对应的SSRC字段,例如,当媒体数据包的数据类型为RTP音频,且SSRC字段为0001,表示携带有该SSRC字段的媒体数据包的数据类型为RTP音频时,封装单元将媒体数据包中的SSRC字段修改为0001;当媒体数据包的数据类型为RTP视频,且SSRC字段为0000,表示携带有该SSRC字段的媒体数据包的数据类型为RTP视频时,封装单元将媒体数据包中的SSRC字段修改为0000。其中,媒体数据的类型、SSRC字段的具体取值,及不同取值的SSRC字段对应的媒体数据类型可以均根据实际需求设置,上述举例仅为便于理解,不应作为对本申请的限制。
通过封装单元对每个媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,并通过统一发送端口输出第二媒体数据包,由于第二媒体数据包的包头携带有用于标识该第二媒体数据包所属数据类型的标识符,使得接收到该第二媒体数据包的设备能基于该标识符确定该第二媒体数据包的数据类型,无需为每一种数据类型的媒体数据包单独设置一个发送端口,减少了用于发送媒体数据包的端口的数量。
统一发送端口,用于向对端输出第二媒体数据包。例如,当该电子设备为服务器时,统一发送端口用于向客户终端发送媒体数据包;当该电子设备为客户终端时,统一发送端口用于向服务器发送媒体数据包。其中,向对端输出第二媒体数据包的数据类型可以相同,也可以不同。
一种实施方式下,媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。其中,不同数据类型对应不同的标识符。
可选的,媒体数据包的数据类型还可以包括其他数据类型,例如可以包括通过自定义的媒体传输协议传输的音频或视频数据类型的媒体数据包,此时,封装单元可以通过在数据包的包头添加标识符的方式,来区分不同的数据类型,具体添加标识符的方法及利用不同标识符表征不同数据类型的媒体数据包的方法在前文已叙述清楚,此处不再赘述。
请参阅图4,图4为本申请实施例提供的一种基于SFU架构的媒体传输方法。该方法应用于上述电子设备中的解析单元,该解析单元与统一接收端口和多个媒体处理模块中的每个媒体处理模块连接。
S110:获取统一接收端口获取自对端发送的第一媒体数据包。
统一接收端口获取对端发送的第一媒体数据包后,将第一媒体数据包发送给解析单元,从而获得该第一媒体数据包。
S120:对第一媒体数据包的包头进行解析,获取携带于包头中的用于标识第一媒体数据包所属数据类型的标识符。
解析单元对第一媒体数据包的包头进行解析,可以获取携带于解析包包头中的用于标识第一媒体数据包所属数据类型的标识符,其中,每个标识符仅用于标识一种数据类型。
S130:将所述第一媒体数据包发送给该标识符对应的媒体处理模块。
解析单元将第一媒体数据包发送给该标识符对应的媒体处理模块,以使该标识符对应的媒体处理模块处理该第一媒体数据包。
其中,每个媒体处理模块唯一对应一个标识符。
其中,第一媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。不同数据类型的媒体数据包对应的标识符不同。
本申请实施例所提供的基于SFU架构的媒体传输方法,其实现原理及产生的技术效果和前述电子设备的实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述电子设备实施例中相应内容。
请参阅图5,图5为本申请实施例提供的又一种基于SFU架构的媒体传输方法。该方法应用于上述电子设备中的封装单元,封装单元与统一发送端口和多个媒体处理模块中的每个媒体处理模连接。
S210:获取所述媒体处理模块发送的媒体数据包。
媒体处理模块将媒体数据包发送给封装单元,其中,不同媒体处理模块发送的媒体数据的数据类型不同。
S220:针对每个媒体处理模块发送的媒体数据,封装该媒体数据,得到第二媒体数据包。
封装单元对每个媒体处理模块发送的媒体数据单独进行封装,得到第二媒体数据包,其中,第二媒体数据包的包头携带有用于标识第二媒体数据包所属数据类型的标识符,不同的标识符标识的数据类型不同。
S230:通过所述统一发送端口输出所述第二媒体数据包。
封装单元将第二媒体数据包发送给统一发送端口,进而通过统一发送端口将第二媒体数据包输出给对端。
其中,述第二媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
本申请实施例所提供的基于SFU架构的媒体传输方法,其实现原理及产生的技术效果和前述电子设备的实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述电子设备实施例中相应内容。
本申请实施例提供的一种SFU架构,该SFU架构包括SFU服务器和客户终端,SFU服务器和客户终端连接。
一种实施方式下,SFU服务器包括第一统一接收端口、第一解析单元和多个第一媒体处理模块。第一统一接收端口用于获取客户终端发送的第一媒体数据包;第一解析单元与第一统一接收端口连接,用于对第一媒体数据包的包头进行解析,获取携带于包头中的用于标识媒体数据包所属数据类型的标识符,将第一媒体数据包发送给标识符对应的第一媒体处理模块,其中,每个标识符仅用于标识一种数据类型;多个第一媒体处理模块中的每个第一媒体处理模块均与第一解析单元连接,每个第一媒体处理模块对应一个唯一的标识符,每个第一媒体处理模块用于对第一解析单元发送的媒体数据包处理。
客户终端包括多个第二媒体处理模块、第二封装单元、第二统一发送端口,多个第二媒体处理模块中的每个第二媒体处理模块对应一个唯一的标识符;多个第二媒体处理模块中的每个第二媒体处理模块均与第二封装单元连接,第二封装单元用于将每个第二媒体处理模块传输的媒体数据包单独进行封装,得到第一媒体数据包,第一媒体数据包的包头携带有用于标识第一媒体数据包所属数据类型的标识符;第二统一发送端口用于将第一媒体数据包发送至SFU服务器。
又一种实施方式下,SFU服务器还包括第一封装单元、第一统一发送端口,每个第一媒体处理模块均与第一封装单元连接,第一封装单元用于将每个第一媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,第二媒体数据包的包头携带有用于标识第二媒体数据包所属数据类型的标识符;第一统一发送端口用于将第二媒体数据包发送至客户终端。
客户终端还包括第二统一接收端口、第二解析单元,第二统一接收端口用于获取SFU服务器发送的第二媒体数据包;第二解析单元与第二统一接收端口连接,用于对第二媒体数据包的包头进行解析,获取携带于包头中的用于标识媒体数据包所属数据类型的标识符,将第二媒体数据包发送给标识符对应的第二媒体处理模块,其中,每个标识符仅用于标识一种数据类型;多个第二媒体处理模块中的每个第二媒体处理模块用于对第二解析单元发送的第二媒体数据包处理。
其中,上述的第一统一接收端口、第一解析单元、多个第一媒体处理模块、多个第二媒体处理模块、第二封装单元、第二统一发送端口中的第一、第二仅为区分其是属于客户终端,还是属于SFU服务器,第一统一接收端口、第一解析单元、多个第一媒体处理模块、第一封装单元、第一统一发送端口、多个第二媒体处理模块、第二封装单元、第二统一发送端口、第二统一接收端口、第二解析单元与前文记载的统一接收端口、解析单元、媒体处理模块、封装单元、统一发送端口的功能及原理相同,为简要描述,此处不再赘述。
为了便于理解上述的SFU服务器和客户终端之间的连接关系,请参阅图6,图6展示了一种SFU服务器和一个客户终端之间的连接关系,其中,SFU服务器和客户终端均包括RTP音频、RTP视频、RTCP音频、RTCP视频这四种媒体数据类型对应的媒体处理模块,即RTP音频处理模块、RTP视频处理模块、RTCP音频处理模块、RTCP视频处理模块。每个媒体处理模块均与解析单元连接,用于处理解析单元发送的媒体数据包,同时,每个媒体处理模块还与封装单元连接,用于向封装单元发送媒体数据包,以使封装单元对媒体数据包进行封装。客户终端通过统一接收端口接收SFU服务器通过统一发送端口发送的媒体数据包,同时,客户终端通过统一发送端口向SFU服务器的统一接收端口发送媒体数据包,完成客户终端和SFU服务器之间的数据交互。
当客户终端的数量为N时,相应的,SFU服务器包括N个第一统一接收端口、N个第一统一发送端口,其中,所述SFU服务器的一个第一统一接收端口与一个客户终端的第二统一发送端口连接,所述SFU服务器的一个第一统一发送端口与一个客户终端的第二统一接收端口连接。
为了便于理解SFU架构中,SFU服务器和N个客户终端之间的连接关系,请参阅图7,图7中的客户终端的R表示统一接收端口,S表示统一发送端口,SFU服务器的R1、R2……RN表示SFU服务器的N个统一接收端口,S1、S2……SN表示SFU服务器的N个统一发送端口,其中,SFU服务器的每个统一接收端口与一个客户终端的统一发送接口连接,每个统一发送端口与一个客户中的统一接收端口连接。
其中,SFU服务器包括的N个统一接收端口可以与同一个解析单元连接,也可以是每个统一接收端口分别连接一个解析单元,或者是多个统一接收端口与一个解析单元连接。
N个统一发送端口可以是与同一个封装单元连接,也可以是每个统一发送端口分别连接一个解析单元,或者是多个统一发送端口与一个解析单元连接。
本申请实施例所提供的SFU架构中的客户终端和SFU服务器,其实现原理及产生的技术效果和前述电子设备的实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述电子设备实施例中相应内容。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种电子设备,其特征在于,包括:
统一接收端口,用于获取对端发送的第一媒体数据包;
解析单元,与所述统一接收端口连接,用于对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第一媒体数据包发送给所述标识符对应的媒体处理模块,其中,每个标识符仅用于标识一种数据类型;
多个媒体处理模块,每个所述媒体处理模块均与所述解析单元连接,每个所述媒体处理模块对应一个唯一的标识符,每个所述媒体处理模块用于对所述解析单元发送的媒体数据包进行处理;
封装单元,每个所述媒体处理模块均与所述封装单元连接,所述封装单元用于将每个所述媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符;
统一发送端口,用于输出所述第二媒体数据包。
2.根据权利要求1所述的电子设备,其特征在于,所述媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
3.一种基于SFU架构的媒体传输方法,其特征在于,应用于如权利要求1所述的电子设备中的解析单元,所述方法包括:
获取所述统一接收端口获取自对端发送的第一媒体数据包;
对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识所述第一媒体数据包所属数据类型的标识符,其中,每个标识符仅用于标识一种数据类型;
将所述数据包发送给所述标识符对应的媒体处理模块,以使所述标识符对应的媒体处理模块处理所述第一媒体数据包,其中,每个媒体处理模块唯一对应一个标识符。
4.根据权利要求3所述的方法,其特征在于,所述第一媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
5.一种基于SFU架构的媒体传输方法,其特征在于,应用于如权利要求1所述的电子设备中的封装单元,所述方法包括:
获取所述媒体处理模块发送的媒体数据,不同所述媒体处理模块发送的媒体数据的数据类型不同;
针对每个媒体处理模块发送的媒体数据,封装该媒体数据,得到第二媒体数据包,其中,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符,不同的标识符标识的数据类型不同;
通过所述统一发送端口输出所述第二媒体数据包。
6.根据权利要求5所述的方法,其特征在于,所述第二媒体数据包的数据类型为RTP音频、RTP视频、RTCP音频、RTCP视频、RTSP音频、RTSP视频、RTMP音频、RTMP视频中的任意一种。
7.一种SFU架构,其特征在于,包括:
SFU服务器和客户终端,所述SFU服务器和所述客户终端连接;
所述SFU服务器包括:
第一统一接收端口,用于获取所述客户终端发送的第一媒体数据包;
第一解析单元,与所述第一统一接收端口连接,用于对所述第一媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第一媒体数据包发送给所述标识符对应的第一媒体处理模块,其中,每个标识符仅用于标识一种数据类型;
多个第一媒体处理模块,每个所述第一媒体处理模块均与所述第一解析单元连接,每个所述第一媒体处理模块对应一个唯一的标识符,每个所述第一媒体处理模块用于对所述第一解析单元发送的媒体数据包处理;
第一封装单元,每个所述第一媒体处理模块均与所述第一封装单元连接,所述第一封装单元用于将每个所述第一媒体处理模块传输的媒体数据包单独进行封装,得到第二媒体数据包,所述第二媒体数据包的包头携带有用于标识所述第二媒体数据包所属数据类型的标识符;
第一统一发送端口用于将所述第二媒体数据包发送至所述客户终端;
所述客户终端包括:
第二统一接收端口,用于获取所述SFU服务器发送的第二媒体数据包;
第二解析单元,与所述第二统一接收端口连接,用于对所述第二媒体数据包的包头进行解析,获取携带于所述包头中的用于标识媒体数据包所属数据类型的标识符,将所述第二媒体数据包发送给所述标识符对应的第二媒体处理模块,其中,每个标识符仅用于标识一种数据类型;
多个第二媒体处理模块,每个所述第二媒体处理模块对应一个唯一的标识符;所述多个第二媒体处理模块中的每个所述第二媒体处理模块用于对所述第二解析单元发送的第二媒体数据包处理;
第二封装单元,所述多个第二媒体处理模块中的每个所述第二媒体处理模块均与所述第二封装单元连接,所述第二封装单元用于将每个所述第二媒体处理模块传输的媒体数据包单独进行封装,得到第一媒体数据包,所述第一媒体数据包的包头携带有用于标识所述第一媒体数据包所属数据类型的标识符;
第二统一发送端口,用于将所述第一媒体数据包发送至所述SFU服务器。
8.根据权利要求7所述的SFU架构,其特征在于,所述客户终端的数量为N,相应的,所述SFU服务器包括N个第一统一接收端口、N个第一统一发送端口,其中,所述SFU服务器的一个第一统一接收端口与一个客户终端的第二统一发送端口连接,所述SFU服务器的一个第一统一发送端口与一个客户终端的第二统一接收端口连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402361.5A CN114125497B (zh) | 2021-11-19 | 2021-11-19 | Sfu架构及其媒体传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402361.5A CN114125497B (zh) | 2021-11-19 | 2021-11-19 | Sfu架构及其媒体传输方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125497A CN114125497A (zh) | 2022-03-01 |
CN114125497B true CN114125497B (zh) | 2024-05-07 |
Family
ID=80371706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111402361.5A Active CN114125497B (zh) | 2021-11-19 | 2021-11-19 | Sfu架构及其媒体传输方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125497B (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1739969A2 (en) * | 2005-06-29 | 2007-01-03 | Sony Corporation | Information processing device, information processing method, encrypting/decrypting device, encrypting/decrypting method and computer program |
CN101014016A (zh) * | 2006-02-16 | 2007-08-08 | 飞塔信息科技(北京)有限公司 | 用于内容类型分类的系统和方法 |
CN101316260A (zh) * | 2007-05-30 | 2008-12-03 | 华为技术有限公司 | 封装转换方法及封装转换设备 |
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102176763A (zh) * | 2011-01-28 | 2011-09-07 | 深圳市同洲电子股份有限公司 | 广播电视系统及信息交互方法 |
CN102421038A (zh) * | 2010-09-24 | 2012-04-18 | 美国博通公司 | 一种光网络单元及其方法 |
CN102595199A (zh) * | 2011-01-11 | 2012-07-18 | 中兴通讯股份有限公司 | 一种流媒体数据包的封装、传输方法及流媒体处理装置 |
CN102724555A (zh) * | 2012-07-09 | 2012-10-10 | 杭州海康威视数字技术股份有限公司 | 视频监控系统中的多路码流同端口处理方法及其系统 |
CN103179367A (zh) * | 2011-12-20 | 2013-06-26 | 联想(北京)有限公司 | 显示器和视频数据处理方法 |
CN105554540A (zh) * | 2015-12-31 | 2016-05-04 | 深圳国微技术有限公司 | 一种网络接口在条件接收卡中的实现方法和装置 |
CN107659843A (zh) * | 2017-09-29 | 2018-02-02 | 北京优教互动教育科技有限公司 | 一种基于转码器的音视频采集播放系统及其工作方法 |
CN108880940A (zh) * | 2018-06-27 | 2018-11-23 | 广州市炬元互联网科技有限公司 | 一种信令解码适配方法及系统 |
CN108959337A (zh) * | 2018-03-22 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 大数据获取方法、装置、设备及存储介质 |
CN112039754A (zh) * | 2020-09-09 | 2020-12-04 | 武汉悦学帮网络技术有限公司 | 一种消息处理系统、方法、发送方法、装置及电子设备 |
CN112367348A (zh) * | 2020-09-23 | 2021-02-12 | 北京迈格威科技有限公司 | 数据获取方法、装置、设备及介质 |
CN112398845A (zh) * | 2020-11-11 | 2021-02-23 | Oppo广东移动通信有限公司 | 数据传输方法、数据传输装置、系统及电子设备 |
CN112615822A (zh) * | 2020-12-03 | 2021-04-06 | 北京皮尔布莱尼软件有限公司 | 一种消息处理方法、装置、计算设备及可读存储介质 |
CN112765175A (zh) * | 2021-01-21 | 2021-05-07 | 恒安嘉新(北京)科技股份公司 | 一种接口数据的处理方法、装置、计算机设备及介质 |
CN112925557A (zh) * | 2021-01-28 | 2021-06-08 | 长沙市到家悠享网络科技有限公司 | 容器组件、处理方法及计算设备 |
CN213894861U (zh) * | 2020-12-09 | 2021-08-06 | 中铁第四勘察设计院集团有限公司 | 一种基于数据中台的自动扶梯全生命周期数据管理系统 |
CN113617020A (zh) * | 2021-08-02 | 2021-11-09 | Oppo广东移动通信有限公司 | 游戏控制方法、装置、存储介质、服务器以及终端 |
-
2021
- 2021-11-19 CN CN202111402361.5A patent/CN114125497B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1739969A2 (en) * | 2005-06-29 | 2007-01-03 | Sony Corporation | Information processing device, information processing method, encrypting/decrypting device, encrypting/decrypting method and computer program |
CN101014016A (zh) * | 2006-02-16 | 2007-08-08 | 飞塔信息科技(北京)有限公司 | 用于内容类型分类的系统和方法 |
CN101316260A (zh) * | 2007-05-30 | 2008-12-03 | 华为技术有限公司 | 封装转换方法及封装转换设备 |
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102421038A (zh) * | 2010-09-24 | 2012-04-18 | 美国博通公司 | 一种光网络单元及其方法 |
CN102595199A (zh) * | 2011-01-11 | 2012-07-18 | 中兴通讯股份有限公司 | 一种流媒体数据包的封装、传输方法及流媒体处理装置 |
CN102176763A (zh) * | 2011-01-28 | 2011-09-07 | 深圳市同洲电子股份有限公司 | 广播电视系统及信息交互方法 |
CN103179367A (zh) * | 2011-12-20 | 2013-06-26 | 联想(北京)有限公司 | 显示器和视频数据处理方法 |
CN102724555A (zh) * | 2012-07-09 | 2012-10-10 | 杭州海康威视数字技术股份有限公司 | 视频监控系统中的多路码流同端口处理方法及其系统 |
CN105554540A (zh) * | 2015-12-31 | 2016-05-04 | 深圳国微技术有限公司 | 一种网络接口在条件接收卡中的实现方法和装置 |
CN107659843A (zh) * | 2017-09-29 | 2018-02-02 | 北京优教互动教育科技有限公司 | 一种基于转码器的音视频采集播放系统及其工作方法 |
CN108959337A (zh) * | 2018-03-22 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 大数据获取方法、装置、设备及存储介质 |
CN108880940A (zh) * | 2018-06-27 | 2018-11-23 | 广州市炬元互联网科技有限公司 | 一种信令解码适配方法及系统 |
CN112039754A (zh) * | 2020-09-09 | 2020-12-04 | 武汉悦学帮网络技术有限公司 | 一种消息处理系统、方法、发送方法、装置及电子设备 |
CN112367348A (zh) * | 2020-09-23 | 2021-02-12 | 北京迈格威科技有限公司 | 数据获取方法、装置、设备及介质 |
CN112398845A (zh) * | 2020-11-11 | 2021-02-23 | Oppo广东移动通信有限公司 | 数据传输方法、数据传输装置、系统及电子设备 |
CN112615822A (zh) * | 2020-12-03 | 2021-04-06 | 北京皮尔布莱尼软件有限公司 | 一种消息处理方法、装置、计算设备及可读存储介质 |
CN213894861U (zh) * | 2020-12-09 | 2021-08-06 | 中铁第四勘察设计院集团有限公司 | 一种基于数据中台的自动扶梯全生命周期数据管理系统 |
CN112765175A (zh) * | 2021-01-21 | 2021-05-07 | 恒安嘉新(北京)科技股份公司 | 一种接口数据的处理方法、装置、计算机设备及介质 |
CN112925557A (zh) * | 2021-01-28 | 2021-06-08 | 长沙市到家悠享网络科技有限公司 | 容器组件、处理方法及计算设备 |
CN113617020A (zh) * | 2021-08-02 | 2021-11-09 | Oppo广东移动通信有限公司 | 游戏控制方法、装置、存储介质、服务器以及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114125497A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358886A1 (en) | Data Transmission Method, Apparatus, And System | |
US9407966B2 (en) | Method and apparatus for transmitting and receiving signaling information in digital broadcasting system | |
CN109921843B (zh) | 一种面向卫星远程教育系统的北斗短报文通信方法 | |
CN103929681B (zh) | 一种提升低速网络中rtp视频流处理效率的方法 | |
CN105610824B (zh) | 一种基于屏幕镜像及rtsp流媒体框架的屏幕共享方法 | |
CN110944003B (zh) | 文件传输方法和电子设备 | |
US10250654B2 (en) | Method and apparatus for transceiving data packet for transmitting and receiving multimedia data | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN102006452A (zh) | 通过ip网络监控终端的方法及mcu | |
WO2020253157A1 (zh) | Volte数据的传输方法、装置、接入网设备以及存储介质 | |
WO2020206849A1 (zh) | 一种处理带vlan tag的dhcp数据的方法及系统 | |
CN114125497B (zh) | Sfu架构及其媒体传输方法及电子设备 | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN116614481A (zh) | 一种多媒体数据传输方法、装置、设备及存储介质 | |
CN110730203A (zh) | 一种p2p通信方法及装置 | |
CN110086772B (zh) | 一种监控视频的获取方法和系统 | |
CN111585962A (zh) | 一种rtp数据包的处理方法、系统及存储介质 | |
CN113141358B (zh) | 多协议兼容的服务引导发现传输接收、发送方法及装置 | |
CN101645809B (zh) | 一种多终端网络的吞吐量测试方法和系统 | |
CN114095308B (zh) | 多媒体会议质量的增强方法、装置、设备及存储介质 | |
CN213028385U (zh) | 一种视联网桥接设备 | |
KR100606469B1 (ko) | 유선 멀티캐스트프레임의 무선 송신방법과 이를 위한유무선접속장치 | |
CN112769832A (zh) | 多协议兼容的数据发送、数据接收方法及装置 | |
CN107135184A (zh) | 一种多媒体系统中信息交互机制及网络传输方法 | |
CN113905416A (zh) | VoLTE报文的处理方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082 Applicant after: China Telecom Digital Intelligence Technology Co.,Ltd. Address before: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082 Applicant before: CHINA TELECOM GROUP SYSTEM INTEGRATION Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |