CN111757115A - 一种视频流处理方法及装置 - Google Patents

一种视频流处理方法及装置 Download PDF

Info

Publication number
CN111757115A
CN111757115A CN202010751523.5A CN202010751523A CN111757115A CN 111757115 A CN111757115 A CN 111757115A CN 202010751523 A CN202010751523 A CN 202010751523A CN 111757115 A CN111757115 A CN 111757115A
Authority
CN
China
Prior art keywords
video
video frame
processing
character string
target
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
Application number
CN202010751523.5A
Other languages
English (en)
Inventor
徐祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Chengying Data Technology Co ltd
Original Assignee
Hangzhou Chengying Data Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Chengying Data Technology Co ltd filed Critical Hangzhou Chengying Data Technology Co ltd
Priority to CN202010751523.5A priority Critical patent/CN111757115A/zh
Publication of CN111757115A publication Critical patent/CN111757115A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/64307ATM

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请提供一种视频流处理方法及装置,其中所述视频流处理方法包括:获取视频流,并截取所述视频流中的视频帧;对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;将所述目标视频帧结果写入至所述订阅消息集群。通过对视频采用流式处理,通过异步处理的方式对视频帧进行处理,降低视频处理的延迟,减少处理卡顿,提高视频流处理效率。

Description

一种视频流处理方法及装置
技术领域
本申请涉视频图像处理领域,特别涉及一种视频流处理方法、装置、计算设备及存储介质。
背景技术
当前摄像监控发展迅速,人们通过监控摄像头在很多场景下进行监控,如车流量监控、车辆违章监控、人脸识别等等,摄像监控每天都产生大量的视频流,通过对视频流的处理,实现监控目的。
现有的视频流处理中,通常采用微批处理机制,即将视频流分为多个批次,按照批次进行处理,当前批次的视频流没有处理完成时是不会处理下一批数据的,如果视频流中某一视频帧的处理时间较长,会导致无法进行下一批次的视频流处理,导致视频流批次之间延迟较高,极大的拖慢了视频流处理效率。
如何解决上述问题,就成为目前亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种视频流处理方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种视频流处理方法,包括:
获取视频流,并截取所述视频流中的视频帧;
对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;
获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;
将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;
将所述目标视频帧结果写入至所述订阅消息集群。
可选的,将所述视频帧字符串写入至订阅消息集群,包括:将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
可选的,获取视频处理任务,包括:
获取至少一个视频处理任务需求;
根据所述视频处理任务需求生成对应的视频处理任务。
可选的,在所述视频处理任务为多个的情况下;
从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串,包括:
从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
可选的,将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果,包括:
将所述至少一个目标视频帧字符串发送至算法平台;
所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果;
获取所述算法平台处理得到的目标视频帧结果。
可选的,将所述目标视频帧结果写入至所述订阅消息集群,包括:
将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
根据本申请实施例的第二方面,提供了一种视频流处理装置,包括:
获取截帧模块,被配置为获取视频流,并截取所述视频流中的视频帧;
编码模块,被配置为对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;
读取模块,被配置为获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;
处理模块,被配置为将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;
写入模块,被配置为将所述目标视频帧结果写入至所述订阅消息集群。
可选的,所述编码模块,进一步被配置为将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
可选的,所述读取模块,进一步被配置为获取至少一个视频处理任务需求;根据所述视频处理任务需求生成对应的视频处理任务。
可选的,在所述视频处理任务为多个的情况下,所述读取模块,进一步被配置为从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
可选的,所述处理模块,包括:
发送子单元,被配置为将所述至少一个目标视频帧字符串发送至算法平台;
处理子单元,被配置为所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果;
获取子单元,被配置为获取所述算法平台处理得到的目标视频帧结果。
可选的,所述写入模块,进一步被配置为将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述视频流处理方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述视频流处理方法的步骤。
本申请提供的视频流处理方法,获取视频流,并截取所述视频流中的视频帧;对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;将所述目标视频帧结果写入至所述订阅消息集群,通过对视频采用流式处理,通过异步处理的方式对视频帧进行处理,降低视频处理的延迟,减少处理卡顿,提高视频流处理效率。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的视频流处理方法的流程图;
图3是本申请实施例提供的目标视频帧字符串通过异步处理方法的流程图;
图4是本申请实施例提供的视频流处理方法的结构示意图;
图5是本申请实施例提供的视频流处理装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Kafka:一种高吞吐量分布式消息中间件,Kafka的目的是通过并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
Flink框架:开源流处理框架,Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。
算法平台:集合众多算法的平台,平台中的算法可以是开发人员编写的,也可以是调用第三方提供的算法服务。
在本申请中,提供了一种视频流处理方法、装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示视频流处理方法中的步骤。图2示出了根据本申请一实施例的视频流处理方法的流程图,包括步骤202至步骤210。
步骤202:获取视频流,并截取所述视频流中的视频帧。
在现实生活中,存在着大量的摄像头用于实时监控,例如用于识别马路上行驶车辆车牌号码的监控摄像头,公司用于员工上下班打卡的人脸识别摄像头,商场中用于监控商场人流量的监控摄像头等,这些摄像头每天都会产生大量的视频流。
本申请中提到的视频流,可以是从摄像头中实时获取的实况视频流,也可以是通过摄像头录制并存储于存储设备中的视频影像,获取这些需要被处理的视频流。
在获取到需要被处理的视频流后,通过截帧的程序,截取所述视频流中的视频帧。截帧的程序有很多,如视频剪辑设计软件,视频播放软件等,在本申请中不对截帧的程序做限定。
在本申请提供的一实施例中,以用于识别马路上行驶车辆车牌号码的监控摄像头为例,实时获取该监控摄像头拍摄的车流量视频流,并通过视频剪辑设计软件将所述车流量视频流剪辑成若干个视频帧。
步骤204:对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群。
对所述视频帧进行编码获得对应的视频帧字符串,每一个视频帧经过编码后得到一个对应的视频帧字符串,对所述视频帧进行编码的方式有很多,如Base64编码、Base62编码等,在本申请中,对编码方式不做限定。
将编码得到的视频帧字符串存入订阅消息集群中,如Kafka集群,Kafka集群是一种高吞吐量的分布式发布订阅消息集群,可以处理消费者规模的动作流数据,通过并行加载机制统一消息处理,并通过集群提供实时消息。
在本申请提供的一实施例中,以用于识别马路上行驶车辆车牌号码的监控摄像头为例,通过Base64编码方式将获取到的每个视频帧编码生成对应的视频帧字符串,并将编码生成的视频帧字符串存入Kafka集群中。
可选的,将所述视频帧字符串写入至订阅消息集群,包括:将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
将编码生成的视频帧字符串存入Kafka集群中的第一主题集合。在订阅消息集群中,有若干个主题集合,每个视频流对应一个第一主题集合,所述第一主题集合用于存储经过编码生成的视频帧字符串。
在本申请提供的一实施例中,以用于识别马路上行驶车辆车牌号码的监控摄像头为例,摄像头编号为A,通过Base64编码方式将获取到的每个视频帧编码生成对应的视频帧字符串,并将编码生成的视频帧字符串存入Kafka集群中的“A-监控字符串”主题集合中,其中“A-监控字符串”主题集合用于存储编号为A的摄像头拍摄的视频流经过编码后得到的视频帧字符串。依次类推,当摄像头的编号为B时,将B摄像头拍摄的视频流经过编码生成的视频帧字符串存入Kafka集群中的“B-监控字符串”主题集合中。
步骤206:获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串。
在不同的应用场景下会有不同的视频处理任务,例如识别马路上行驶车辆车牌号码,员工上下班时进行人脸识别打卡,监控统计商场人流量信息等。
搭建流处理框架,所述流处理框架应当支持运行流处理程序,如Flink框架。在流处理框架中获取视频处理任务。
可选的,获取视频处理任务可以通过下述步骤S2061至步骤S2062实现。
S2061、获取至少一个视频处理任务需求。
在流处理框架中,获取至少一个视频处理任务需求,所述视频处理任务需求即需要对视频流进行处理的目的,如识别车辆车牌号码的需求,对员工进行人脸识别打卡的需求,监控统计商场人流量信息的需求等。
S2062、根据所述视频处理任务需求生成对应的视频处理任务。
在流处理框架中,根据获取的视频处理任务需求生成对应的视频处理任务。例如根据识别车辆车牌号码的需求,生成对应的对视频流处理提取车辆车牌号码的视频处理任务;根据对员工进行人脸识别打卡的需求,生成对应的对视频流处理提供人脸信息并记录时间打卡的视频处理任务;根据监控统计商场人流量信息的需求,生成对应的对视频流处理统计商场人流量信息的视频处理任务。
在获取视频处理任务后,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串。
可选的,在所述视频处理任务为多个的情况下,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串,包括:从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
在视频处理任务为一个的情况下,根据视频处理任务从订阅消息集群中读取与该视频处理任务对应的至少一个目标视频帧字符串,即从所述订阅消息集群中的第一主题集合中读取与该视频处理任务对应的至少一个目标帧字符串。
在视频处理任务为多个的情况下,从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串,多个视频处理任务之间互不干扰,并行读取各自目标视频帧字符串。
在本申请提供的实施例中,视频处理任务为3个,分别为任务1-“提取车辆车牌号码”,任务2-“人脸识别打卡”,任务3-“统计商场人流量信息”,其中任务1对应的摄像头为A,摄像头A对应的第一主题集合为“A-监控字符串集合”;任务2对应的摄像头为B,摄像头B对应的第一主题集合为“B-监控字符串集合”;任务3对应的摄像头为C,摄像头C对应的第一主题集合为“C-监控字符串集合”,其中“A-监控字符串集合”、“B-监控字符串集合”、“C-监控字符串集合”均存于订阅消息集群Kafka中。在订阅消息集群Kafka中,任务1读取“A-监控字符串集合”中的视频帧字符串、任务2读取“B-监控字符串集合”中的视频帧字符串、任务3读取“C-监控字符串集合”中的视频帧字符串,三个视频处理任务之间并行读取,互不干扰。
步骤208:将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果。
对于每一个视频处理任务,将读取到的目标视频帧字符串通过异步处理,即并行处理的方式进行处理,分别获得每个目标视频帧字符串对应的目标视频帧结果。
可选的,参见图3,步骤208可以通过下述步骤302至步骤306实现。
步骤302:将所述至少一个目标视频帧字符串发送至算法平台。
对于每一个视频处理任务,获取若干个目标视频帧字符串,将每个目标视频帧字符串通过异步http请求的方式发送至算法平台,所述算法平台中有若干视频处理算法服务,算法平台中算法服务可以是根据实际任务制作的,也可以市面上现有的成熟算法服务等。在本申请中不对算法平台做限制。
步骤304:所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果。
所述算法平台接收目标视频帧字符串,并对接收的每个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果,对每个目标视频帧字符串进行并行处理即在对每个目标视频帧字符串进行处理时,目标视频帧字符串相互之间互不影响。
步骤306:获取所述算法平台处理得到的目标视频帧结果。
将算法平台处理获得目标视频帧结果返回流处理框架,流处理框架获取到算法平台返回的目标视频帧结果。
在本申请提供的实施例中,以提取车辆车牌号码的视频处理任务为例,将从“A-监控字符串集合”中读取的视频帧字符串通过异步http请求的方式发送至算法平台,通过算法平台中的视频处理算法服务,对每个视频帧字符串分别进行处理,获得每个视频帧字符串对应的视频帧结果,并将获得的视频帧结果返回至流处理框架。
步骤210:将所述目标视频帧结果写入至所述订阅消息集群。
流处理框架将接收到的目标视频帧结果写入至所述订阅消息集群中。目标视频帧结果可以是json格式,也可以是xml格式,在本申请中,对目标视频帧结果的格式不做具体限制。
可选的,将所述目标视频帧结果写入至所述订阅消息集群,包括:将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
将算法平台处理返回的目标视频结果存入Kafka集群中的第二主题集合中,在订阅消息集群中,每个视频流对应一个第二主题集合,所述第二主题集合用于存储经过算法平台处理过的视频帧结果。
在本申请提供的实施例中,以提取车辆车牌号码的视频处理任务为例,提取车辆车牌号码的视频处理任务对应的摄像头编号为A,所述流处理框架接收到算法平台发送的视频帧结果后,将接收到的视频帧结果写入至Kafka集群中与A摄像头对应的第二主题集合“A-视频帧结果集合”中。其中,第二主题集合“A-视频帧结果集合”用于存储A摄像头中的视频流经过处理后得到的视频帧结果。
本申请提供的视频流处理方法,通过获取视频流,并截取所述视频流中的视频帧;对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;将所述目标视频帧结果写入至所述订阅消息集群。通过对视频采用流式处理,通过异步处理的方式对视频帧进行处理,降低视频处理的延迟,减少处理卡顿,提高视频流处理效率。
为了便于理解,图4示出了视频流处理方法的结构示意图,对本申请的视频流处理方法做出解释说明。
本申请提供的实施例,以处理某公司的考勤摄像头中的视频流为例进行解释说明,本实施例的视频处理任务需求为:识别视频中出现的人脸信息,并获取人脸信息的姓名。考勤摄像头的编号为001,实时获取001号摄像头中的视频流,通过某视频剪辑设计软件对视频流进行截帧操作,获得若干个视频帧,将每个视频帧通过Base64编码方式进行编码,获得若干个视频帧字符串。
将视频帧字符串写入Kafka集群中与001号摄像头对应的“001号-监控字符串集合”中。
Flink集群为本实施例使用的流处理框架,根据本实施例的视频处理任务需求“识别视频中出现的人脸信息,并获取人脸信息的姓名”,创建Flink任务,所述Flink任务在Flink集群中运行。
根据Flink集群中运行的Flink任务,从Kafka集群中的“001号-监控字符串集合”中读取所述集合中的视频帧字符串。基于Flink集群中的异步处理API接口,采用异步Http请求的方法,将读取到的视频帧字符串发送至算法平台。
算法平台接收到Flink集群中通过异步Http请求发送的视频帧字符串,调用算法平台中的视频帧处理模块对视频帧字符串进行并行处理,识别视频帧中出现的人脸信息,获取人脸信息所属人的姓名。并将姓名以json格式返回给Flink集群。
Flink集群接收算法平台返回的视频帧处理结果,即视频帧中出现的人脸信息所属人的姓名,并将视频帧处理结果以json格式写入Kafka集群中与001号摄像头对应的“001号-视频帧结果集合”中。
本申请提供的实施例,采用异步Http请求调用算法平台的视频帧处理模块,能多线程的处理视频帧字符串,降低视频处理延迟,减少视频处理卡顿,提高视频处理效率,在基于Flink集群中异步处理API接口时可以保证任务在并发处理的情况下,保证输入记录有序,确保视频帧的顺序正确。
与上述方法实施例相对应,本申请还提供了视频流处理装置实施例,图5示出了本申请一个实施例的视频流处理装置的结构示意图。如图5所示,该装置包括:
获取截帧模块502,被配置为获取视频流,并截取所述视频流中的视频帧;
编码模块504,被配置为对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;
读取模块506,被配置为获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;
处理模块508,被配置为将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;
写入模块510,被配置为将所述目标视频帧结果写入至所述订阅消息集群。
可选的,所述编码模块504,进一步被配置为将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
可选的,所述读取模块506,进一步被配置为获取至少一个视频处理任务需求;根据所述视频处理任务需求生成对应的视频处理任务。
可选的,在所述视频处理任务为多个的情况下,所述读取模块506,进一步被配置为从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
可选的,所述处理模块508,包括:
发送子单元,被配置为将所述至少一个目标视频帧字符串发送至算法平台;
处理子单元,被配置为所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果;
获取子单元,被配置为获取所述算法平台处理得到的目标视频帧结果。
可选的,所述写入模块510,进一步被配置为将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
本申请提供的视频流处理装置,通过获取视频流,并截取所述视频流中的视频帧;对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;将所述目标视频帧结果写入至所述订阅消息集群。通过对视频采用流式处理,通过异步处理的方式对视频帧进行处理,降低视频处理的延迟,减少处理卡顿,提高视频流处理效率。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的视频流处理方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述视频流处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的视频流处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述视频流处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种视频流处理方法,其特征在于,包括:
获取视频流,并截取所述视频流中的视频帧;
对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;
获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;
将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;
将所述目标视频帧结果写入至所述订阅消息集群。
2.如权利要求1所述的视频流处理方法,其特征在于,将所述视频帧字符串写入至订阅消息集群,包括:
将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
3.如权利要求1所述的视频流处理方法,其特征在于,获取视频处理任务,包括:
获取至少一个视频处理任务需求;
根据所述视频处理任务需求生成对应的视频处理任务。
4.如权利要求2所述的视频流处理方法,其特征在于,在所述视频处理任务为多个的情况下;
从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串,包括:
从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
5.如权利要求1所述的视频流处理方法,其特征在于,将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果,包括:
将所述至少一个目标视频帧字符串发送至算法平台;
所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果;
获取所述算法平台处理得到的目标视频帧结果。
6.如权利要求1所述的视频流处理方法,其特征在于,将所述目标视频帧结果写入至所述订阅消息集群,包括:
将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
7.一种视频流处理装置,其特征在于,包括:
获取截帧模块,被配置为获取视频流,并截取所述视频流中的视频帧;
编码模块,被配置为对所述视频帧进行编码获得对应的视频帧字符串,并将所述视频帧字符串写入至订阅消息集群;
读取模块,被配置为获取视频处理任务,从所述订阅消息集群中读取与所述视频处理任务对应的至少一个目标视频帧字符串;
处理模块,被配置为将所述至少一个目标视频帧字符串通过异步处理方法进行处理,获得对应的目标视频帧结果;
写入模块,被配置为将所述目标视频帧结果写入至所述订阅消息集群。
8.如权利要求7所述的视频流处理装置,其特征在于,
所述编码模块,进一步被配置为将所述视频帧字符串写入至订阅消息集群中的第一主题集合,其中,所述第一主题集合与所述视频流一一对应。
9.如权利要求7所述的视频流处理装置,其特征在于,
所述读取模块,进一步被配置为获取至少一个视频处理任务需求;根据所述视频处理任务需求生成对应的视频处理任务。
10.如权利要求8所述的视频流处理装置,其特征在于,在所述视频处理任务为多个的情况下;
所述读取模块,进一步被配置为从所述订阅消息集群中的第一主题集合中并行读取与每个视频处理任务对应的至少一个目标视频帧字符串。
11.如权利要求7所述的视频流处理装置,其特征在于,
所述处理模块,包括:
发送子单元,被配置为将所述至少一个目标视频帧字符串发送至算法平台;
处理子单元,被配置为所述算法平台对所述至少一个目标视频帧字符串进行并行处理,获得每个目标视频帧字符串对应的目标视频帧结果;
获取子单元,被配置为获取所述算法平台处理得到的目标视频帧结果。
12.如权利要求7所述的视频流处理装置,其特征在于,
所述写入模块,进一步被配置为将所述视频目标帧结果写入至所述订阅消息集群中的第二主题集合,其中,所述第二主题集合与所述视频流一一对应。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
CN202010751523.5A 2020-07-30 2020-07-30 一种视频流处理方法及装置 Pending CN111757115A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010751523.5A CN111757115A (zh) 2020-07-30 2020-07-30 一种视频流处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010751523.5A CN111757115A (zh) 2020-07-30 2020-07-30 一种视频流处理方法及装置

Publications (1)

Publication Number Publication Date
CN111757115A true CN111757115A (zh) 2020-10-09

Family

ID=72712325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010751523.5A Pending CN111757115A (zh) 2020-07-30 2020-07-30 一种视频流处理方法及装置

Country Status (1)

Country Link
CN (1) CN111757115A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995532A (zh) * 2021-02-03 2021-06-18 上海哔哩哔哩科技有限公司 视频处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110418112A (zh) * 2019-08-09 2019-11-05 上海商汤智能科技有限公司 一种视频处理方法及装置、电子设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110418112A (zh) * 2019-08-09 2019-11-05 上海商汤智能科技有限公司 一种视频处理方法及装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑健等: "基于Spark的实时视频分析系统", 《计算机系统应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995532A (zh) * 2021-02-03 2021-06-18 上海哔哩哔哩科技有限公司 视频处理方法及装置
CN112995532B (zh) * 2021-02-03 2023-06-13 上海哔哩哔哩科技有限公司 视频处理方法及装置

Similar Documents

Publication Publication Date Title
CN107315810B (zh) 一种物联网设备行为画像方法
US11244232B2 (en) Feature relationship recommendation method, apparatus, computing device, and storage medium
CN109961032B (zh) 用于生成分类模型的方法和装置
CN111935140B (zh) 异常报文识别方法及装置
CN107392781B (zh) 用户关系的识别方法、对象关系的识别方法及装置
KR102612528B1 (ko) 인터럽트 가능한 비디오 트랜스코딩
CN113242451A (zh) 视频生成方法及装置
CN114416485A (zh) 数据处理方法及装置
CN111757115A (zh) 一种视频流处理方法及装置
CN115729683A (zh) 任务处理方法、装置、系统、计算机设备和存储介质
CN110008318A (zh) 问题派发方法及装置
CN111783415B (zh) 模板配置方法以及装置
CN116382916A (zh) 用于云电脑算力集群的资源调度方法、系统及电子设备
CN114173154B (zh) 视频处理方法及系统
CN115510012A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN115964392A (zh) 基于flink的实时监控方法、装置、设备及可读存储介质
CN113407491A (zh) 数据处理方法及装置
CN113672488A (zh) 日志文本处理方法及装置
CN112989078A (zh) 数据处理方法、装置、计算机设备及存储介质
CN112463864A (zh) 数据处理方法及装置、数据处理系统
EP3683733A1 (en) A method, an apparatus and a computer program product for neural networks
CN111625341A (zh) 一种任务调度管理方法以及装置
CN116108492B (zh) 可横向扩展的数据防泄漏系统
CN114816845B (zh) 一种基于MongoDB的快速数据回滚方法及装置
CN110705995B (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201009