CN113676750A - 一种流媒体服务器集群管理系统 - Google Patents
一种流媒体服务器集群管理系统 Download PDFInfo
- Publication number
- CN113676750A CN113676750A CN202110965081.9A CN202110965081A CN113676750A CN 113676750 A CN113676750 A CN 113676750A CN 202110965081 A CN202110965081 A CN 202110965081A CN 113676750 A CN113676750 A CN 113676750A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- media server
- stream
- management
- database
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000011664 signaling Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23103—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种流媒体服务器集群管理系统,涉及流媒体服务器管理技术领域。本发明包括流媒体服务器、数据库,流媒体服务器集群管理;并发量很大的时候,通过集群实现负载均衡。本发明的流媒体服务器数据来源于数据库,逻辑清晰明了,现在市面上的流媒体“推流”和“流媒体服务器”是分开的,需要不同的软件去推流到流媒体服务器;本发明针对不同的协议有不同的推流方式,如GB28181协议,采用自动推流方式,如RTSP协议,采用api接口添加推流方式,不需要其他的推流软件;通过智能指针引用计数的方式实现了多线程的数据分发,不管分发多少次,数据拷贝次数都是固定的,所以流媒体服务器可以达到极好的性能参数。
Description
技术领域
本发明属于流媒体服务器管理技术领域,特别是涉及一种流媒体服务器集群管理系统。
背景技术
流媒体服务集群管理系统支持对流媒体服务器的集群管理,可以将分布在不同的流媒体服务器上的多个流媒体服务器集群起来,统一管理,统一调度。达到负载均衡的状态。
如中国专利CN111641845A公开了一种流媒体集群控制系统和方法,负载均衡服务器用于接收终端发送的数据流请求消息,并将该数据流请求消息发送至第一流媒体服务器;第一流媒体服务器根据该数据流请求消息向集群控制服务器发送数据流传输消息,集群控制服务器可以在该数据流请求消息包括推流请求消息的情况下,控制该第一流媒体服务器接收终端发送的目标数据流,并在该数据流请求消息包括拉流请求消息的情况下,控制该第一流媒体服务器向终端推送拉流请求消息请求的目标数据流;针对任何架构的负载均衡服务器和流媒体服务器集群,都可以通过集群控制服务器控制流媒体服务器与终端之间的数据流传输,使得该流媒体集群控制系统的可扩展性和可移植性更强。
又如中国专利CN104158869A、CN106411925A、CN105141660A等等诸如此类,均公开关于流媒体集群管理的方法,通过流媒体服务器集群为大用户量和大用户区域提供直播或点播服务,通过负载均衡服务器根据该流媒体服务器集群中每个流媒体服务器的负载情况,选择对应的流媒体服务器为用户提供服务,集中服务器资源,降低内部的计算和带宽损耗。
但是,目前媒体服务传输协议较多,后端架构多样,针对每一个流媒体服务系统需要配置对应的负载均衡服务器和流媒体服务器集群;市面上的流媒体服务器比如:
Wowza流媒体服务器:号称能够提供10Gb的播出吞吐能力,实测效果一般,对服务器硬件要求也较高,国外产品,支持力度不够;
Red5流媒体服务器:配置和使用复杂,运行效率偏低,虽然可以使用,但对运维人员的要求较高;
NTV Media Server G3流媒体服务器:商业软件,价格很高,技术相对成熟,不提供场外实施。
发明内容
本发明的目的在于提供一种流媒体服务器集群管理系统,通过智能指针引用计数的方式实现了多线程的数据分发,不管分发多少次,数据拷贝次数都是固定的,所以流媒体服务器可以达到极好的性能参数,提高流媒体服器的运行效率,实现负载均衡,提供api可供二次开发,配置简单,使用方法简单明了,支持全平台。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种流媒体服务器集群管理系统,包括:
数据库:其用于保存整个系统产生的数据,为中心数据库;
流媒体服务器:其用于对所有流媒体设备的功能控制,如摄像头注册,录制计划,rtp推流,ptz控制等;
流媒体治理组件:其用于将分布在不同的流媒体服务器的多个ZLMediaKit集群起来,统一管理,统一调度,并发量很大的时候,通过集群实现负载均衡,即不同的服务器多个流媒体服务器集群管理,统一调度;
接口单元:其提供完善的标准Restful WebApi接口,供其他语言调用,是全局的流媒体管理API服务;
流媒体服务管理子系统:用于对流媒体服务的直播流生成播放、录制进行管理以及对业务功能的管理,提供丰富的api接口:可供开发人员二次开发;
业务功能包括用户登录及权限管理、设备的管理、流媒体服务的管理、启动和停止服务、视频通道管理、视频管理,无人观看自动断流;20秒无人观看,自动关闭拉流,提升效率,避免不必要的资源浪费;
视频分析单元:其用于对视频进行分析提供完整的运动目标特征数据。
进一步地,所述数据库选用SQL Server2014数据库、MySQL11.2.7数据库,流媒体服务器数据来源于数据库,所以逻辑清晰明了。
进一步地,所述流媒体设备包括若干基于GB20181的摄像头。
进一步地,所述视频分析单元对视频进行分析提供完整的运动目标特征数据的方法为:
步骤一:在颜色概率分布图中选取搜索窗;
根据公式xc=M10/M00;yc=M01/M00,计算搜索窗的质心;
步骤三:调整搜索窗大小:
长度为:1.2s;
步骤四:移动搜索窗的中心到质心,若移动距离大于预设的固定阈值,则重复步骤二至四,直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者重复循环运算的次数达到预设次数时,停止重复循环;
其中,I表示当前点,x、y为当前点在x轴和y轴上的偏移均值。
进一步地,所述摄像头接入平台配置后,所述流媒体服务器自动拉取摄像头sip协议,提供api可供二次开发,配置简单,使用方法简单明了,支持全平台。
进一步地,所述流媒体服务器还用于自动添加流媒体设备信息到数据库,所述流媒体服务器支持录制mp4和flv格式的录制文件,且支持录制自动删除。
进一步地,所述流媒体服务管理子系统通过API请求流媒体服务器,所述流媒体服务器返回请求数据至流媒体服务管理子系统,通过流媒体服务管理子系统提供的api对流媒体服务器进行控制使用post和get请求方式。
进一步地,所述流媒体服务管理子系统还用于向数据库发送数据请求,所述数据库返回数据信息至流媒体服务管理子系统。
进一步地,所述流媒体服务管理子系统还包括摄像头推流控制模块,所述摄像头推流控制模块用于GB28181 Rtp流以外的其他流类型的拉取与转换,无人观看时自动断流。
进一步地,所述摄像头推流控制模块针对不同的协议有不同的推流方式:
针对GB28181协议,采用自动推流方式;
针对RTSP协议,采用api接口添加推流方式。
进一步地,所述的流媒体服务器集群管理系统采用多线程开发模型,ZLMediaKit采用C++11的智能指针来做内存管理,在线程切换时可以完美的管理内存在多线程下共享以及其生命周期。
本发明具有以下有益效果:
本发明的流媒体服务器数据来源于数据库,逻辑清晰明了,现在市面上的流媒体“推流”和“流媒体服务器”是分开的,需要不同的软件去推流到流媒体服务器;本发明针对不同的协议有不同的推流方式,如GB28181协议,采用自动推流方式,如RTSP协议,采用api接口添加推流方式,不需要其他的推流软件;
通过智能指针引用计数的方式实现了多线程的数据分发,不管分发多少次,数据拷贝次数都是固定的,所以流媒体服务器可以达到极好的性能参数。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明流媒体服务器集群管理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
请参阅图1所示,本发明为一种流媒体服务器集群管理系统,本发明的流媒体服务框架支持rtsp/rtmp推流客户端,rtsp/rtmp/http-flv/ws-flv/hls播放客户端,并且可以无缝把rtsp/rtmp推流转换成上述4种播放协议,同时我们也支持mp4录制存档,必要的时候也可以从mp4文件加载成直播流;支持拉流rtsp/rtmp代理成rtsp/rtmp/http-flv/ws-flv/hls,也支持把直播rtsp/rtmp流推送到其他的服务器。具体包括:
数据库:其用于保存整个系统产生的数据,为中心数据库;
视频分析方法目前主要有两类,本发明使用的是“背景减除法”是利用当前图象和背景图象的差分(SAD)来检测出运动区域的一种方法,可以提供比较完整的运动目标特征数据,精确度和灵敏度比较高,具有良好的性能表现,优选的,视频分析单元:其用于对视频进行分析提供完整的运动目标特征数据,将meanshift算法扩展到连续图像序列,就是camshift算法,它将视频的所有帧做meanshift运算,并将上一帧的结果,即搜索窗的大小和中心,作为下一帧meanshift算法搜索窗的初始值。如此迭代下去,就可以实现对目标的跟踪,具体的:
作为本发明提供的一个实施例,优选的,所述视频分析单元对视频进行分析提供完整的运动目标特征数据的方法为:
步骤一:在颜色概率分布图中选取搜索窗;
根据公式xc=M10/M00;yc=M01/M00,计算搜索窗的质心;
步骤三:调整搜索窗大小:
长度为:1.2s;
步骤四:移动搜索窗的中心到质心,若移动距离大于预设的固定阈值,则重复步骤二至四,直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者重复循环运算的次数达到预设次数时,停止重复循环;
其中,I表示当前点,x、y为当前点在x轴和y轴上的偏移均值。
流媒体服务器MediaServer:其用于对所有流媒体设备的功能控制,如摄像头注册,录制计划,rtp推流,ptz控制等,支持linux、macos、ios、android、windows全平台,既可以作为商用的流媒体服务器,也可以移植到嵌入式设备中,作为基础流媒体服务组件;
流媒体治理组件AKStreamKeeper:其用于将分布在不同的流媒体服务器的多个ZLMediaKit集群起来,统一管理,统一调度;采用的是多线程开发模型;与传统的多线程模型不同;ZLMediaKit采用了C++11的智能指针来做内存管理,在线程切换时可以完美的管理内存在多线程下共享以及其生命周期;同时互斥锁的粒度消减至极致,几乎可以忽略不计;所以采用多线程模型的性能损耗极低,每条线程的性能几乎可以媲美单线程模型,同时也可以充分榨干CPU的每一核心性能。
接口单元AKStreamWeb:其提供完善的标准Restful WebApi接口,供其他语言调用,是全局的流媒体管理API服务,提供丰富的http api以及http hook api,通过这些api,与其他业务服务器一起,打造丰富的业务逻辑;流媒体管理的总控制中心AKStream和接口单元api服务与流媒体治理组件AKStreamKeeper分开,流媒体治理组件AKStreamKeeper中包含有ZLMediaKit流媒体服务,使一个流媒体管理的总控制中心AKStream对应多个流媒体治理组件AKStreamKeeper,达到集群的效果,即流媒体管理的总控制中心AKStream只有一个,流媒体治理组件为多个且分布在不同的流媒体服务器上,流媒体管理的总控制中心AKStream集中处理api、流媒体功能的控制、摄像头的注册等。
作为本发明提供的一个实施例,优选的,所述的流媒体服务器集群管理系统采用多线程开发模型,ZLMediaKit采用C++11的智能指针来做内存管理,在线程切换时可以完美的管理内存在多线程下共享以及其生命周期,通过智能指针引用计数的方式实现了多线程的数据分发,不管分发多少次,数据拷贝次数都是固定的,所以流媒体服务器可以达到夸张的性能参数。
性能测试:硬件i7-4790 4核心8线程
cpu占用率最高为800%,支撑500个4K RTSP播放器,实时流量为4Gb/s时cpu使用率<50%,通过简单换算,该cpu可以支撑大概8000个4K RTSP播放器,实时流量最高能达到64Gb/s,考虑到性能折损,我们保守估计可以支持6000个4K RTSP播放器,50Gb/s的流量。
本发明的流媒体服务器集群管理系统,在并发量很大的时候,通过集群实现负载均衡,即不同的服务器多个流媒体服务器集群管理,统一调度。
实施例二:
所述数据库选用SQL Server2014数据库、MySQL11.2.7数据库,本发明开发的流媒体服务器所有工作都基于数据库,所有推流、拉流、视频录制等等操作均基于数据库中的VideoChannel表中的数据,只有在数据库中存在才会做相关操作,数据库中不存在则不会有任何操作,所以一切都从数据库开始。
作为本发明提供的一个实施例,优选的,音视频流的编码格式、封装格式、提供方式因不同的流媒体设备不同的协议而各不相同,但往往我们希望把这些不同的情况统一起来,统一管理统一调度最后统一使用。我们的目标就在于此,它将不同设备的不同方式下的不同编码与提供方式的音视频流统一成一种方式向外提供,所述流媒体设备包括若干基于GB20181的摄像头,所述流媒体设备还支持的设备类型:网络摄像机、NVR、DVR、FFMPEG等。
实施例三:
所述摄像头接入平台配置后,所述流媒体服务器自动拉取摄像头sip协议,我们将这些不同设备的音视频流,在不论其封装格式,编码格式的前提下被分类两类:
1、GB28181设备所产生的rtp流:
对于GB28181设备所产生的rtp流,通过Sip信令沟通网关,Sip信令沟通网关进行GB28181信令的正确响应,流媒体管理的总控制中心AKStream通过WebApi与ZLMediaKit进行通讯,获取ZLMediakit的推流权限(端口申请),从而使GB28181设备主动向指定端口与指定参数的约束下进行推流,ZLMediaKit在收到GB28181设备的推流后,将rtp流协议转换成如http-flv,ws-flv,rtmp等协议的流并通过WebApi接口与流媒体管理的总控制中心AKStream通讯;
2、非GB28181设备所产生的其他流:
流媒体管理的总控制中心AKStream通过ZLMediaKit内置的代理推流器或FFmpeg代理推流器,拉取非GB28181设备的视频流源地址(rtmp,rtsp,http等),ZLMediakit在正确拉取或拉取失败时会向流媒体管理的总控制中心AKStream的WebApi接口进行通知,流媒体管理的总控制中心AKStream得到通知后如GB28181设备一样进行处理。
作为本发明提供的一个实施例,优选的,现在市面上的流媒体服务器“推流”和“流媒体服务器”是分开的,需要不同的软件去推流到流媒体服务器。我们针对不同的协议有不同的推流方式,优选的,所述摄像头推流控制模块针对不同的协议有不同的推流方式:
针对GB28181协议,采用自动推流方式;
针对RTSP协议,采用api接口添加推流方式。
作为本发明提供的一个实施例,优选的,GB28181设备的Sip信令沟通网关的工作流程为:
1、摄像头的GB28181设备配置页面配置流媒体管理的总控制中心AKStream中Sip信令沟通网关的相关参数信息;
2、摄像头上线时,自动通过GB28181协议向Sip信令沟通网关注册自己的信息;
3、Sip信令沟通网关发现摄像头上线后,发启设备目录查询请求;
4、摄像头收到设备目录查询请求后,按GB28181协议要求发送自身设备列表到Sip信令沟通网关;
5、Sip信令沟通网关收到设备列表后,完成摄像头推拉流必须的参数;
6、摄像头与Sip信令沟通网关保持心跳响应;
7、Sip信令沟通网关在一定周期内发现摄像头心跳断连,自动跳出Sip设备列表中的摄像头。
实施例四:
所述流媒体服务器还用于自动添加流媒体设备信息到数据库,所述流媒体服务器支持录制mp4和flv格式的录制文件,且支持录制自动删除。
作为本发明提供的一个实施例,优选的,录制计划为:
1、流媒体管理的总控制中心AKStream仅支持将音视频流录制成可快速播放的mp4文件(MP4文件中的FastStart);
2、录制计划模板:以星期为单位控制每个星期n的00:00:01到23:59:59的录制与不录制控制,一个录制计划模板中可以出现多个星期n的数据,表示每天启用与停用录制可以多段;
3、如果一个录制计划仅含有录制计划本身,则没有星期n的细节信息,AKStream默认其一直录制;
4、只有音视频流正确上线(成功推拉流)的时候,才会启动录制。
作为本发明提供的一个实施例,优选的,文件录制有文件控件限制和文件时长限制,用户文件控件限制和文件时长限制(即自定义空间大小和时长),超过限制后处理方式是自动停止录制和自动删除录制文件两种方式。
作为本发明提供的一个实施例,优选的,所述流媒体服务管理子系统通过API请求流媒体服务器,所述流媒体服务器返回请求数据至流媒体服务管理子系统,通过流媒体服务管理子系统提供的api对流媒体服务器进行控制使用post和get请求方式;所述流媒体服务管理子系统还用于向数据库发送数据请求,所述数据库返回数据信息至流媒体服务管理子系统;所述流媒体服务管理子系统还包括摄像头推流控制模块,所述摄像头推流控制模块用于GB28181Rtp流以外的其他流类型的拉取与转换,无人观看时自动断流,如:20秒无人观看,自动关闭拉流,提升效率,避免不必要的资源浪费。
一种流媒体服务器集群管理系统,采用高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议,本发明支持linux、macos、windows、ios、android平台,支持的编码格式包括H264、AAC、H265(仅rtsp支持H265);采用的模型是多线程IO多路复用非阻塞式编程(linux下采用epoll、其他平台采用select),该框架基于C++11开发,避免使用裸指针,减少内存拷贝,代码精简可靠,并发性能优异,在linux平台下,单一进程即可充分利用多核CPU的优势;最大限度的榨干CPU、网卡性能;轻松达到万兆网卡性能极限;同时也能在高性能的同时,做到极低延时,画面秒开;数据来源基于数据库,流媒体服务器的一切操作全都来源于数据库数据库架构设计也因此变得更简单清晰,不会产生歧义;节省服务器资源,避免不必要的资源浪费。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种流媒体服务器集群管理系统,其特征在于,包括:
数据库:其用于保存整个系统产生的数据,为中心数据库;
流媒体服务器:其用于对所有流媒体设备的功能控制;
流媒体治理组件:其用于将分布在不同的流媒体服务器的多个ZLMediaKit集群起来,统一管理,统一调度;
接口单元:其提供完善的标准Restful WebApi接口,供其他语言调用,是全局的流媒体管理API服务;
流媒体服务管理子系统:用于对流媒体服务的直播流生成播放、录制进行管理以及对业务功能的管理;
业务功能包括用户登录及权限管理、设备的管理、流媒体服务的管理、启动和停止服务、视频通道管理、视频管理;
视频分析单元:其用于对视频进行分析提供完整的运动目标特征数据。
2.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述数据库选用SQL Server2014数据库、MySQL11.2.7数据库,所述流媒体设备包括若干基于GB20181的摄像头。
3.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述视频分析单元对视频进行分析提供完整的运动目标特征数据的方法为:
步骤一:在颜色概率分布图中选取搜索窗;
根据公式xc=M10/M00;yc=M01/M00,计算搜索窗的质心;
步骤三:调整搜索窗大小:
长度为:1.2s;
步骤四:移动搜索窗的中心到质心,若移动距离大于预设的固定阈值,则重复步骤二至四,直到搜索窗的中心与质心间的移动距离小于预设的固定阈值,或者重复循环运算的次数达到预设次数时,停止重复循环;
其中,I表示当前点,x、y为当前点在x轴和y轴上的偏移均值。
4.根据权利要求3所述的一种流媒体服务器集群管理系统,其特征在于,所述摄像头接入平台配置后,所述流媒体服务器自动拉取摄像头sip协议。
5.根据权利要求4所述的一种流媒体服务器集群管理系统,其特征在于,所述流媒体服务器还用于自动添加流媒体设备信息到数据库,所述流媒体服务器支持录制mp4和flv格式的录制文件,且支持录制自动删除。
6.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述流媒体服务管理子系统通过API请求流媒体服务器,所述流媒体服务器返回请求数据至流媒体服务管理子系统,通过流媒体服务管理子系统提供的api对流媒体服务器进行控制使用post和get请求方式。
7.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述流媒体服务管理子系统还用于向数据库发送数据请求,所述数据库返回数据信息至流媒体服务管理子系统。
8.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述流媒体服务管理子系统还包括摄像头推流控制模块,所述摄像头推流控制模块用于GB28181Rtp流以外的其他流类型的拉取与转换,无人观看时自动断流。
9.根据权利要求8所述的一种流媒体服务器集群管理系统,其特征在于,所述摄像头推流控制模块针对不同的协议有不同的推流方式:
针对GB28181协议,采用自动推流方式;
针对RTSP协议,采用api接口添加推流方式。
10.根据权利要求1所述的一种流媒体服务器集群管理系统,其特征在于,所述的流媒体服务器集群管理系统采用多线程开发模型,ZLMediaKit采用C++11的智能指针来做内存管理,在线程切换时管理内存在多线程下共享以及其生命周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110965081.9A CN113676750A (zh) | 2021-08-20 | 2021-08-20 | 一种流媒体服务器集群管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110965081.9A CN113676750A (zh) | 2021-08-20 | 2021-08-20 | 一种流媒体服务器集群管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113676750A true CN113676750A (zh) | 2021-11-19 |
Family
ID=78544783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110965081.9A Withdrawn CN113676750A (zh) | 2021-08-20 | 2021-08-20 | 一种流媒体服务器集群管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676750A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150669A (zh) * | 2022-06-29 | 2022-10-04 | 城云科技(中国)有限公司 | 一种基于gb28181国际互标的媒体流共享方法、装置及应用 |
CN115314738A (zh) * | 2022-08-15 | 2022-11-08 | 城云科技(中国)有限公司 | 对hook的数据添加标签处理拉流的方法及装置 |
CN116032895A (zh) * | 2022-12-13 | 2023-04-28 | 上海元镜像信息科技有限公司 | 一种旁路方式的智能媒体服务器调度方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897433A (zh) * | 2020-08-04 | 2020-11-06 | 吉林大学 | 一种集成成像显示系统中实现动态手势识别与控制方法 |
-
2021
- 2021-08-20 CN CN202110965081.9A patent/CN113676750A/zh not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897433A (zh) * | 2020-08-04 | 2020-11-06 | 吉林大学 | 一种集成成像显示系统中实现动态手势识别与控制方法 |
Non-Patent Citations (4)
Title |
---|
51CTO博客作者AI_YANG: "ZLMediaKit高并发实现原理" * |
51CTO博客作者EGUID: "开源技术分享:全面支持rtsp/rtmp/hls/http-flv/ws-flv/fmp4/gb28181的强大流媒体服务ZLMediaKit" * |
WANGSCRIPT007: "AKStream介绍", pages 2, Retrieved from the Internet <URL:https://github.com/wangscript007/akstream> * |
腾讯云 作者 用户8662056: "推荐一个基于C++11的高性能运营级流媒体服务框架" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150669A (zh) * | 2022-06-29 | 2022-10-04 | 城云科技(中国)有限公司 | 一种基于gb28181国际互标的媒体流共享方法、装置及应用 |
CN115150669B (zh) * | 2022-06-29 | 2023-08-22 | 城云科技(中国)有限公司 | 一种基于gb28181国际互标的媒体流共享方法、装置及应用 |
CN115314738A (zh) * | 2022-08-15 | 2022-11-08 | 城云科技(中国)有限公司 | 对hook的数据添加标签处理拉流的方法及装置 |
CN115314738B (zh) * | 2022-08-15 | 2024-04-26 | 城云科技(中国)有限公司 | 对hook的数据添加标签处理拉流的方法及装置 |
CN116032895A (zh) * | 2022-12-13 | 2023-04-28 | 上海元镜像信息科技有限公司 | 一种旁路方式的智能媒体服务器调度方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113676750A (zh) | 一种流媒体服务器集群管理系统 | |
Petrangeli et al. | An http/2-based adaptive streaming framework for 360 virtual reality videos | |
US10567765B2 (en) | Streaming multiple encodings with virtual stream identifiers | |
CN110012300B (zh) | 视频直播方法及装置 | |
CA2841377C (en) | Video transcoding services provided by searching for currently transcoded versions of a requested file before performing transcoding | |
JP2020519094A (ja) | ビデオ再生方法、デバイス、およびシステム | |
EP3840390A1 (en) | Method and device for controlling video transcoding code rate | |
KR101569510B1 (ko) | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 | |
JP2014532323A (ja) | モバイルマルチメディアリアルタイムトランスコーディングシステム、装置、記憶媒体、および方法 | |
US10148990B2 (en) | Video streaming resource optimization | |
CN115243074B (zh) | 视频流的处理方法及装置、存储介质、电子设备 | |
CN102158690A (zh) | 远程多路实时视频监控系统 | |
CN109672857B (zh) | 监控资源的信息处理方法和装置 | |
CN110493657A (zh) | OnStream智能在线流媒体平台系统 | |
US20230045876A1 (en) | Video Playing Method, Apparatus, and System, and Computer Storage Medium | |
CN108989833B (zh) | 一种视频封面图像的生成方法及装置 | |
CN108632679B (zh) | 一种多媒体数据传输的方法和一种视联网终端 | |
CN118337764A (zh) | 视频流处理方法及装置、非易失性存储介质、电子设备 | |
CN111131788B (zh) | 监控资源状态检测方法、装置及计算机可读存储介质 | |
WO2023130896A1 (zh) | 媒体数据的数据处理方法、装置、计算机设备及存储介质 | |
CN112312164A (zh) | 一种基于分布式转码服务器的视频转码系统 | |
CN116980662A (zh) | 流媒体播放方法、装置、电子设备、存储介质及程序产品 | |
CN114025190B (zh) | 多码率调度方法和多码率调度装置 | |
CN110795008B (zh) | 图片传输方法、装置及计算机可读存储介质 | |
CN110474934B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211119 |