CN110765879A - 基于b/s架构的实时视频分析系统及方法 - Google Patents
基于b/s架构的实时视频分析系统及方法 Download PDFInfo
- Publication number
- CN110765879A CN110765879A CN201910903023.6A CN201910903023A CN110765879A CN 110765879 A CN110765879 A CN 110765879A CN 201910903023 A CN201910903023 A CN 201910903023A CN 110765879 A CN110765879 A CN 110765879A
- Authority
- CN
- China
- Prior art keywords
- module
- analysis
- instruction
- user input
- main
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于B/S架构的实时视频分析系统,Web前端模块接收用户输入指令、将用户输入指令发送至调度服务器模块、向调度服务器模块调取分析结果以及呈现分析结果;调度服务器模块根据用户输入指令启动主分析模块、将用户输入指令发送至指令转发模块以及接收分析结果并暂存;指令转发模块对用户输入指令进行解析并转发至主分析模块;主分析模块根据用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块。本发明同时提供了一种基于B/S架构的实时视频分析方法。本发明保证高压力下取帧速度不受影响,模块间通信效率相比传统方式较高,通信错误率降低,且保证了高压力下服务器端播放进度依然与前端对齐。
Description
技术领域
本发明涉及实时视频分析技术领域,具体地,涉及一种基于B/S架构的实时视频分析系统及方法,更为具体地,是一种基于B/S架构的、包含云端视频速度高压力情况下的精准控制、Socket跨语言通信的可扩展实时视频分析系统及方法。
背景技术
基于B/S架构的实时视频分析系统是指一个用户可在浏览器端向服务器自行上传视频、发送分析指令并实时得到视频帧分析结果的系统。如在监控人群分析领域,用户上传监控视频,可播放监控视频并得到监控视频当前帧的人群密度、人群运动分组与人群关注度等分析结果。该种系统服务器资源占用较大,需保证高压力下服务器端仍能按照视频原速进行取帧而不出现速度偏移;同时,该种系统中往往存在多并行、大数据量(如多用户分析后的图片结果)的跨语言通信的需求,由此需在缓冲区有限的情况下对抗Socket数据包的粘包与断包现象。
在传统对视频播放速度的控制方式中,一般为读取视频每秒帧数信息,计算帧间间隔,并在每个取帧循环中暂停帧间隔长度的时间。在精确度要求较低的场合下,此方案可行。但这种方式忽略了取帧本身带来的时间消耗。在此基础上进行改良的方式则是读取系统时间,动态调节每个取帧循环的暂停时间。然而在高压力情况下,取帧这一操作所消耗的时间已大于帧间隔时间,依然造成不可逆转的播放速度偏移。
传统的Socket连接中,常常使用自定义包头或添加分割标识符对抗Socket数据包的断裂与粘连。然而这样在多用户或多分析项同时使用的情况下,若包头和分割标识符均断裂至其他包内,则该数据包由于无法分辨数据来源,无法存入相对应的二级缓冲区,只能做丢弃处理,引发数据损坏。而为减小数据损坏率,只能增加包头密度或标识符密度,极大浪费了传输资源,降低了传输效率。
发明内容
本发明针对现有技术中存在的上述不足,提供了一种基于B/S架构的实时视频分析系统及方法。该系统及方法使用了基于时间预估的动态循环睡眠时间与跳帧相结合的控制策略实现了在高压力下对抗取帧速度的偏离,以及使用了基于远端端口信息的Socket数据包复原策略对抗Socket传输过程中的断包与粘包现象。
本发明是通过以下技术方案实现的。
根据本发明的一个方面,提供了一种基于B/S架构的实时视频分析系统,包括:Web前端模块、调度服务器模块、指令转发模块以及主分析模块;其中:
所述Web前端模块,用于:接收用户输入指令、发送用户输入指令至调度服务器模块、向调度服务器模块提取分析结果以及呈现分析结果;
所述调度服务器模块,用于:根据用户输入指令启动主分析模块、接收Web前端模块发送来的用户输入指令并发送至指令转发模块、接收主分析模块所发送的分析结果并暂存以及等待Web前端模块提取该分析结果;
所述指令转发模块,用于:对调度服务器模块发送来的用户输入指令进行解析并转发至主分析模块;
所述主分析模块,用于:根据指令转发模块发送来的用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块;
所述主分析模块,还用于:存储文本分析结果与图片分析结果的路径。
优选地,所述主分析模块中,采用基于时间预估的动态循环睡眠时间与跳帧相结合的控制模式;
所述控制模式依据系统时间产生与视频是否暂停无关的周期性计数器,并根据所述周期性计数器的偏移情况在合适时间触发跳帧操作。
优选地,所述调度服务器模块与主分析模块之间以及主分析模块与辅助模块之间均采用了跨语言的Socket连接;
所述跨语言的Socket连接采用基于远端端口信息的Socket数据包复原模式;
所述Socket数据包复原模式中,采用不同用户的不同分析项的通道分离,并依靠远端端口信息与分析项信息的绑定实现Socket数据传输中对断包和粘包现象的对抗。
优选地,所述调度服务器模块通过命令行启动指令转发模块,并在命令行参数中附加用户名与指令字符串信息;
所述指令转发模块根据用户名得到所对应主分析模块窗口的名称,进而获取该窗口句柄;根据指令字符串信息得到该字符串对应的指令消息号,最终依据窗口句柄向对应窗口发送指令消息号,完成用户输入指令向主分析模块的转发。
优选地,所述系统,还包括:
辅助模块,用于主分析模块的跨语言扩展,实现跨语言的辅助分析项;所述辅助模块输入的分析原始帧为主分析模块发送的待分析帧,所述辅助模块输出的分析结果帧发送至主分析模块,并由主分析模块发送至调度服务器模块和进行数据库记录。
根据本发明的另一个方面,提供了一种基于B/S架构的实时视频分析方法,包括:
Web前端模块接收用户输入指令并将用户输入指令发送至调度服务器模块;
调度服务器模块根据用户输入指令启动主分析模块,并将用户输入指令发送至指令转发模块;
指令转发模块对调度服务器模块发送来的用户输入指令进行解析并转发至主分析模块;
主分析模块根据指令转发模块发送来的用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块;
调度服务器模块接收分析结果并暂存,等待Web前端模块提取该分析结果;
Web前端模块对分析结果进行提取并呈现。
优选地,所述主分析模块采用基于时间预估的动态循环睡眠时间与跳帧相结合的控制模式;所述控制模式依据系统时间产生与视频是否暂停无关的周期性计数器,并根据所述周期性计数器的偏移情况在合适时间触发跳帧操作。
优选地,所述调度服务器模块与主分析模块之间以及主分析模块与辅助模块之间均采用了跨语言的Socket连接;所述跨语言的Socket连接采用基于远端端口信息的Socket数据包复原模式;所述Socket数据包复原模式中,采用不同用户的不同分析项的通道分离,并依靠远端端口信息与分析项信息的绑定实现Socket数据传输中对断包和粘包现象的对抗。
优选地,当需要发送一条用户输入指令时,所述调度服务器模块通过命令行启动指令转发模块,并在命令行参数中附加用户名与指令字符串信息;
所述指令转发模块根据用户名得到所对应主分析模块窗口的名称,进而获取该窗口句柄;根据指令字符串信息得到该字符串对应的指令消息号,最终依据窗口句柄向对应窗口发送指令消息号,完成用户输入指令向主分析模块的转发。
优选地,所述方法,还包括:
利用辅助模块实现主分析模块的跨语言辅助分析;其中,辅助模块输入的分析原始帧为主分析模块发送的待分析帧,辅助模块输出的分析结果帧发送至主分析模块。
与现有技术相比,本发明具有如下有益效果:
1、本发明提供的基于B/S架构的实时视频分析系统及方法,可在高压力条件下仍保证视频播放进度不受影响,且在Socket通信过程无需添加过多额外数据,通信效率较高的同时,极大降低了Socket通信的错误率。
2、本发明提供的基于B/S架构的实时视频分析系统,具有较高的可扩展性,对于不同语言或不同功能的模块可在此基础上进行进一步扩展与融入。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1本发明一实施例提供的基于B/S架构的实时视频分析系统结构框图;
图2本发明一实施例中基于时间预估的动态循环睡眠时间与跳帧相结合的控制模式示意图;
图3本发明一实施例中基于远端端口信息的Socket数据包复原模式示意图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本发明实施例提供了一种基于B/S架构的实时视频分析系统。该系统包括:Web前端模块1、调度服务器模块2、指令转发模块3、主分析模块4、辅助模块5。其中,Web前端模块1负责接收用户输入指令、发送用户输入指令至调度服务器模块2、向调度服务器模块2提取分析结果与呈现分析结果;调度服务器模块2负责根据用户输入指令开启主分析模块、接收Web前端模块1所发来的指令并发送至指令转发模块3、接收分析结果并暂存、等待Web前端模块1将此结果取走;指令转发模块3负责对调度服务器2所转发的用户输入指令进行解析和转发至主分析模块4;主分析模块4进行主要分析,并把分析结果发送至调度服务器模块2;辅助模块5为主分析模块4的跨语言扩展,进行一些使用其他语言实现的辅助分析项。
本发明系统工作时,Web前端模块通过人机接口接收操作指令。用户登录后,当发送开启服务指令并被调度服务器模块接收时,相应用户的主分析模块进程被开启,且进程窗口名由用户名唯一对应生成。后续操作指令由指令转发模块根据窗口名发送至对应位置。运行辅助模块相关分析项时,由主分析模块对辅助模块进行开启并传递相关参数,随后建立Socket连接,进行原始数据和结果数据的通信传输。用户发送关闭服务指令时,指令转发模块发送指令关闭主分析模块。而辅助模块在检测到自身Socket连接被切断后自行关闭。
用户开启播放后,Web前端即开始播放视频,主分析模块端接收到播放指令后亦开始进行视频播放。此后二者独立播放不再进行任何关于进度对齐的通信。主分析模块使用基于时间预估的动态循环睡眠时间与跳帧相结合的控制策略(控制模式),设置并维护与是否暂停无关的周期性计数器,每个周期进行一次取帧操作,并时刻根据系统时间与视频信息记录当前播放进度与理想进度相比的偏移量。当偏移量大于一定程度后进行跳帧操作,直接跳入所计算得到的目标帧。
Socket传输使用基于远端端口信息的Socket数据包复原策略(Socket数据包复原模式)。远端端口号指发送端发送Socket数据包所使用的端口号码,在一个进行中的Socket连接中,该号码唯一且不变。在此方式中,仅对初始数据包添加包头和包尾。其中包头信息包含用户名、分析项等信息。发送过程中对不同用户的不同分析项进行通道独立。接收端检测到包头时,提取相关信息,读取远端端口号,并记录二者的对应关系。当接收到无包头包尾信息的纯数据段时,读取发送该数据段的远端端口号,根据已经记录的对应关系将该信息存入相应位置的二级缓存。当检测到包尾时,将存入对应二级缓存的全部数据拼合得到完整数据包。
在本发明实施例中:
Web前端模块负责接收用户输入与分析结果呈现;
调度服务器模块负责主分析模块的开启、控制指令的接收与转发、接收分析结果并暂存,等待Web前端模块将此结果取走;对于开机指令,web前端发送给调度服务器模块,调度服务器模块直接启动主分析模块;对于其他指令如一些开启/关闭某些分析项、关机等,是web前端发送给调度服务器模块,调度服务器模块发送给指令转发模块,指令转发模块发送给主分析模块。
指令转发模块负责对调度服务器所下达的指令进行解析和转发;
主分析模块进行主要分析,并把分析结果发送至调度服务器模块;
辅助模块为主分析模块的跨语言扩展,进行一些使用其他语言实现的辅助分析项,其分析原始帧为接收主分析模块所发送得到,分析结果帧发送给主分析模块。
数据库相关存储均在主分析模块完成。具体地,数据库相关存储以及数据库历史数据查询中与数据库的通信均在主分析模块完成;其中,该数据库存储可以使用MySQL,用于存储文本分析结果与图片分析结果的路径。
主分析模块中使用了基于时间预估的动态循环睡眠时间与跳帧相结合的控制策略。该策略依据系统时间产生与视频是否暂停无关的周期性计数器,并根据该计数器的偏移情况在合适时间触发跳帧操作。
调度服务器模块与主分析模块间、主分析模块与辅助模块间均使用了跨语言的Socket连接,且该连接使用了基于远端端口信息的Socket数据包复原策略。该策略中,使用了不同用户的不同分析项的通道分离,并依靠远端端口信息与分析项信息的绑定实现Socket数据传输中对断包和粘包现象的对抗。
在本发明实施例中,对实时视频的分析可以是任意内容的分析。
下面结合附图对本发明实施例所提供的技术方案进一步详细描述。
如图1所示,在本发明实施例所提供的系统中,Web前端模块以HTML+CSS+JavaScript编写,负责面向用户接收指令以及结果呈现;调度服务器模块以Nodejs编写,负责接收并处理Web前端模块所发来的指令、接收文件的上传、控制主分析模块的开启/关闭和分析结果的缓存等;指令转发模块以C++编写,主要负责转发调度服务器的指令至指定主分析程序;主分析模块基于本地人群密度、分组、关注度分析C++代码编写,添加了分离式窗口名称启动、指令的接收与响应、分析结果发送与数据库数据记录,以及人群计数辅助模块的启动控制及视频分析帧发送、计数结果的接收、转发与数据库数据记录等;人群计数辅助模块基于Pytorch人群计数代码编写,在原有分析功能的基础上添加了视频分析帧的跨语言接收、人群计数结果与热力图的生成与发送,启动关闭自我控制等。Web前端接收用户指令输入时,向调度服务器模块通过post方式发送相应指令。调度服务器收到启动指令时,直接通过命令行启动主分析模块,且通过命令行参数传递用户名信息;调度服务器收到其他指令时,启动指令转发模块,并将指令信息和用户名信息通过命令行启动参数进行传递。主分析模块启动时,依据启动参数设置自身窗口名称。指令转发模块依据窗口名称获取用户名所对应的主分析模块程序的句柄,并通过句柄将指令发送给该程序。当主分析模块接收到计数相关分析开启指令时,通过命令行开启人群计数辅助模块,并传递必要的参数,使得二者可以后续通信。分析过程中,主分析模块所产生的分析结果直接发送给调度服务器模块。调度服务器模块缓存所接收最新结果,在前端请求结果时对对应结果进行返回。人群计数辅助模块所产生的分析结果发送给主分析模块,此时若已开启数据记录,则主分析模块经过数据记录后发送给调度服务器模块;否则直接发送。前端发送用户退出指令或关闭相关功能指令时,指令经调度服务器模块和指令转发模块的转发,关闭主分析模块或关闭主分析模块中的某项功能。当用户退出时,调度服务器会清空为该用户所申请的所有缓存空间。当人数计数项被关闭或主分析模块整体被关闭时,主分析模块与人群计数辅助模块间的Socket连接断开,人群计数辅助模块在检测到连接断开时自我关闭。
如图2所示,是基于时间预估的动态循环睡眠时间与跳帧相结合的控制策略的一种实现。控制策略的核心思想是设置并维护程序的节奏性计数器。该计数器理想状况下每隔视频帧时间间隔的时间加一,且其节奏性不受视频播放暂停与否的影响。当该计数器的节奏偏离目标值达到一定阈值后(本系统中设置为视频FPS向下取整),计数器一次性添加该阈值的数值,并使视频跳过该阈值数值的帧数。正常播放时,通过调节每个循环的睡眠值维持循环取帧速度。暂停状态下,计数器不会停止计数而使得期望时间(expectTime)出现偏离,恢复播放后,也不会因错误累积当前时间(nowTime)与期望时间(expectTime)而出现异常跳帧。高负载状况下,取帧间隔过大出现紊乱,但每次偏离大于FPS*timeInterval(约为1秒)时都会得到纠正,从而维持正常的播放速度。
如图3所示,是基于远端端口信息的Socket数据包复原策略的一种实现。每个用户的每个通道的每种分析结果,均使用独立的Socket连接进行传输。且以大包传输,不做数据包的分割。数据包包头包含用户名分析类型等信息,此外添加固定长度固定字符的包尾“pictend”。在接收端为每个用户的每种分析类型设置独立的二级缓冲区,接收到数据包时,检索数据包中是否包含包头起始字段“jpgpict”与包尾固定字段“pictend”。若包含“jpgpict”字段,则以此字段位置为起始位置解析包头信息,获取用户名、分析类型、包头长度等信息,并将剩余包数据存入所对应的数据接收缓冲区。且此时将所解析包头信息与Socket远端端口号的对应关系进行存储。若包含“pictend”字段,则读取Socket远端端口号,依据已存储的远端端口号与分析内容的对应关系,将包内此字段位置前的内容存入对应的数据接收缓冲区。然后将该数据接收缓冲区中的所有内容使用Base64编码后存入对应的结果缓存区。最后将该数据接收缓冲区内容清空。若不包含二者其中任何字段,则读取Socket远端端口号,依据已存储的远端端口号与分析内容的对应关系,将包内所有内容存入对应的数据接收缓冲区。上述过程中无已存储对应关系且无包头时,该数据包被丢弃。Socket连接断开时,清除已存储的远端端口号与分析内容的对应关系。该通信方案核心思想为利用传输数据类型与Socket连接远端端口号的绑定关系,存储所接收数据的各项数据,从而摆脱包解析中对包头信息的依赖性。不着力于避免断包而是于断包后的恢复中,通过设置缓冲区与包尾标记,正确区分包与包,并将未到结尾的数据按顺序暂存,最终恢复整个包所携带数据。
基于本发明上述实施例所提供的基于B/S架构的实时视频分析系统,本发明实施例同时提供了一种基于B/S架构的实时视频分析方法,包括:Web前端模块1接收用户输入指令;调度服务器模块2根据用户输入指令启动主分析模块4,并将指令发送至指令转发模块3;指令转发模块3对调度服务器模块2发送的用户输入指令进行解析并转发至主分析模块4;主分析模块4根据用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块2;调度服务器模块2接收分析结果并暂存,等待Web前端模块将此结果取走;Web前端模块1对分析结果进行呈现。
本发明上述实施例所提供的基于B/S架构的实时视频分析系统及方法,Web前端模块负责接收用户输入与分析结果呈现;调度服务器模块负责主分析模块的开启、指令控制与关闭、接收分析结果并暂存,等待Web前端模块将此结果取走;指令转发模块负责对调度服务器所下达的指令进行解析和转发;主分析模块进行主要分析,并把分析结果发送至调度服务器模块;辅助模块为主分析模块的跨语言扩展,进行一些使用其他语言实现的辅助分析项,其分析原始帧为接收主分析模块所发送得到,分析结果帧发送给主分析模块。数据库相关存储均在主分析模块完成。主分析模块使用基于时间预估的动态循环睡眠时间与跳帧相结合的控制策略保证高压力下取帧速度不受影响,模块间的Socket通信使用基于远端端口信息的Socket数据包复原策略对抗数据包的断包与粘包现象。该系统模块间通信效率相比传统方式较高,通信错误率降低,且保证了高压力下服务器端播放进度依然与前端对齐。
需要说明的是,本发明提供的所述方法中的步骤,可以利用所述系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个模块、装置、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种基于B/S架构的实时视频分析系统,其特征在于,包括:Web前端模块(1)、调度服务器模块(2)、指令转发模块(3)以及主分析模块(4);其中:
所述Web前端模块(1),用于接收用户输入指令、发送用户输入指令至调度服务器模块(2)、向调度服务器模块(2)提取分析结果以及呈现分析结果;
所述调度服务器模块(2),用于根据用户输入指令启动主分析模块(4)、接收Web前端模块(1)发送来的用户输入指令并发送至指令转发模块(3)、接收主分析模块(4)所发送的分析结果并暂存以及等待Web前端模块(1)提取该分析结果;
所述指令转发模块(3),用于对调度服务器模块(2)发送来的用户输入指令进行解析并转发至主分析模块(4);
所述主分析模块(4),用于根据指令转发模块(3)发送来的用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块(2);所述主分析模块(4)还用于存储文本分析结果与图片分析结果的路径。
2.根据权利要求1所述的基于B/S架构的实时视频分析系统,其特征在于,所述主分析模块(4)中,采用基于时间预估的动态循环睡眠时间与跳帧相结合的控制模式;
所述控制模式依据系统时间产生与视频是否暂停无关的周期性计数器,并根据所述周期性计数器的偏移情况在合适时间触发跳帧操作。
3.根据权利要求1所述的基于B/S架构的实时视频分析系统,其特征在于,所述调度服务器模块(2)与主分析模块(4)之间以及主分析模块(4)与辅助模块(5)之间均采用了跨语言的Socket连接;
所述跨语言的Socket连接采用基于远端端口信息的Socket数据包复原模式;
所述Socket数据包复原模式中,采用不同用户的不同分析项的通道分离,并依靠远端端口信息与分析项信息的绑定实现Socket数据传输中对断包和粘包现象的对抗。
4.根据权利要求1所述的基于B/S架构的实时视频分析系统,其特征在于,所述调度服务器模块(2)通过命令行启动指令转发模块(3),并在命令行参数中附加用户名与指令字符串信息;
所述指令转发模块(3)根据用户名得到所对应主分析模块(4)窗口的名称,进而获取该窗口句柄;根据指令字符串信息得到该字符串对应的指令消息号,最终依据窗口句柄向对应窗口发送指令消息号,完成用户输入指令向主分析模块(4)的转发。
5.根据权利要求1至4中任一项所述的基于B/S架构的实时视频分析系统,其特征在于,还包括:
辅助模块(5),用于主分析模块(4)的跨语言扩展,实现跨语言的辅助分析项;所述辅助模块(5)输入的分析原始帧为主分析模块发送的待分析帧,所述辅助模块(5)输出的分析结果帧发送至主分析模块,并由主分析模块发送至调度服务器模块和进行数据库记录。
6.一种基于B/S架构的实时视频分析方法,其特征在于,包括:
Web前端模块(1)接收用户输入指令并将用户输入指令发送至调度服务器模块(2);
调度服务器模块(2)根据用户输入指令启动主分析模块(4),并将用户输入指令发送至指令转发模块(3);
指令转发模块(3)对调度服务器模块(2)发送来的用户输入指令进行解析并转发至主分析模块(4);
主分析模块(4)根据指令转发模块(3)发送来的用户输入指令对实时视频进行分析,并将分析结果发送至调度服务器模块(2);
调度服务器模块(2)接收分析结果并暂存,等待Web前端模块(1)提取该分析结果;
Web前端模块(1)对分析结果进行提取并呈现。
7.根据权利要求6所述的基于B/S架构的实时视频分析方法,其特征在于,所述主分析模块(4)采用基于时间预估的动态循环睡眠时间与跳帧相结合的控制模式;所述控制模式依据系统时间产生与视频是否暂停无关的周期性计数器,并根据所述周期性计数器的偏移情况在合适时间触发跳帧操作。
8.根据权利要求6所述的基于B/S架构的实时视频分析方法,其特征在于,所述调度服务器模块(2)与主分析模块(4)之间以及主分析模块(4)与辅助模块(5)之间均采用了跨语言的Socket连接;所述跨语言的Socket连接采用基于远端端口信息的Socket数据包复原模式;所述Socket数据包复原模式中,采用不同用户的不同分析项的通道分离,并依靠远端端口信息与分析项信息的绑定实现Socket数据传输中对断包和粘包现象的对抗。
9.根据权利要求6所述的基于B/S架构的实时视频分析系统,其特征在于,当需要发送一条用户输入指令时,所述调度服务器模块(2)通过命令行启动指令转发模块(3),并在命令行参数中附加用户名与指令字符串信息;
所述指令转发模块(3)根据用户名得到所对应主分析模块(4)窗口的名称,进而获取该窗口句柄;根据指令字符串信息得到该字符串对应的指令消息号,最终依据窗口句柄向对应窗口发送指令消息号,完成用户输入指令向主分析模块的转发。
10.根据权利要求6至9中任一项所述的基于B/S架构的实时视频分析方法,其特征在于,还包括:
利用辅助模块(5)实现主分析模块(4)的跨语言辅助分析;其中,辅助模块(5)输入的分析原始帧为主分析模块发送的待分析帧,辅助模块(5)输出的分析结果帧发送至主分析模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903023.6A CN110765879B (zh) | 2019-09-24 | 2019-09-24 | 基于b/s架构的实时视频分析系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910903023.6A CN110765879B (zh) | 2019-09-24 | 2019-09-24 | 基于b/s架构的实时视频分析系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765879A true CN110765879A (zh) | 2020-02-07 |
CN110765879B CN110765879B (zh) | 2022-05-27 |
Family
ID=69330190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910903023.6A Active CN110765879B (zh) | 2019-09-24 | 2019-09-24 | 基于b/s架构的实时视频分析系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765879B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506769A (zh) * | 2020-04-21 | 2020-08-07 | 浙江大华技术股份有限公司 | 视频文件的处理方法、装置、存储介质及电子装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505414A (zh) * | 2009-02-23 | 2009-08-12 | 北京佳讯飞鸿电气股份有限公司 | 视频监控系统接入不同网络方式前端设备的实现方法 |
CN101615270A (zh) * | 2009-04-15 | 2009-12-30 | 北京协成致远网络科技有限公司 | 一种基于b/s模式的工作流分析和呈现的系统及方法 |
CN102291580A (zh) * | 2011-07-28 | 2011-12-21 | 南京联慧通信技术有限公司 | 基于Android系统的视频传输方法 |
KR20130122262A (ko) * | 2012-04-30 | 2013-11-07 | 전자부품연구원 | 영상 검색 시스템 및 영상 분석 서버 |
CN104135491A (zh) * | 2014-08-15 | 2014-11-05 | 北京国信灵通网络科技有限公司 | 用于指令消息分发的方法、终端、服务器及系统 |
CN104881960A (zh) * | 2015-05-05 | 2015-09-02 | 北京国信华源科技有限公司 | 一种多要素监测一体化预警系统及方法 |
CN107979568A (zh) * | 2016-10-24 | 2018-05-01 | 南京理工大学 | 一种视频监控应用系统 |
CN109344322A (zh) * | 2018-08-16 | 2019-02-15 | 中国电子科技集团公司电子科学研究院 | 复杂网络的关系图谱挖掘分析平台、方法及存储介质 |
US20190188042A1 (en) * | 2017-12-18 | 2019-06-20 | Gorilla Technology Inc. | System and Method of Image Analyses |
-
2019
- 2019-09-24 CN CN201910903023.6A patent/CN110765879B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505414A (zh) * | 2009-02-23 | 2009-08-12 | 北京佳讯飞鸿电气股份有限公司 | 视频监控系统接入不同网络方式前端设备的实现方法 |
CN101615270A (zh) * | 2009-04-15 | 2009-12-30 | 北京协成致远网络科技有限公司 | 一种基于b/s模式的工作流分析和呈现的系统及方法 |
CN102291580A (zh) * | 2011-07-28 | 2011-12-21 | 南京联慧通信技术有限公司 | 基于Android系统的视频传输方法 |
KR20130122262A (ko) * | 2012-04-30 | 2013-11-07 | 전자부품연구원 | 영상 검색 시스템 및 영상 분석 서버 |
CN104135491A (zh) * | 2014-08-15 | 2014-11-05 | 北京国信灵通网络科技有限公司 | 用于指令消息分发的方法、终端、服务器及系统 |
CN104881960A (zh) * | 2015-05-05 | 2015-09-02 | 北京国信华源科技有限公司 | 一种多要素监测一体化预警系统及方法 |
CN107979568A (zh) * | 2016-10-24 | 2018-05-01 | 南京理工大学 | 一种视频监控应用系统 |
US20190188042A1 (en) * | 2017-12-18 | 2019-06-20 | Gorilla Technology Inc. | System and Method of Image Analyses |
CN109344322A (zh) * | 2018-08-16 | 2019-02-15 | 中国电子科技集团公司电子科学研究院 | 复杂网络的关系图谱挖掘分析平台、方法及存储介质 |
Non-Patent Citations (2)
Title |
---|
潘钺等: "面向智能相机的远程异步图像数据处理服务", 《通讯世界》 * |
谢小军等: "基于B/S模式的网络通信会议视频质量智能评估方法研究", 《自动化与仪器仪表》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506769A (zh) * | 2020-04-21 | 2020-08-07 | 浙江大华技术股份有限公司 | 视频文件的处理方法、装置、存储介质及电子装置 |
CN111506769B (zh) * | 2020-04-21 | 2023-08-29 | 浙江大华技术股份有限公司 | 视频文件的处理方法、装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110765879B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227930B (zh) | 一种视频监控系统中视频查看方法及装置 | |
CN110213598A (zh) | 一种视频转码系统、方法及相关产品 | |
CN106709043A (zh) | 一种基于数据库日志的数据同步加载方法 | |
CN109388556B (zh) | 一种测试过程的分析方法及装置 | |
CN104837031B (zh) | 一种高速自适应提取视频关键帧的方法 | |
WO2020001315A1 (zh) | 一种视频播放质量检测方法和装置 | |
CN112965804A (zh) | 一种处理信息的方法、装置、终端、系统以及存储介质 | |
CN107743228A (zh) | 视频质量检测方法、监测设备及存储介质 | |
CN106921665A (zh) | 一种报文处理方法及网络设备 | |
CN110765879B (zh) | 基于b/s架构的实时视频分析系统及方法 | |
US8799546B2 (en) | Method and apparatus for monitoring single board running state | |
CN113515998A (zh) | 一种视频数据处理方法、设备以及可读存储介质 | |
CN108040041B (zh) | 一种基于业务驱动的图像差异传输协议设计系统及方法 | |
CN110417892B (zh) | 基于报文解析的数据复制链路优化方法及装置 | |
CN103873804A (zh) | 用于嵌入式nvr的录像回放时间轴与内容同步控制方法 | |
CN104978352B (zh) | 信息处理的方法及客户端 | |
CN114979580A (zh) | 一种用于机房监控的图像识别装置及方法 | |
CN105897929B (zh) | 一种视频监控数据备份的方法及装置 | |
WO2012109915A1 (zh) | 一种保存话务数据的方法及系统 | |
US10733167B2 (en) | System and method for capturing data to provide to a data analyser | |
CN106411563A (zh) | 日志记录方法、装置和路由器 | |
CN102325171B (zh) | 一种监控系统中数据的存储方法及其系统 | |
WO2020227994A1 (zh) | 视频解码方法、视频解码装置、存储介质与电子设备 | |
CN105187688A (zh) | 一种对手机采集的实时视频和音频进行同步的方法及系统 | |
CN106844172A (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 |