CN116233085A - 一种多终端的流媒体传输方法、系统及流媒体服务器集群 - Google Patents
一种多终端的流媒体传输方法、系统及流媒体服务器集群 Download PDFInfo
- Publication number
- CN116233085A CN116233085A CN202310505231.7A CN202310505231A CN116233085A CN 116233085 A CN116233085 A CN 116233085A CN 202310505231 A CN202310505231 A CN 202310505231A CN 116233085 A CN116233085 A CN 116233085A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- streaming
- server
- media server
- client
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000006854 communication Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/40—Support for services or applications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种多终端的流媒体传输方法、系统及流媒体服务器集群。该方法包括推流客户端获取流媒体服务器集群中的目标流媒体服务器;所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据;各取流客户端解码播放所述流媒体数据,以在并发量很大的时候,通过集群实现负载均衡,提高用户体验。
Description
技术领域
本申请涉及流媒体技术领域,尤其涉及一种多终端的流媒体传输方法、系统及流媒体服务器集群。
背景技术
现有技术中通常采用intel CPU的服务器设计的流媒体服务器,这种流媒体服务器不能长时稳定工作,硬件性能较差导致用户体验不佳。而一台服务器的电脑主板的网口一般不超过4个,大量流媒体数据并发下受到网络带宽影响使得播放效果差,使得用户体验不佳。
发明内容
基于此,有必要针对上述技术问题,提供一种多终端的流媒体传输方法、系统及流媒体服务器集群,以在并发量很大的时候,通过集群实现负载均衡,提高用户体验。
第一方面,本申请实施例提供了一种多终端的流媒体传输方法,该多终端的流媒体传输方法包括:
推流客户端获取流媒体服务器集群中的目标流媒体服务器;
所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;
所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据;
各所述取流客户端解码播放所述流媒体数据。
在其中一个实施例中,所述推流客户端获取流媒体服务器集群中的目标流媒体服务器,包括:
所述推流客户端向云平台服务器发送查询推流的流媒体服务器请求;
所述云平台服务器响应所述流媒体服务器请求,根据所述流媒体服务器集群中各流媒体服务器的负载情况,向所述推流客户端发送目标流媒体服务器信息;
所述推流客户端根据所述目标流媒体服务器信息连接所述目标流媒体服务器。
在其中一个实施例中,所述目标流媒体服务器是所述流媒体服务器集群中负载最小的流媒体服务器。
在其中一个实施例中,所述推流客户端获取流媒体服务器集群中的目标流媒体服务器之前,包括:
所述推流客户端通过云平台服务器注册绑定所述流媒体服务器集群中所有流媒体服务器。
在其中一个实施例中,所述方法还包括:
在传输过程中检测到所述目标流媒体服务器发生故障,则根据所述云平台服务器的推送方案切换到所述流媒体服务器集群中所述推送方案对应的流媒体服务器,以保证所述推流客户端正常访问。
在其中一个实施例中,所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据,包括:
所述推流客户端向所述目标流媒体服务器发送推流请求;
当当前网络稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立TCP连接,并基于所述TCP连接接收所述推流客户端发送的所述流媒体数据;
当当前网络不稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立UDP连接,并基于所述UDP连接接收所述推流客户端发送的所述流媒体数据。
在其中一个实施例中,所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,包括:
目标流媒体服务器响应各取流客户端的取流请求,确定各取流客户端本地的RTSP服务器,并通过转发接口向所述RTSP服务器发送所述流媒体数据;
所述RTSP服务器基于取流请求的传输协议与各取流客户端建立不同的取流连接,并基于对应的取流连接向取流客户端发送所述流媒体数据。
在其中一个实施例中,所述RTSP服务器基于取流请求的传输协议与各取流客户端建立不同的取流连接,并基于对应的取流连接向取流客户端发送所述流媒体数据,包括:
当所述取流请求采用RTP传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立RTP连接,并以RTP连接发送所述流媒体数据;
当所述取流请求采用websocket传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立websocket连接,并以websocket连接发送所述流媒体数据。
第二方面,本申请实施例还提供一种多终端的流媒体传输系统,该多终端的流媒体传输系统包括:
推流端,用于推流客户端获取流媒体服务器集群中的目标流媒体服务器,并以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;
取流端,用于所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,以使得各取流客户端解码播放所述流媒体数据;
云平台服务器,连接所述推流端和所述取流端,用于为所述推流端确定所述目标流媒体服务器以及用于为所述取流端更新所述流媒体数据。
第三方面,本申请实施例还提供了一种流媒体服务器集群,所述媒体服务器集群为上述第二方面所述的流媒体传输系统中的流媒体服务器集群。
与现有技术相比,本申请提供一种多终端的流媒体传输方法、系统及流媒体服务器集群,该方法包括推流客户端获取流媒体服务器集群中的目标流媒体服务器;所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据;所述各取流客户端解码播放所述流媒体数据,以在并发量很大的时候,通过集群实现负载均衡,提高用户体验。
附图说明
图1为本申请一实施例的多终端的流媒体传输方法的流程示意图;
图2为本申请一实施例的多终端的流媒体传输方法的步骤S100的流程分解示意图;
图3为本申请一实施例的多终端的流媒体传输方法的步骤S200的流程分解示意图;
图4为本申请一实施例的多终端的流媒体传输方法的步骤S300的流程分解示意图;
图5为本申请一实施例的多终端的流媒体传输方法的步骤S302的流程分解示意图;
图6为本申请一实施例的多终端的流媒体传输系统的框架结构图;
图7为本申请一实施例的一种终端的框架结构图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,示例性的示出了本申请一实施例的多终端的流媒体传输方法的流程图,该多终端的流媒体传输方法包括以下步骤:
S100、推流客户端获取流媒体服务器集群中的目标流媒体服务器。
在本申请实施例中,“推流”指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的音视频信号传到网络的过程。因此,推流客户端可以是向取流客户端推流数据的终端,可以连接显示器例如液晶显示器或OLED显示器。其也可以是接收来自节目发布端发布的节目并进行本地存储,而此处的节目发布端例如为流媒体服务器端、或者安装有节目发布软件的手机端或PC上位机端,从而用户可从流媒体服务器端、手机端或PC上位机端通过有线或者无线的方式,向推流客户端发布节目及其播放方案。
该流媒体服务器集群是由分布不同的多个流媒体服务器集成,其分布在同一网络。流媒体服务器集群内的每个流媒体服务器资源共享,可以保证用户访问任一台流媒体服务器所需的资源。
在本申请实施例中,该流媒体服务器采用音视频芯片且具备并发能力,并采用插卡模块化硬件设计,使得流媒体服务器运用在单一的嵌入式系统上进行并发调度流媒体数据,每个硬件模块具备如1000M网口的带宽,并且负载均衡,满足大规模的高效音视频并发能力。
进一步地,由于流媒体服务器集群中各个流媒体服务器端的并发性能不同以及负载性能不同,因此,为了保证音视频播放效果,提高用户体验,根据推流客户端的推流需求,会综合流媒体服务器端并发性能及负载性能筛选出最优化方案的目标流媒体服务器,以快速响应推流客户端的推流请求。
该推流请求由推流客户端设备根据用户的操作生成并发送,具体的,推流请求中可以包括用户的身份标识、推流客户端设备的身份标识以及请求的流媒体数据如音视频信息等内容。其中用户的身份标识可以采用身份令牌,用于验证用户的身份是否合法,推流客户端设备的身份标识可以采用设备识别码,用于验证设备是否具备播放能力等信息,请求的音视频信息可以包括对应的音视频采集设备(即目标视频采集设备)、播放方式(直播还是录播还是点播等)以及分辨率等信息。该推流请求内容并非限制的,根据不同推流客户端需求进行实际设置。
图2为步骤S100进一步细化,该推流客户端获取流媒体服务器集群中的目标流媒体服务器包括:
S101、所述推流客户端向云平台服务器发送查询推流的流媒体服务器请求。
在本申请实施例中,该云平台服务器(或下述简称云平台)用于管理流媒体服务器集群,用于为用户提供唯一账户以绑定流媒体服务器集群中每一个流媒体服务器,使得用户能正常访问任一流媒体服务器资源而不需要额外的网卡或服务器设备。当然,该云平台服务器还可以存储流媒体数据如音视频列表,也可以存储各流媒体服务器端负载情况、公网IP以及端口信息以及所绑定的用户账户。
步骤S101中推流客户端向云平台发送查询推流端流媒体服务器请求时,云平台服务器从该请求中获取到该推流客户端的用户身份标识,该用户身份标识指的是用户账户。云平台会从用户账户列表中查询是否是已注册用户,若该用户身份标识是新用户,属于未注册账户,则会向该推流客户端反馈注册结果。
当然,若云平台判定该用户身份标识为已注册账户,则会获取该注册中国账户下所绑定的所有流媒体服务器对应的域名列表。同样的,该域名列表还包括域名所对应的端口信息。
S102、所述云平台服务器响应所述流媒体服务器请求,根据所述流媒体服务器集群中各流媒体服务器的负载情况,向所述推流客户端发送目标流媒体服务器信息。
在本申请实施例中,基于步骤S101所述,推流客户端通过云平台注册绑定所述流媒体服务器集群中所有流媒体服务器。具体地,用户在云平台上注册一个账户,在该账户下为流媒体服务器集群中的每个流媒体服务器申请注册不同的域名,然后把申请的不同域名填写到流媒体服务器,对应的流媒体服务器会与该域名进行绑定。
云平台服务器实时更新各流媒体服务器端负载大小、内网IP和内网端口、公网IP和公网端口,保证信息准确性。
在步骤S102中云平台服务器基于流媒体服务器请求判断该推流客户端是已注册账户后获取该账户下各流媒体服务器网络信息,该网络信息指的是流媒体服务器负载大小、域名及端口信息等。然后基于该网络信息,从多个流媒体服务器中筛选出目标流媒体服务器,将目标流媒体服务器信息发送给推流客户端。
在本申请实施例中,该目标流媒体服务器信息是域名及端口号。
需要说明的是,该网络信息可以是网络带宽大小,也可以是网速快慢,也可以是网络波动与否流,并非限制的,可根据实际网络情况而设定。
进一步地,本申请中该目标流媒体服务器是流媒体服务器集群中负载最小的流媒体服务器,这样不仅可快速响应推流需求,而且使得推流顺畅,提高运行效率。
S103、所述推流客户端根据所述目标流媒体服务器信息连接所述目标流媒体服务器。
更进一步地,由于流媒体服务器集群内各流媒体服务器端资源共享,因此,在传输过程中检测到所述目标流媒体服务器发生故障,则根据所述云平台服务器的推送方案切换到所述流媒体服务器集群中所述推送方案对应的流媒体服务器,以保证所述推流客户端正常访问。
该推送方案可以是根据其他流媒体服务器负载最小的流媒体服务器,也可以是其他流媒体服务器综合性能优先级高对应的流媒体服务器。一旦检测到正用的目标流媒体服务器故障,则启动推送方案,以便无缝连接,使得备用流媒体服务器能保证推流客户端正常访问。
该访问具体是只需要路由器(支持UPNP)在一级公网网络或固定公网ip下面,流媒体服务器通过UPNP和路由器交互完成端口映射功能,通过映射方式,可以实现外部设备通过公网IP和映射的端口访问流媒体服务器。
进一步地,推流客户端拿到域名后,会连接云平台的DNS服务器,查询对应域名的IP和端口号,推流到对应的目标流媒体服务器。
S200、所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据。
在本申请实施例中,该推流方式基于网络传输稳定情况不同而采用不同的推流方式,从而自适应不同网络环境,而提高运行效率。
图3是步骤S200进一步细化,该推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据,包括:
S201、所述推流客户端向所述目标流媒体服务器发送推流请求。
在本申请实施例中,该推流请求携带有网络带宽信息。该网络带宽信息可传输速率是否恒定,从而选用不同的推流方式。
S202、当当前网络稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立TCP连接,并基于所述TCP连接接收所述推流客户端发送的所述流媒体数据。
上述TCP协议具有流量控制功能,使得网络改造较小时也能保证用户接收流媒体的音视频质量和用户体验。
若当前网络稳定,说明TCP传输不会出现丢包情况,即使有零星丢包,也可以通过TCP重传机制,使得推流传输也具有重传功能,实现更好的传输差错控制,进一步提高了数据传输的可靠性。
进一步地,推流客户端是利用私有协议将流媒体数据推流到目标流媒体服务器。
S203、当当前网络不稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立UDP连接,并基于所述UDP连接接收所述推流客户端发送的所述流媒体数据。
当前网络不稳定时,往往表现为网络带宽发生变化,会出现网络的时延抖动、速率变化,比如带宽低于编码速率,从而出现丢包,导致用户体验下降,因此,目标流媒体服务器根据网络带宽,在不稳定情况下,采用UDP传输方式,即采用与网络带宽相对应的速率发送流媒体数据,从而同步网络带宽传输速率,避免丢包现象产生,也使得目标流媒体服务器与推流客户端之间的推流速率最大化。
S300、所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据。
在本申请实施例中,目标流媒体服务器接收到推流客户端的音视频流后,会转发到本地的RTSP服务器。具体地,推流客户端和目标流媒体服务器通过私有协议建立会话,创建连接,当创建完成开始发送音视频流,目标流媒体服务器的转发服务器创建一个转发连接用于接收视频流,以使得转发连接接收的视频流通过转发接口更新到本地的RTSP服务器。
进一步地,目标流媒体服务器会同时向云平台服务器更新自己的音视频列表。
上述传输协议在本申请实施例中指的是RTP传输协议和私有websocket传输协议。
取流客户端具有多个,多个取流客户端能够同时统一地接收目标流媒体服务器或推流客户端推送过来的节目以进行节目同步播放。该取流客户端可以分别连接多个显示屏例如多个LED显示屏 ,以在各个LED显示屏 上同步显示节目内容。
在一些实施例中,该取流客户端可以包括:嵌入式处理器、可编程逻辑器件、以太网物理层收发器、图像输出端口、音视频输出接口 、存储器等。
该嵌入式处理器可以是ARM处理器,其可以支持安装嵌入式操作系统例如Android系统,其可内置有流媒体客户端和音视频服务器。以太网物理层收发器 连接在可编程逻辑器件和图像输出端口之间,而图像输出端口例如是以太网接口,比如RJ45接头。音视频输出接口连接嵌入式处理器 ,其例如是RCA接口或TRS接口等。通过建立对应的会话机制,使得目标流媒体服务器或推流客户端处于同一频道。
在本申请实施例中,该取流客户端至少分为两种,一种是rtp取流客户端,一种是websocket取流客户端。该rtp取流客户端是与RTSP服务器之间建立rtp会话进行流媒体传输。该websocket取流客户端是与RTSP服务器之间建立websocket会话连接进行流媒体传输。
图4是步骤S300进一步细化,该目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,包括:
S301、目标流媒体服务器响应各取流客户端的取流请求,确定各取流客户端本地的RTSP服务器,并通过转发接口向所述RTSP服务器发送所述流媒体数据;
S302、所述RTSP服务器基于取流请求的传输协议与各取流客户端建立不同的取流连接,并基于对应的取流连接向取流客户端发送所述流媒体数据。
需要说明的是,该取流请求携带有取流客户端的请求类型。该请求类型分为网页请求和非网页请求。网页请求对应于websocket传输,而非网页请求对应于rtp传输。
具体如图5所示,该步骤S302进一步细化分为:
S3021、当所述取流请求采用RTP传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立RTP连接,并以RTP连接发送所述流媒体数据;
或
S3022、当所述取流请求采用websocket传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立websocket连接,并以websocket连接发送所述流媒体数据。
进一步地,取流客户端在采用websocket传输协议获取流媒体数据,由于以网页形式无插件,可直接播放流媒体数据,加快播放速度。
S400、各取流客户端解码播放所述流媒体数据。
除了播放实时监控视频之外,还带有视频点播、录像、检索、时移回放观看等功能,并且不限制观看的平台。
基于上述,本申请所提供的一种多终端的流媒体传输方法,利用流媒体技术具有秒级响应、超低延时、高性能高分发的特性,提高音视频并发播放能量,同时利用集群技术,保证在任何情况下都能正常访问流媒体服务器资源,提高用户体验,也使得用户不购买云服务器和网络带宽,不需要专业运维人员,不仅可以节省大量成本,还能支持内网访问, 外网使用,灵活性强。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
请参阅图6,本申请还提供一种多终端的流媒体传输系统,多终端的流媒体传输系统包括:
推流端,用于推流客户端获取流媒体服务器集群中的目标流媒体服务器,并以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;
取流端,用于所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,以使得各取流客户端解码播放所述流媒体数据;
云平台服务器,连接所述推流端和所述取流端,用于为所述推流端确定所述目标流媒体服务器以及用于为所述取流端更新所述流媒体数据。
在本申请实施例中,用户在云平台上注册一个账户,在该账户下为流媒体集群中的每个服务器申请注册不同的域名,然后把申请的不同域名填写到流媒体服务器,流媒体服务器会与该域名进行绑定,同时更新自己的负载大小、内网IP和内网端口、公网IP和公网端口到云平台。推流客户端向云平台查询推流域名,云平台会根据流媒体服务器集群中各个流媒体的负载情况,向推流客户端返回一个负载较小的流媒体服务器域名,推流客户端拿到域名后,会连接云平台的DNS服务器,查询对应域名的IP和端口号,通过私有协议建立与对应的流媒体服务器会话。根据网络带宽情况创建不同推流连接,当创建完成开始发送音视频流,流媒体服务器的转发服务器创建一个转发连接接收视频流。转发连接接收的视频流通过转发接口更新到本地的RTSP服务器。同时,流媒体服务器也向云平台更新自己的音视频列表。
流媒体服务器通过RTSP建立与RTSP客户端的拉取流会话。该RTSP客户端同样可分为rtp取流客户端和websocket取流客户端。在建立会话后,流媒体服务器会将音视频数据通过RTSP客户端同步转发给rtp取流客户端和websocket取流客户端,以使得rtp取流客户端和websocket取流客户端可以同步播放。当然,用户除了播放实时监控视频之外,还带有视频点播、录像、检索、时移回放观看等功能,并且不限制观看平台。
作为另一方面,本申请还提供一种流媒体服务器集群,该流媒体服务器集群由多个流媒体服务器基于同一网络构建。该流媒体服务器集群可实现上述多终端的流媒体传输方法。
基于上述,本申请所提供的一种多终端的流媒体传输系统,1)采用插卡式模块化硬件设计,扩展性强,并且负载均衡,实现大规模的高效视频并发能力,2)私有websocket协议传输视频流,客户端获取视频流进行播放,网页无插件直播视频流,除了播放实时监控视频之外,还带有视频点播、录像、检索、时移回放观看等功能,并且不限制观看平台;3)极大提高用户体验,实现音视频高并发,提高观看或播放效果。
需要说明的是,上述任一终端也可以是如图7所示的设备,包括一个或多个中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM1303中,还存储有设备1300操作所需的各种程序和数据。CPU1301、ROM1302以及RAM1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
所述系统/计算机装置集成的部件/模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可拆卸介质中。基于这样的理解,本申请实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一可拆卸介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请一实施例还提供一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现上述任一实施例所述的方法。
在本申请所提供的几个具体实施方式中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述部件的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本申请各个实施例中的各功能模块/部件可以集成在相同处理模块/部件中,也可以是各个模块/部件单独物理存在,也可以两个或两个以上模块/部件集成在相同模块/部件中。上述集成的模块/部件既可以采用硬件的形式实现,也可以采用硬件加软件功能模块/部件的形式实现。
对于本领域技术人员而言,显然本申请实施例不限于上述示范性实施例的细节,而且在不背离本申请实施例的精神或基本特征的情况下,能够以其他的具体形式实现本申请实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种多终端的流媒体传输方法,其特征在于,所述多终端的流媒体传输方法包括:
推流客户端获取流媒体服务器集群中的目标流媒体服务器;
所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;
所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据;
各所述取流客户端解码播放所述流媒体数据。
2.根据权利要求1所述的多终端的流媒体传输方法,其特征在于,所述推流客户端获取流媒体服务器集群中的目标流媒体服务器,包括:
所述推流客户端向云平台服务器发送查询推流的流媒体服务器请求;
所述云平台服务器响应所述流媒体服务器请求,根据所述流媒体服务器集群中各流媒体服务器的负载情况,向所述推流客户端发送目标流媒体服务器信息;
所述推流客户端根据所述目标流媒体服务器信息连接所述目标流媒体服务器。
3.根据权利要求1或2所述的多终端的流媒体传输方法,其特征在于,所述目标流媒体服务器是所述流媒体服务器集群中负载最小的流媒体服务器。
4.根据权利要求1所述的多终端的流媒体传输方法,其特征在于,所述推流客户端获取流媒体服务器集群中的目标流媒体服务器之前,包括:
所述推流客户端通过云平台服务器注册绑定所述流媒体服务器集群中所有流媒体服务器。
5.根据权利要求4所述的多终端的流媒体传输方法,其特征在于,所述方法还包括:
在传输过程中检测到所述目标流媒体服务器发生故障,则根据所述云平台服务器的推送方案切换到所述流媒体服务器集群中所述推送方案对应的流媒体服务器,以保证所述推流客户端正常访问。
6.根据权利要求1或2所述的多终端的流媒体传输方法,其特征在于,所述推流客户端以推流方式向所述目标流媒体服务器发送流媒体数据,包括:
所述推流客户端向所述目标流媒体服务器发送推流请求;
当当前网络稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立TCP连接,并基于所述TCP连接接收所述推流客户端发送的所述流媒体数据;
当当前网络不稳定时,所述目标流媒体服务器响应所述推流请求,与所述推流客户端建立UDP连接,并基于所述UDP连接接收所述推流客户端发送的所述流媒体数据。
7.根据权利要求1所述的多终端的流媒体传输方法,其特征在于,所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,包括:
目标流媒体服务器响应各取流客户端的取流请求,确定各取流客户端本地的RTSP服务器,并通过转发接口向所述RTSP服务器发送所述流媒体数据;
所述RTSP服务器基于取流请求的传输协议与各取流客户端建立不同的取流连接,并基于对应的取流连接向取流客户端发送所述流媒体数据。
8.根据权利要求7所述的多终端的流媒体传输方法,其特征在于,所述RTSP服务器基于取流请求的传输协议与各取流客户端建立不同的取流连接,并基于对应的取流连接向取流客户端发送所述流媒体数据,包括:
当所述取流请求采用RTP传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立RTP连接,并以RTP连接发送所述流媒体数据;
或当所述取流请求采用websocket传输协议时,所述RTSP服务器与所述取流请求对应的取流客户端建立websocket连接,并以websocket连接发送所述流媒体数据。
9.一种多终端的流媒体传输系统,其特征在于,所述多终端的流媒体传输系统包括:
推流端,用于推流客户端获取流媒体服务器集群中的目标流媒体服务器,并以推流方式向所述目标流媒体服务器发送流媒体数据;其中,所述流媒体数据包括音频数据和/或视频数据;
取流端,用于所述目标流媒体服务器通过RTSP服务器向不同传输协议所构建的取流客户端转发所述流媒体数据,以使得各取流客户端解码播放所述流媒体数据;
云平台服务器,连接所述推流端和所述取流端,用于为所述推流端确定所述目标流媒体服务器以及用于为所述取流端更新所述流媒体数据。
10.一种流媒体服务器集群,其特征在于,所述流媒体服务器集群为如权利要求9所述的流媒体传输系统中的流媒体服务器集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505231.7A CN116233085A (zh) | 2023-05-08 | 2023-05-08 | 一种多终端的流媒体传输方法、系统及流媒体服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505231.7A CN116233085A (zh) | 2023-05-08 | 2023-05-08 | 一种多终端的流媒体传输方法、系统及流媒体服务器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233085A true CN116233085A (zh) | 2023-06-06 |
Family
ID=86575352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310505231.7A Pending CN116233085A (zh) | 2023-05-08 | 2023-05-08 | 一种多终端的流媒体传输方法、系统及流媒体服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233085A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402494A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的传输协议选择方法 |
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
CN104427400A (zh) * | 2013-08-22 | 2015-03-18 | 中国电信股份有限公司 | 流媒体传输方法、系统以及流媒体服务器 |
CN105141660A (zh) * | 2015-07-24 | 2015-12-09 | 网宿科技股份有限公司 | 一种流媒体管理方法及系统 |
CN106850581A (zh) * | 2017-01-04 | 2017-06-13 | 网宿科技股份有限公司 | 互动直播流媒体数据的分发备份方法、系统及服务器 |
CN107483972A (zh) * | 2017-07-24 | 2017-12-15 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN110418154A (zh) * | 2019-07-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种多媒体数据推送方法、装置及系统 |
CN111641845A (zh) * | 2020-05-19 | 2020-09-08 | 北京三快在线科技有限公司 | 流媒体集群控制系统和方法 |
CN111669665A (zh) * | 2019-03-05 | 2020-09-15 | 北京开广信息技术有限公司 | 媒体流的实时推送方法及服务器 |
CN113225570A (zh) * | 2021-03-31 | 2021-08-06 | 深圳市鹰硕技术有限公司 | 基于全局虚拟数据视图的播放处理方法及相关设备 |
-
2023
- 2023-05-08 CN CN202310505231.7A patent/CN116233085A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402494A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的传输协议选择方法 |
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
CN104427400A (zh) * | 2013-08-22 | 2015-03-18 | 中国电信股份有限公司 | 流媒体传输方法、系统以及流媒体服务器 |
CN105141660A (zh) * | 2015-07-24 | 2015-12-09 | 网宿科技股份有限公司 | 一种流媒体管理方法及系统 |
CN106850581A (zh) * | 2017-01-04 | 2017-06-13 | 网宿科技股份有限公司 | 互动直播流媒体数据的分发备份方法、系统及服务器 |
CN107483972A (zh) * | 2017-07-24 | 2017-12-15 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN111669665A (zh) * | 2019-03-05 | 2020-09-15 | 北京开广信息技术有限公司 | 媒体流的实时推送方法及服务器 |
CN110418154A (zh) * | 2019-07-30 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种多媒体数据推送方法、装置及系统 |
CN111641845A (zh) * | 2020-05-19 | 2020-09-08 | 北京三快在线科技有限公司 | 流媒体集群控制系统和方法 |
CN113225570A (zh) * | 2021-03-31 | 2021-08-06 | 深圳市鹰硕技术有限公司 | 基于全局虚拟数据视图的播放处理方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113454B (zh) | 配置和提供自适应流式传输视频的清单文件的系统和方法 | |
US8756296B2 (en) | Method, device and system for distributing file data | |
US9880806B2 (en) | Media playback processing and control method, apparatus, and system | |
US20180205976A1 (en) | Method and apparatus of obtaining video fragment | |
US7047306B2 (en) | System and method for providing internet broadcasting data based on hierarchical structure | |
US20150181285A1 (en) | Media Playback Method, Control Point, and Terminal | |
US9124674B2 (en) | Systems and methods for connection pooling for video streaming in content delivery networks | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US7555306B2 (en) | Method and system for mobile device performance monitoring | |
US20080209065A1 (en) | Method for sending stream media, signaling forwarding device and stream media system | |
US9432452B2 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
US20040249965A1 (en) | Node caching system for streaming media applications | |
WO2014172893A1 (zh) | 一种心跳信号的发送控制方法及装置 | |
EP3059945A1 (en) | Method and system for video surveillance content adaptation, and central server and device | |
EP4287591A1 (en) | Data transmission method and apparatus, and server, storage medium and program product | |
JP2018515960A (ja) | マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置 | |
CN107438201B (zh) | 消息处理系统、方法及装置 | |
CN107332894B (zh) | 直播方法、装置及系统、服务器、存储介质 | |
WO2018233190A1 (zh) | 媒体分片的下载方法、终端和计算机可读存储介质 | |
WO2022268032A1 (zh) | 一种视频流调度系统及相关产品 | |
CN116233085A (zh) | 一种多终端的流媒体传输方法、系统及流媒体服务器集群 | |
CN112383801B (zh) | 媒体流分发方法、装置、分发服务器及存储介质 | |
US20130268691A1 (en) | Redirecting web content | |
CN114268631A (zh) | 低延迟网络系统及其通信连接方法及可读存储介质 | |
CN114143569A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230606 |
|
RJ01 | Rejection of invention patent application after publication |