CN113285931B - 流媒体的传输方法、流媒体服务器及流媒体系统 - Google Patents
流媒体的传输方法、流媒体服务器及流媒体系统 Download PDFInfo
- Publication number
- CN113285931B CN113285931B CN202110518316.XA CN202110518316A CN113285931B CN 113285931 B CN113285931 B CN 113285931B CN 202110518316 A CN202110518316 A CN 202110518316A CN 113285931 B CN113285931 B CN 113285931B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- server
- receiver
- request
- streaming
- 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 68
- 230000005540 biological transmission Effects 0.000 title claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000005538 encapsulation Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 34
- 230000011664 signaling Effects 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 12
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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/50—Network services
- H04L67/53—Network services using third party service providers
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了流媒体传输方法、流媒体服务器及流媒体系统,涉及人工智能技术领域,具体涉及智能交通、计算机视觉技术领域。具体实现方案为:通过流媒体服务器接收流媒体接收方的流媒体请求,并根据流媒体请求中的类型对应的流媒体协议,对与流媒体标识对应的流媒体进行协议封装,并将封装后的流媒体传输给流媒体接收方。由此,流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及智能交通、计算机视觉技术领域,尤其涉及流媒体的传输方法、流媒体服务器及流媒体系统。
背景技术
在智慧交通信控项目中,通过接入大量道路路口安防监控摄像头,获取流媒体数据(如,视频图像数据),用于后续AI算法处理,以及在浏览器端对流媒体进行处理(如,播放视频进行车道线的标记等)。
相关技术中,主要通过采用私有的流媒体服务器,并集成各个厂家的SDK(Software Development Kit,软件开发工具包),从不同厂家流媒体服务拉取流媒体(如,视频流)。但是,由于摄像头供应商繁多,接入协议千差万别,且不同厂家SDK实现,质量良莠不齐,协议互不兼容,导致流媒体无法在浏览器端直接进行处理,降低了流媒体的实时性。
发明内容
本公开提供了一种用于流媒体的传输方法、流媒体服务器及流媒体系统。
根据本公开的一方面,提供了一种流媒体的传输方法,包括:接收流媒体接收方的流媒体请求,其中,所述流媒体请求中包括:流媒体标识以及所述流媒体接收方的类型;按照所述类型对应的流媒体协议对与所述流媒体标识对应的流媒体进行协议封装,得到封装后的所述流媒体;将封装后的所述流媒体传输给所述流媒体接收方。
根据本公开的另一方面,提供了一种流媒体服务器,包括:第一接收模块,用于接收流媒体接收方的流媒体请求,其中,所述流媒体请求中包括:流媒体标识以及所述流媒体接收方的类型;封装模块,用于按照所述类型对应的流媒体协议对与所述流媒体标识对应的流媒体进行协议封装,得到封装后的所述流媒体;传输模块,用于将封装后的所述流媒体传输给所述流媒体接收方。
根据本公开的另一方面,提供了一种流媒体系统,包括:流媒体服务器集群和信令服务器集群;其中,所述流媒体服务器集群分别与所述信令服务器集群、流媒体接收方以及第三方平台连接,用于执行如上所述的流媒体的传输方法。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的流媒体的传输方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的流媒体的传输方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的流媒体的传输方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开实施例的流媒体的传输时序图;
图4是根据本公开第三实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开第五实施例的示意图;
图7是根据本公开第六实施例的示意图;
图8是根据本公开第七实施例的示意图;
图9是根据本公开第八实施例的示意图;
图10是根据本公开第九实施例的示意图;
图11是根据本公开实施例的流媒体系统结构示意图;
图12是用来实现本公开实施例的流媒体的传输的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在智慧交通信控项目中,通过接入大量道路路口安防监控摄像头,获取流媒体数据(如,视频图像数据),用于后续AI算法处理,以及在浏览器端对流媒体进行处理(如,播放视频进行车道线的标记等)。
由于基于视频感知的智能交通信控系统需要高准确度交通指标作为数据支撑,对流媒体的实时性要求极高,并且智能交通信控项目往往接入大量的高清高分辨的摄像机,需要高并发,高性能的流媒体服务器进行流媒体的转发。
相关技术中,流媒体服务器主要通过以下三种方式获取流媒体,第一种方式是,通过RTSP(Real Time Streaming Protocol,实时流传输协议)协议直连前端摄像头,直接获取前段摄像头RTSP流媒体(如,视频流);第二种方式是,基于安防厂商私有协议,通过SDK对接第三方流媒体平台,使用第三方流媒体平台相关SDK,使用TCP及私有协议,与第三方流媒体平台交互,拉取流媒体;第三种方式是,通过GB28181协议与第三方厂商平台进行对接,提供基于RTSP协议的实时视频流转发服务。
但是,上述第一种方式,只能应用在接入少量设备厂商的场景中,流媒体服务器需与前端设备处于联通的网络下,当网络隔离时,流媒体服务器无法与前端摄像头直连时,则无法获取流媒体,并且前端设备带宽及处理能力有限,当并发访问同一设备时,前端设备往往会出现无法响应等问题;上述第二种方式,由于安防厂商众多、协议繁琐复杂、开发周期长,SDK输出码流格式多为私有协议,需使用专有解析库。播放流媒体需要安装专门的客户端,无法在浏览器端播放;上述第三种方式,无法提供浏览器端播放协议,基于IE浏览器的播放插件无法在主流浏览器进行车道线标注等操作。
基于上述由于摄像头供应商繁多,接入协议千差万别,且不同厂家SDK实现,质量良莠不齐,协议互不兼容,导致流媒体无法在浏览器端进行处理,降低了流媒体的实时性的问题,本公开提出一种流媒体的传输方法、流媒体服务器及流媒体系统。
图1是根据本公开第一实施例的示意图。需要说明的是,本公开实施例的流媒体的传输方法可应用于流媒体服务器,也就是说,本公开实施例的流媒体的传输方法从流媒体服务器侧进行描述。
如图1所示,该流媒体的传输方法包括如下步骤:
步骤101,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
在本公开实施例中,流媒体接收方为了获取流媒体,流媒体接收方可向流媒体服务器发送流媒体请求,流媒体服务器可接收流媒体接收方发送的流媒体请求。其中,需要说明的是,流媒体请求中可包括但不限于流媒体标识以及流媒体接收方的类型。
其中,流媒体标识可用于标识流媒体,比如,流媒体标识可为流媒体ID(Identitydocument,身份标识号码),流媒体接收方的类型可包括但不限于浏览器类型、非浏览器类型等。
步骤102,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
可以理解的是,流媒体接收方的类型不同,对应的流媒体协议也不同,比如,浏览器类型对应的流媒体协议可为RTMP(Real Time Messaging Protocol,实时消息传输协议)、HTTP-FLV(一种直播协议)等,非浏览器类型对应的流媒体协议可为RTSP(Real TimeStreaming Protocol,实时流传输协议)等。
为了使流媒体服务器提供多种协议的流媒体,以便流媒体接收方可直接处理流媒体服务器转发的流媒体,作为本公开实施例的一种可能实现方式,流媒体服务器可按照流媒体接收方的类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装。
比如,将视频流通过RTSP协议封装,便于识别出视频流中的图像信息;通过RTMP,HTTP-FLV协议进行封装,以提供浏览器端可播放的标准视频流。
步骤103,将封装后的流媒体传输给流媒体接收方。
为了将封装后的流媒体提供给流媒体接收方,以便流媒体接收方对流媒体进行处理,提高流媒体的实时性。在本公开实施例中,流媒体服务器将封装后的流媒体传输给流媒体接收方。流媒体接收方可直接对流媒体进行处理,比如,以流媒体接收方为浏览器,流媒体为视频流为例,浏览器在接收到封装后的视频流后,可直接播放该视频。又比如,流媒体接收方为非浏览器类型,流媒体接收方在收到RTSP协议封装后的视频流时,可对RTSP协议封装后的视频流进行图像信息识别与标记。
综上,通过流媒体服务器接收流媒体接收方的流媒体请求,并根据流媒体请求中的类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,并将封装后的流媒体传输给流媒体接收方。由此,流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
可以理解的是,流媒体服务器在接收到流媒体接收方的流媒体请求后,根据流媒体请求将流媒体进行封装,将封装后的流媒体传输给流媒体接收方,因此,在接收到流媒体接收方的流媒体请求之前,流媒体服务器需预先获取流媒体。如图2所示,图2是根据本公开第二实施例的示意图。在本公开实施例中,流媒体服务器可与信令服务器进行交互,确定待接收流媒体的地址以及端口,第三方平台按照待接收流媒体的地址以及端口将流媒体推送至流媒体服务器。图2实施例的步骤如下:
步骤201,在接收到信令服务器的流媒体地址申请请求时,确定流媒体服务器上待接收流媒体的地址以及端口。
需要理解的是,信令服务器可按照国家标准规定的协议(如,GB28181)与第三方平台、流媒体服务器进行交互,流媒体服务器可按照国家标准规定的协议,与第三方平台进行交互,获取第三方平台提供的流媒体。流媒体服务器可按照国际标准协议与流媒体接收方进行交互。
为了使流媒体服务器可准确地接收到流媒体,流媒体接收方向流媒体服务器发送流媒体请求时,信令服务器可向流媒体服务器发送流媒体地址申请请求,流媒体服务器根据流媒体地址申请请求确定用于接收流媒体的地址以及端口。
步骤202,将地址以及端口发送给信令服务器,以请求第三方平台进行流媒体推送。
接着,流媒体服务器可将用于接收流媒体的地址以及端口发送至信令服务器,信令服务器与第三方平台进行交互,请求第三方平台将流媒体推送至流媒体服务器。
步骤203,接收第三方平台按照地址以及端口推送的流媒体。
进一步地,第三方平台按照流媒体服务器用于接收流媒体的地址和端口将流媒体推送至流媒体服务器。
步骤204,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤205,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤206,将封装后的流媒体传输给流媒体接收方。
在本公开实施例中,步骤204-206可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
为了更加清楚地说明本公开实施例,现举例说明。
举例而言,如图3所示,在图3中,国标服务器相当于本公开实施例的信令服务器,Client相当于本公开实施例中的流媒体接收方,国标服务器在向流媒体服务器发送流媒体地址申请请求之前,第三方平台可通过国标服务器向注册中心发起注册,国标服务器将第三方平台的平台列表发送缓存服务器中,注册成功后,国标服务器可获取第三方平台的通道列表(如,摄像头列表),并将通道列表发送至缓存服务器中。此外,为了提高流媒体服务器的并发能力,国标服务器还可通过注册中心获取流媒体服务器的列表,以及将流媒体服务器列表发送至缓存服务器中。Client可通过国标服务器向缓存服务器查询通道对应的流媒体地址。比如,Client通过国标服务器查询通道以及流媒体协议为RTMP对应的流媒体地址,缓存服务器返回流媒体地址,在不存在对应的流媒体地址时,可返回空。另外,国标服务器可为新通道申请流媒体服务器上待接收流媒体的地址以及端口。如,国标服务器可向流媒体服务器发送流媒体地址申请请求,确定流媒体服务器上待接收流媒体的地址以及端口,流媒体服务器将地址以及端口发送给国标服务器,国标服务器发送Play指令请求,要求第三方平台进行流媒体推送,其中,Play指令请求中包含待接收流媒体的地址以及端口,第三方平台按照地址以及端口将流媒体推送至流媒体服务器,流媒体服务器接收Client的流媒体请求,该流媒体请求中包含Client的类型为浏览器类型以及流媒体标识,浏览器对应的协议为RTMP,流媒体服务器按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体,将封装后的流媒体(实时视频流)发送给Client。Client可直接处理该封装后的流媒体。
综上,通过在接收到信令服务器的流媒体地址申请请求时,确定流媒体服务器上待接收流媒体的地址以及端口;将地址以及端口发送给信令服务器,以请求第三方平台进行流媒体推送;接收第三方平台按照地址以及端口推送的流媒体;接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体;将封装后的流媒体传输给流媒体接收方。由此,流媒体服务器可准确地获取流媒体,并将流媒体转发至流媒体接收方,流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
为了降低流媒体的时延,进一步提高流媒体的实时性,如图4所示,图4是根据本公开第三实施例的示意图。在本公开实施例中,流媒体服务器在接收第三方平台按照地址以及端口推送的流媒体时,可调整流媒体服务器缓存队列的容量,进一步提高流媒体的实时性。图4所示实施例包括如下步骤:
步骤401,在接收到信令服务器的流媒体地址申请请求时,确定流媒体服务器上待接收流媒体的地址以及端口。
步骤402,将地址以及端口发送给信令服务器,以请求第三方平台进行流媒体推送。
步骤403,根据流媒体的类型,调整缓存队列的容量。
在本公开实施例中,流媒体的类型不同,对应的对流媒体的实时性要求也不同。因此,对于对不同的流媒体的实时性要求,可根据流媒体的类型,动态调整缓存队列的容量。
作为一种示例,在流媒体类型为监控型流媒体时,对流媒体的实时性要求较高,可将缓存队列的容量调短。比如,在浏览器端对视频进行道路监控时,可通过取消GOP-cache(帧间缓存),将流媒体服务器缓存队列容量调短,降低视频帧率,降低流媒体时延,提高流媒体实时性。
作为另一种示例,在流媒体类型为非监控型流媒体时,对流媒体的实时性要求有所降低,对流媒体服务器的缓存队列的容量可不做调整。
步骤404,接收第三方平台按照地址以及端口推送的流媒体数据包,并将流媒体数据包缓存到缓存队列中。
为了提高流媒体服务器的性能,以及降低相关资源的消耗,在本公开实施例中,流媒体服务器在接收第三方平台按照地址以及端口推送的流媒体数据包时,可将流媒体数据包缓存到缓存队列中。
步骤405,在缓存队列中的流媒体数据包满足容量时,将缓存队列中的多个流媒体数据包整合成一段流媒体,并清空缓存队列。
为了进一步降低相关资源的消耗,在本公开实施例中,在缓存队列中的流媒体数据包满足容量时,将缓存队列中的多个流媒体数据包整合成一段流媒体,以便流媒体服务器进行流媒体的转发,同时清空缓存队列,节省相关资源。
步骤406,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤407,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤408,将封装后的流媒体传输给流媒体接收方。
在本公开实施例中,步骤401-402、406-408可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过在接收到信令服务器的流媒体地址申请请求时,确定流媒体服务器上待接收流媒体的地址以及端口;将地址以及端口发送给信令服务器,以请求第三方平台进行流媒体推送;根据流媒体的类型,调整缓存队列的容量;接收第三方平台按照地址以及端口推送的流媒体数据包,并将流媒体数据包缓存到缓存队列中;在缓存队列中的流媒体数据包满足容量时,将缓存队列中的多个流媒体数据包整合成一段流媒体,并清空缓存队列;接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体;将封装后的流媒体传输给流媒体接收方。由此,根据流媒体类型,调整缓存队列的长度,降低了流媒体的时延,并且流媒体接收方可直接对封装后的流媒体进行处理,进一步提高了流媒体的实时性。
为了提高流媒体服务器的性能,同时提高流媒体的实时性,如图5所示,图5是根据本公开第四实施例的示意图。在本公开实施例中,流媒体服务器可将多个多媒体数据包按照批次传输给流媒体接收方,图5所示实施例包括如下步骤:
步骤501,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤502,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤503,根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包。
需要理解的是,流媒体服务器在传输流媒体时,可将流媒体拆分成为多个流媒体数据包,流媒体服务器每发送一个流媒体数据包,流媒体接收方在收到流媒体数据包时,将发送ACK((Acknowledge character,确认字符)反馈给流媒体服务器。为了减少流媒体接收方发送ACK的次数,节省流媒体服务器的相关资源消耗,在本公开实施例中,在得到封装后的流媒体后,流媒体服务器可缓存待传输给流媒体接收方的多个流媒体数据包,以便流媒体服务器按照批次将流媒体传输给流媒体接收方。比如,流媒体服务器可通过设置MSG_MORE标记,用于标记每批次传输给流媒体接收的数据包个数。
步骤504,将多个流媒体数据包按照批次传输给流媒体接收方。
进一步地,为了提高流媒体服务器的吞吐量,流媒体服务器可将缓存的多个流媒体数据包按照批次传输给流媒体接收方。
在本公开实施例中,步骤501-502可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体,根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包,将多个流媒体数据包按照批次传输给流媒体接收方。由此,流媒体服务器通过将封装后的流媒体拆分为多个流媒体数据包,按照批次传输给流媒体接收方,并且流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体服务器的性能,节省了相关资源消耗,同时提高了流媒体的实时性。
为了提高流媒体服务器的性能,同时提高流媒体的实时性,如图6所示,图6是根据本公开第五实施例的示意图。在本公开实施例中,流媒体服务器可按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。图6所示实施例可包括如下步骤:
步骤601,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤602,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤603,根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包。
步骤604,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。
为了提高流媒体的实时性,提高传输效率,流媒体服务器可按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。比如,可关闭TCP_NODELAY将多个流媒体数据包传输给流媒体接收方。
在本公开实施例中,步骤601-603可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体,根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。由此,流媒体服务器通过将封装后的流媒体拆分为多个流媒体数据包,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。提高了流媒体服务器的传输效率,并且流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
为了提高流媒体服务器的性能,提高传输效率,同时提高流媒体的实时性,如图7所示,图7是根据本公开第六实施例的示意图。在本公开实施例中,流媒体服务器可将多个多媒体数据包按照批次传输给流媒体接收方,同时按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。图7所示实施例可包括如下步骤:
步骤701,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤702,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤703,根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包。
步骤704,将多个流媒体数据包按照批次传输给流媒体接收方;和,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。
比如,流媒体服务器可通过设置MSG_MORE标记,用于标记每批次传输给流媒体接收的数据包个数。开启MSG_MORE标记,将多个流媒体数据包按照批次传输给流媒体接收方,同时,可关闭TCP_NODELAY将多个流媒体数据包传输给流媒体接收方。
在本公开实施例中,步骤701-703可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体;根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包;将多个流媒体数据包按照批次传输给流媒体接收方;和,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。由此,可以提高流媒体服务器传输流媒体的效率,同时提高流媒体服务器的性能,节省相关资源消耗,并且流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
为了提高流媒体服务器的性能,同时提高流媒体的实时性,如图8所示,图8是根据本公开第七实施例的示意图。在本公开实施例中,可通过减少流媒体传输过程的线程切换次数提高流媒体服务器的性能。图8所示实施例可包括如下步骤:
步骤801,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤802,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤803,将封装后的流媒体传输给流媒体接收方,其中,流媒体传输的线程为多个;在将封装后的流媒体传输给流媒体接收方的过程中,多个线程的切换方式为,通过一次线程调度对多个线程进行线程切换处理。
需要理解的是,流媒体服务器通过线程切换的方式传输给流媒体接收方,由于线程调度开销较大,若线程每切换一次进行一次线程调度,将严重影响流媒体服务器的性能,因此,为了提高流媒体服务器的性能,在将封装后的流媒体传输给流媒体接收方的过程中,可通过一次线程调度对多个线程进行线程切换处理。比如,这10K的用户分布在32个CPU(Central Processing Unit,中央处理器)核心上,那么最多进行32次线程切换,一次对多个线程的切换处理进行线程调度,从而降低了线程调度的次数,提高流媒体服务器性能。
在本公开实施例中,步骤801-802可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体;将封装后的流媒体传输给流媒体接收方,其中,流媒体传输的线程为多个;在将封装后的流媒体传输给流媒体接收方的过程中,多个线程的切换方式为,通过一次线程调度对多个线程进行线程切换处理。由此,在将封装后的流媒体传输给流媒体接收方的过程中,可通过一次线程调度对多个线程进行线程切换处理,并且流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体服务器的性能,同时提高了流媒体的实时性。
为了提高流媒体服务器的性能,同时提高流媒体的实时性,如图9所示,图9是根据本公开第八实施例的示意图。在本公开实施例中,在存在对流媒体的拷贝时,可停止对流媒体的重复拷贝,以提高流媒体服务器的性能,同时提高流媒体的实时性。图9所示实施例包括如下步骤:
步骤901,接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型。
步骤902,按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。
步骤903,将封装后的流媒体传输给流媒体接收方。其中,流媒体传输的线程为多个;在将封装后的流媒体传输给流媒体接收方的过程中,多个线程的切换方式为,通过一次线程调度对多个线程进行线程切换处理。其中,进行线程切换处理的过程中,在存在对流媒体的拷贝时,停止对流媒体的重复拷贝。
需要理解的是,在线程切换处理的过程中,为了确保线程安全,可通过拷贝流媒体来保证线程安全,若每次线程切换处理均对传输的流媒体进行拷贝,流媒体服务器的性能开销较大。为了减少流媒体服务器的性能开销,可在进行线程切换处理的过程中,若存在流媒体的拷贝时,则停止对流媒体的重复拷贝,多个线程共享同一份流媒体。比如,以流媒体为视频流为例,同一个视频流转发到多个客户端时,可采用C++11的引用技术进行计数,若发现该视频流已存在拷贝,则停止对该视频流的重复拷贝,多个客户端共享同一个视频流。
在本公开实施例中,步骤901-902可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体;将封装后的流媒体传输给流媒体接收方。其中,流媒体传输的线程为多个;在将封装后的流媒体传输给流媒体接收方的过程中,多个线程的切换方式为,通过一次线程调度对多个线程进行线程切换处理。其中,进行线程切换处理的过程中,在存在对流媒体的拷贝时,停止对流媒体的重复拷贝。由此,减少了流媒体服务器的性能开销,提高了流媒体服务器的性能,并且流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
本公开实施例的流媒体的传输方法,通过流媒体服务器接收流媒体接收方的流媒体请求,并根据流媒体请求中的类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,并将封装后的流媒体传输给流媒体接收方。由此,流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
为了实现上述实施例,本公开实施例还提出一种流媒体服务器。
图10是根据本公开第九实施例的示意图,如图10所示,该流媒体服务器1000可包括第一接收模块1010、封装模块1020、传输模块1030。
其中,第一接收模块1010,用于接收流媒体接收方的流媒体请求,其中,流媒体请求中包括:流媒体标识以及流媒体接收方的类型;封装模块1020,用于按照类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,得到封装后的流媒体。传输模块1030,用于将封装后的流媒体传输给流媒体接收方。
作为本公开实施例的一种可能实现方式,流媒体服务器1000还包括:确定模块、推送模块、第二接收模块。
其中,确定模块,用于在接收到信令服务器的流媒体地址申请请求时,确定流媒体服务器上待接收流媒体的地址以及端口;推送模块,用于将地址以及端口发送给所述信令服务器,以请求第三方平台进行流媒体推送;第二接收模块,用于接收第三方平台按照地址以及端口推送的流媒体。
作为本公开实施例的一种可能实现方式,第二接收模块,具体用于:根据流媒体的类型,调整缓存队列的容量;接收第三方平台按照地址以及端口推送的流媒体数据包,并将流媒体数据包缓存到缓存队列中;在缓存队列中的流媒体数据包满足所述容量时,将缓存队列中的多个流媒体数据包整合成一段流媒体,并清空缓存队列。
作为本公开实施例的一种可能实现方式,传输模块1030,具体用于:根据封装后的流媒体,确定待传输给流媒体接收方的多个流媒体数据包;将多个流媒体数据包按照批次传输给流媒体接收方;和/或,按照关闭应答指示的方式将多个流媒体数据包传输给流媒体接收方。
作为本公开实施例的一种可能实现方式,流媒体传输的线程为多个;所述的流媒体服务器还包括:切换处理模块。
其中,切换处理模块,用于在将封装后的所述流媒体传输给所述流媒体接收方的过程中,通过一次线程调度对多个所述线程进行线程切换处理。
作为本公开实施例的一种可能实现方式,切换处理模块,还用于:进行线程切换处理的过程中,在存在对流媒体的拷贝时,停止对流媒体的重复拷贝。
本公开实施例的流媒体服务器,通过流媒体服务器接收流媒体接收方的流媒体请求,并根据流媒体请求中的类型对应的流媒体协议对与流媒体标识对应的流媒体进行协议封装,并将封装后的流媒体传输给流媒体接收方。由此,流媒体接收方可直接对封装后的流媒体进行处理,提高了流媒体的实时性。
为了实现上述实施例,本公开实施例还提出一种流媒体系统,包括:流媒体服务器集群和信令服务器集群;其中,流媒体服务器集群分别与信令服务器集群、流媒体接收方以及第三方平台连接,用于执行本公开实施例所述的流媒体的传输方法。
作为本公开实施例的一种可能实现方式,其中,信令服务器按照国家标准规定的与第三方平台交互的协议,与第三方平台进行交互;流媒体服务器按照国家标准规定的与第三方平台交互的协议,与第三方平台进行交互。
举例而言,如图11所示,图11是根据本公开实施例的流媒体系统结构示意图。在图11中,第三方国标平台相当于本公开实施例的第三方平台,国标服务集群相当于本公开实施例的信令服务器集群,客户端相当于流媒体接收方。流媒体服务器集群可分别与国标服务集群(信令服务器集群)、客户端(流媒体接收方)以及第三方国标平台(第三方平台)连接,其中,信令服务器集群按照国家标准规定的与第三方国标平台交互的协议,与第三方国标平台进行交互;流媒体服务器集群按照国家标准规定的与第三方国标平台交互的协议,与第三方国标平台进行交互。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如流媒体的传输方法。例如,在一些实施例中,流媒体的传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的流媒体的传输方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行流媒体的传输方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (8)
1.一种流媒体的传输方法,应用于流媒体服务器,包括:
接收流媒体接收方的流媒体请求,其中,所述流媒体请求中包括:流媒体标识以及所述流媒体接收方的类型;
按照所述类型对应的流媒体协议对与所述流媒体标识对应的流媒体进行协议封装,得到封装后的所述流媒体;
将封装后的所述流媒体传输给所述流媒体接收方;
在接收流媒体接收方的流媒体请求之前,还包括:
在接收到信令服务器的流媒体地址申请请求时,确定所述流媒体服务器上待接收流媒体的地址以及端口;
将所述地址以及所述端口发送给所述信令服务器,以请求第三方平台进行流媒体推送;
接收所述第三方平台按照所述地址以及所述端口推送的所述流媒体,包括:
根据所述流媒体的实时性要求,调整缓存队列的容量;
接收所述第三方平台按照所述地址以及所述端口推送的流媒体数据包,并将所述流媒体数据包缓存到所述缓存队列中;
在所述缓存队列中的流媒体数据包满足所述容量时,将所述缓存队列中的多个流媒体数据包整合成一段所述流媒体,并清空所述缓存队列;
所述将封装后的所述流媒体传输给所述流媒体接收方,包括:
根据封装后的所述流媒体,确定待传输给所述流媒体接收方的多个流媒体数据包;
将所述多个流媒体数据包按照批次传输给所述流媒体接收方,并标记每个批次中包含的数据包的个数;
其中,流媒体传输的线程为多个;
在将封装后的所述流媒体传输给所述流媒体接收方的过程中,多个所述线程的切换方式为,通过一次线程调度对多个所述线程进行线程切换处理;
进行线程切换处理的过程中,在存在对所述流媒体的拷贝时,停止对所述流媒体的重复拷贝。
2.根据权利要求1所述的方法,其中,所述将封装后的所述流媒体传输给所述流媒体接收方,还包括:
按照关闭应答指示的方式将所述多个流媒体数据包传输给所述流媒体接收方。
3.一种流媒体服务器,包括:
第一接收模块,用于接收流媒体接收方的流媒体请求,其中,所述流媒体请求中包括:流媒体标识以及所述流媒体接收方的类型;
封装模块,用于按照所述类型对应的流媒体协议对与所述流媒体标识对应的流媒体进行协议封装,得到封装后的所述流媒体;
传输模块,用于将封装后的所述流媒体传输给所述流媒体接收方;
确定模块,用于在接收到信令服务器的流媒体地址申请请求时,确定所述流媒体服务器上待接收流媒体的地址以及端口;
推送模块,用于将所述地址以及所述端口发送给所述信令服务器,以请求第三方平台进行流媒体推送;
第二接收模块,用于接收所述第三方平台按照所述地址以及所述端口推送的所述流媒体;
所述第二接收模块,具体用于:
根据所述流媒体的实时性要求,调整缓存队列的容量;
接收所述第三方平台按照所述地址以及所述端口推送的流媒体数据包,并将所述流媒体数据包缓存到所述缓存队列中;
在所述缓存队列中的流媒体数据包满足所述容量时,将所述缓存队列中的多个流媒体数据包整合成一段所述流媒体,并清空所述缓存队列;
所述传输模块,具体用于:
根据封装后的所述流媒体,确定待传输给所述流媒体接收方的多个流媒体数据包;
将所述多个流媒体数据包按照批次传输给所述流媒体接收方,并标记每个批次中包含的数据包的个数;
其中,流媒体传输的线程为多个;所述的流媒体服务器还包括:
切换处理模块,用于在将封装后的所述流媒体传输给所述流媒体接收方的过程中,通过一次线程调度对多个所述线程进行线程切换处理;
所述切换处理模块,还用于:
进行线程切换处理的过程中,在存在对所述流媒体的拷贝时,停止对所述流媒体的重复拷贝。
4.根据权利要求3所述的流媒体服务器,其中,所述传输模块,具体用于:
按照关闭应答指示的方式将所述多个流媒体数据包传输给所述流媒体接收方。
5.一种流媒体系统,包括:流媒体服务器集群和信令服务器集群;
其中,所述流媒体服务器集群分别与所述信令服务器集群、流媒体接收方以及第三方平台连接,用于执行如权利要求1至2中任一项所述的方法。
6.根据权利要求5所述的系统,其中,所述信令服务器集群按照国家标准规定的与所述第三方平台交互的协议,与所述第三方平台进行交互;
所述流媒体服务器集群按照国家标准规定的与所述第三方平台交互的协议,与所述第三方平台进行交互。
7.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-2中任一项所述的方法。
8.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如权利要求1-2中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518316.XA CN113285931B (zh) | 2021-05-12 | 2021-05-12 | 流媒体的传输方法、流媒体服务器及流媒体系统 |
EP22164884.3A EP4013018A3 (en) | 2021-05-12 | 2022-03-29 | Method for transmitting stream, streaming server and streaming system |
KR1020220041980A KR20220050104A (ko) | 2021-05-12 | 2022-04-05 | 스트리밍 미디어 전송 방법, 스트리밍 미디어 서버 및 스트리밍 미디어 시스템 |
US17/716,371 US11601489B2 (en) | 2021-05-12 | 2022-04-08 | Method for transmitting stream, streaming server and storage medium |
JP2022078060A JP2022110064A (ja) | 2021-05-12 | 2022-05-11 | ストリーミングメディアの伝送方法、ストリーミングメディアサーバ及びストリーミングメディアシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518316.XA CN113285931B (zh) | 2021-05-12 | 2021-05-12 | 流媒体的传输方法、流媒体服务器及流媒体系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285931A CN113285931A (zh) | 2021-08-20 |
CN113285931B true CN113285931B (zh) | 2022-10-11 |
Family
ID=77278850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110518316.XA Active CN113285931B (zh) | 2021-05-12 | 2021-05-12 | 流媒体的传输方法、流媒体服务器及流媒体系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11601489B2 (zh) |
EP (1) | EP4013018A3 (zh) |
JP (1) | JP2022110064A (zh) |
KR (1) | KR20220050104A (zh) |
CN (1) | CN113285931B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401254B (zh) * | 2022-03-22 | 2022-11-25 | 北京百度网讯科技有限公司 | 流媒体服务的处理方法、装置、电子设备及存储介质 |
CN115314738B (zh) * | 2022-08-15 | 2024-04-26 | 城云科技(中国)有限公司 | 对hook的数据添加标签处理拉流的方法及装置 |
CN117560231A (zh) * | 2024-01-12 | 2024-02-13 | 安徽科大擎天科技有限公司 | 一种视频流安全传输方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707615A (zh) * | 2009-12-03 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于公共移动通信的视频多链路传输的实现方法 |
CN103873486A (zh) * | 2008-11-25 | 2014-06-18 | 思杰系统有限公司 | 用于负载平衡实时流传输协议的系统和方法 |
CN104539596A (zh) * | 2014-12-18 | 2015-04-22 | 华为技术有限公司 | 流媒体传输的方法、装置及系统 |
WO2020140625A1 (zh) * | 2019-01-04 | 2020-07-09 | 平安科技(深圳)有限公司 | 流媒体传输控制方法、装置及存储介质、计算机设备 |
CN112073423A (zh) * | 2020-09-15 | 2020-12-11 | 杭州二更网络科技有限公司 | 基于WebRTC进行浏览器推流的方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8838772B2 (en) * | 2003-08-29 | 2014-09-16 | Ineoquest Technologies, Inc. | System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks |
EP2197153B1 (en) * | 2008-12-15 | 2012-07-04 | Koninklijke KPN N.V. | Method and device for reliable multicast using UDP |
US9485299B2 (en) * | 2009-03-09 | 2016-11-01 | Arris Canada, Inc. | Progressive download gateway |
US8521899B2 (en) * | 2010-05-05 | 2013-08-27 | Intel Corporation | Multi-out media distribution system and method |
KR20140126195A (ko) * | 2013-04-22 | 2014-10-30 | 삼성전자주식회사 | 배치 쓰레드 처리 기반의 프로세서, 그 프로세서를 이용한 배치 쓰레드 처리 방법 및 배치 쓰레드 처리를 위한 코드 생성 장치 |
CN103581699B (zh) * | 2013-11-04 | 2015-01-21 | 广州华工信元通信技术有限公司 | 视频播放方法、流媒体服务器及流媒体播放系统 |
CN105391968B (zh) * | 2015-11-03 | 2019-05-24 | 浙江大华技术股份有限公司 | 一种视频会话分配方法及装置 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN111818360B (zh) * | 2020-09-14 | 2021-04-27 | 平安国际智慧城市科技股份有限公司 | 一种媒体点播方法、系统及装置 |
-
2021
- 2021-05-12 CN CN202110518316.XA patent/CN113285931B/zh active Active
-
2022
- 2022-03-29 EP EP22164884.3A patent/EP4013018A3/en not_active Withdrawn
- 2022-04-05 KR KR1020220041980A patent/KR20220050104A/ko not_active Application Discontinuation
- 2022-04-08 US US17/716,371 patent/US11601489B2/en active Active
- 2022-05-11 JP JP2022078060A patent/JP2022110064A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873486A (zh) * | 2008-11-25 | 2014-06-18 | 思杰系统有限公司 | 用于负载平衡实时流传输协议的系统和方法 |
CN101707615A (zh) * | 2009-12-03 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于公共移动通信的视频多链路传输的实现方法 |
CN104539596A (zh) * | 2014-12-18 | 2015-04-22 | 华为技术有限公司 | 流媒体传输的方法、装置及系统 |
WO2020140625A1 (zh) * | 2019-01-04 | 2020-07-09 | 平安科技(深圳)有限公司 | 流媒体传输控制方法、装置及存储介质、计算机设备 |
CN112073423A (zh) * | 2020-09-15 | 2020-12-11 | 杭州二更网络科技有限公司 | 基于WebRTC进行浏览器推流的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20220050104A (ko) | 2022-04-22 |
CN113285931A (zh) | 2021-08-20 |
EP4013018A2 (en) | 2022-06-15 |
JP2022110064A (ja) | 2022-07-28 |
US20220232058A1 (en) | 2022-07-21 |
EP4013018A3 (en) | 2022-10-12 |
US11601489B2 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113285931B (zh) | 流媒体的传输方法、流媒体服务器及流媒体系统 | |
WO2020034758A1 (zh) | 多通道数据传输方法及装置 | |
US20150127849A1 (en) | Tcp data transmission method, tcp offload engine, and system | |
US11750418B2 (en) | Cross network bridging | |
CN102546612B (zh) | 用户态下基于rdma协议的远程过程调用实现方法 | |
CN107872471B (zh) | 远程桌面图像指令处理方法和系统 | |
CN113746749A (zh) | 网络连接设备 | |
US10609125B2 (en) | Method and system for transmitting communication data | |
US20140222960A1 (en) | Method and Apparatus for Rapid Data Distribution | |
CN110830460B (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
CN112953850B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
KR102383782B1 (ko) | 데이터 통신에서의 터널 데이터 업데이트 처리방법 | |
US8135851B2 (en) | Object request broker for accelerating object-oriented communications and method | |
CN114513472A (zh) | 网络拥塞控制方法及装置 | |
CN115473876A (zh) | 实时流媒体数据的传输方法、装置、系统和存储介质 | |
US10305772B2 (en) | Using a single work item to send multiple messages | |
CN113422669B (zh) | 数据传输方法、装置和系统、电子设备以及存储介质 | |
CN113242446B (zh) | 视频帧的缓存方法、转发方法、通信服务器及程序产品 | |
US20220217085A1 (en) | Server fabric adapter for i/o scaling of heterogeneous and accelerated compute systems | |
US20220217098A1 (en) | Streaming communication between devices | |
CN115942000B (zh) | H.264格式的视频流转码方法及装置、设备及介质 | |
WO2023098530A1 (zh) | 一种事务的处理方法及设备 | |
CN111447650B (zh) | 一种数据前转的方法、设备及存储介质 | |
WO2024098757A1 (zh) | 网络集群系统、报文传输方法及网络设备 | |
CN117221422A (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 |