CN116389820A - 一种视频处理方法、视频处理设备、电子设备及存储介质 - Google Patents

一种视频处理方法、视频处理设备、电子设备及存储介质 Download PDF

Info

Publication number
CN116389820A
CN116389820A CN202310316117.XA CN202310316117A CN116389820A CN 116389820 A CN116389820 A CN 116389820A CN 202310316117 A CN202310316117 A CN 202310316117A CN 116389820 A CN116389820 A CN 116389820A
Authority
CN
China
Prior art keywords
video
video processing
processed
task
equipment
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
CN202310316117.XA
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.)
Beijing Ruixin Flux Technology Development Co ltd
Original Assignee
Beijing Ruixin Flux Technology Development 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 Beijing Ruixin Flux Technology Development Co ltd filed Critical Beijing Ruixin Flux Technology Development Co ltd
Priority to CN202310316117.XA priority Critical patent/CN116389820A/zh
Publication of CN116389820A publication Critical patent/CN116389820A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • 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
    • H04N21/44008Processing 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 involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • H04N21/4402Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种视频处理方法、视频处理设备、电子设备及存储介质,视频处理方法应用于视频处理设备,方法包括:获取视频任务分发器发送的至少一个第一待处理视频任务;创建至少一个视频处理进程;其中,每个视频处理进程对应一个第一待处理视频任务;将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。通过每个视频处理进程只处理一个待处理视频任务,且每个视频处理设备可以并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。

Description

一种视频处理方法、视频处理设备、电子设备及存储介质
技术领域
本申请涉及视频处理技术领域,尤其是涉及一种视频处理方法、视频处理设备、电子设备及存储介质。
背景技术
网络视频在急剧增长,由于视频处理计算密度较高,传统的以通用cpu来实现对视频处理的方式越来越不适合,而各种视频处理加速设备越来越多,如何使用好各种视频加速设备,实现对各种不同场景下的视频的处理成为近年来的热点问题。尤其在最近几年,各种视频加速设备算力越来越强,多个视频在同一设备上处理的情况越来越多。
现阶段,一个或多个视频加速设备控制多个需要处理的不同视频,控制逻辑较为复杂,而且一旦某个视频因为网络延迟、丢包等问题导致视频数据有错误,很有可能导致视频解码出错,进而影响该设备上的其他视频的正常处理,否则需要加各种异常处理逻辑,实现较为复杂。所以,如何提高视频处理的效率成为了不容小觑的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种视频处理方法、视频处理设备、电子设备及存储介质,通过每个视频处理进程只处理一个待处理视频任务,且每个视频处理设备可以并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。
本申请实施例提供了视频处理方法,所述视频处理方法应用于视频处理设备,所述多个视频处理方法包括:
获取视频任务分发器发送的至少一个第一待处理视频任务;
创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;
将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
在一种可能的实施方式中,通过以下步骤对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理:
获取所述第一待处理视频任务相对应的预设处理任务信息;
所述视频处理进程基于所述预设处理任务信息对所述第一待处理视频进行解码处理,生成解码后的图像数据;
对所述解码后的图像数据进行数据解析,以完成对所述第一待处理视频任务的视频处理。
在一种可能的实施方式中,在所述将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理之后,所述视频处理方法还包括:
检测是否完成相对应的多个所述第一待处理视频任务;
若否,则继续接收相对应的多个所述第一待处理视频任务中下一个待处理视频任务,对所述下一个待处理视频任务进行视频处理;
若是,则停止进行视频处理。
本申请实施例还提供了一种视频处理方法,所述多视频处理方法应用于视频任务分发器,所述视频处理方法包括:
获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息;
根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中,以便每个所述视频处理设备在接收到相对应的至少一个所述第一待处理视频任务之后,并行对至少一个视频处理进程之中的所述第一待处理视频任务进行视频处理;其中,每个所述视频处理进程对应一个所述第一待处理视频任务。
在一种可能的实施方式中,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
获取第二待处理视频任务以及各个所述视频处理设备的设备状态信息;
检测各个所述视频处理设备的设备状态信息是否满足预设设备状态信息,若是,则在正常的所述视频处理设备之中查找出正在执行的视频处理进程最少的目标视频处理设备;
当接收所述目标视频处理设备创建一个新的所述视频处理进程之后,将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至新的所述视频处理进程之中。
在一种可能的实施方式中,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
基于各个所述第一待处理视频任务的标识信息获取到各个所述第一待处理视频任务的处理进程信息;其中,所述处理进程信息包括视频帧数量、任务处理状态;
基于各个设备状态信息以及各个所述第一待处理视频任务的处理进程信息,确定出设备任务状态表,以便根据所述设备任务状态表对各个所述视频处理设备的设备状态信息进行监测。
在一种可能的实施方式中,在确定视频处理进程最少的目标视频处理设备之后,所述视频处理方法还包括:
检测所述目标视频处理设备之中是否存在空闲状态的视频处理进程;
若是,则将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至所述空闲状态的视频处理进程之中。
本申请实施例还提供了一种视频处理设备,所述视频处理设备包括:
第一获取模块,用于获取视频任务分发器发送的至少一个第一待处理视频任务;
创建模块,用于创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;
任务处理模块,用于将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的视频处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的视频处理方法的步骤。
本申请实施例提供的一种视频处理方法、视频处理设备、电子设备及存储介质,所述视频处理方法应用于视频处理设备,所述视频处理方法包括:获取视频任务分发器发送的至少一个第一待处理视频任务;创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。通过每个视频处理进程对应一个待处理视频任务,每个视频处理设备并行对多个视频处理进程进行视频处理,提高了视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种视频处理方法的流程图之一;
图2为本申请实施例所提供的一种视频处理方法的流程图之二;
图3为本申请实施例所提供的一种视频处理方法的交互示意图;
图4为本申请实施例所提供的一种视频处理设备的结构示意图之一;
图5为本申请实施例所提供的一种视频处理设备的结构示意图之二;
图6为本申请实施例所提供的一种视频任务分发器的结构示意图;
图7为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要对多视频进行处理的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的一种视频处理方法、视频处理设备、电子设备及存储介质的方案均在本申请保护范围内。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于视频处理技术领域。
经研究发现,现阶段,一个或多个视频加速设备控制多个需要处理的不同视频,控制逻辑较为复杂,而且一旦某个视频因为网络延迟、丢包等问题导致视频数据有错误,很有可能导致视频解码出错,进而影响该设备上的其他视频的正常处理,否则需要加各种异常处理逻辑,实现较为复杂。所以,如何提高视频处理的效率成为了不容小觑的技术问题。
基于此,本申请实施例提供了一种视频处理方法,通过每个视频处理进程只处理一个待处理视频任务,每个视频处理设备并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。
请参阅图1图1为本申请实施例所提供的一种视频处理方法的流程图之一。如图1中所示,本申请实施例提供的视频处理方法,包括:
S101:获取视频任务分发器发送的至少一个第一待处理视频任务。
该步骤中,获取视频任务分发器发送的至少一个第一待处理视频任务。
其中,第一待处理视频任务为需要进行处理的视频流。
这里,视频处理设备通过与视频任务分发器建立普通的TCP socket连接,以实现接收到视频任务分发器发送的多个第一待处理视频任务。
S102:创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务。
该步骤中,视频处理设备创建至少一个视频处理进程。
其中,每个视频处理进程只能处理一个第一待处理视频任务,在视频处理进程之中对第一待处理视频任务进行视频解码、推理等其他处理。
S103:将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
该步骤中,将每个第一待处理视频任务添加至相对应的视频处理进程之中,并行对至少一个视频处理进程之中的第一待处理视频任务进行视频处理。
这里,多个视频处理设备并行处理相对应的视频处理进程之中的第一待处理视频任务,当其中一个视频处理设备出现故障时,不会影响其他视频处理设备的处理进度,或者是当其中一个视频处理进程出现故障时,不会影响其他视频处理进程,进而提高了视频处理的效率。
在一种可能的实施方式中,通过以下步骤对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理:
A:获取所述第一待处理视频任务相对应的预设处理任务信息。
这里,获取到每个第一待处理视频任务相对应的预设处理任务信息。
其中,预设处理任务信息为第一待处理视频任务的处理需求。
B:所述视频处理进程基于所述预设处理任务信息对所述第一待处理视频进行解码处理,生成解码后的图像数据。
这里,每个视频处理进程根据预设处理任务信息对第一待处理视频进行解码处理,生成解码后的图像数据。
C:对所述解码后的图像数据进行数据解析,以完成对所述第一待处理视频任务的视频处理。
这里,对解码后的图像数据进行数据解析,完成对所述第一待处理视频任务的视频处理。
其中,对解码后的图像数据进行数据解析后生成目标图像数据,目标图像数据为对第一待处理视频任务进行处理得到的视频图像。
在具体实施例中,当将至少一个第一待处理视频任务添加至相对应的视频处理进程之中,并行执行至少一个视频处理进程,在每个视频处理进程之中根据第一待处理视频任务相对应的预设处理任务信息对第一待处理视频进行解码处理,生成解码后的图像数据,并对解码后的图像数据进行数据解析,确定出目标图像数据,并将目标图像数据进行存储。
在一种可能的实施方式中,在所述将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理之后,所述视频处理方法还包括:
a:检测是否完成相对应的多个所述第一待处理视频任务。
检测是否完成相对应的多个第一待处理视频任务。
b:若否,则继续接收相对应的多个所述第一待处理视频任务中下一个待处理视频任务,对所述下一个待处理视频任务进行视频处理。
这里,若没有完成相对应的多个第一待处理视频任务,则继续接收相对应的多个第一待处理视频任务中下一个待处理视频任务,对下一个待处理视频任务进行视频处理。
c:若是,则停止进行视频处理。
这里,若完成相对应的多个第一待处理视频任务,该视频处理设备则停止进行视频处理。
在具体实施例中,检测是否完成相对应的多个第一待处理视频任务,若没有完成相对应的多个第一待处理视频任务,则继续接收相对应的多个第一待处理视频任务中下一个待处理视频任务,对下一个待处理视频任务进行视频处理。若完成相对应的多个第一待处理视频任务,该视频处理设备则停止进行视频处理。
本申请实施例提供的一种多个视频处理方法,所述多个视频处理方法应用于视频处理设备,所述视频处理方法包括:获取视频任务分发器发送的至少一个第一待处理视频任务;创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。通过每个视频处理进程只处理一个待处理视频任务,每个视频处理设备可以并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备出现故障时,不会影响其他视频处理设备的视频处理进程。
进一步的,请参阅图2,图2为本申请实施例所提供的一种视频处理方法的流程图之二。如图2所示,所述视频处理方法包括:
S201:获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息。
该步骤中,获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息。
其中,视频处理设备为视频处理加速卡,视频处理加速卡能够通过pcie或者其他方式与视频任务分发器进行数据通信。视频处理加速卡能够支持对多个视频同时解码操作、以及解码后图像的AI推理操作。
S202:根据各个所述视频处理的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中,以便每个所述视频处理设备在接收到相对应的至少一个所述第一待处理视频任务之后,并行对至少一个视频处理进程之中的所述第一待处理视频任务进行视频处理。
该步骤中,根据各个视频处理设备的设备状态信息,将多个第一待处理视频任务分发至多个视频处理设备的视频处理进程之中,以便每个视频处理设备在接收到相对应的至少一个第一待处理视频任务之后,并行对至少一个视频处理进程之中的第一待处理视频任务进行视频处理。
这里,每个视频处理设备至少有一个视频处理进程,每个视频处理进程对应一个待处理视频任务。
其中,每个所述视频处理进程对应一个所述第一待处理视频任务。
这里,每个视频处理设备接收相对应的多个第一待处理视频任务,以便并行对多个视频处理进程之中的第一待处理视频任务进行视频处理。
这里,每个视频处理设备将接收到的多个第一待处理视频任务添加至相对应的视频处理进程之中,并行执行多个视频处理进程,在每个视频处理进程之中根据第一待处理视频任务相对应的预设处理任务信息对第一待处理视频进行解码处理,生成解码后的图像数据,并对解码后的图像数据进行数据解析,确定出目标图像数据,并将目标图像数据进行存储。
在一种可能的实施方式中,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
(1)、获取第二待处理视频任务以及各个所述视频处理设备的设备状态信息。
这里,获取第二待处理视频任务以及各个视频处理设备的设备状态信息。
(2)、检测各个所述视频处理设备的设备状态信息是否满足预设设备状态信息,若是,则在正常的所述视频处理设备之中查找出正在执行的视频处理进程最少的目标视频处理设备。
这里,检测各个视频处理设备的设备状态信息是否满足预设设备状态信息,若是,则在正常的视频处理设备之中查找出正在执行的视频处理进程最少的目标视频处理设备。
其中,当视频处理设备的设备状态信息满足预设设备状态信息,则说明该视频处理设备的设备状态为正常,在正常的视频处理设备之中筛选出正在执行的视频处理进程最少的目标视频处理设备,以便为目标视频处理设备分发第二待视频处理任务,以减少其他视频处理设备的负荷。
(3)、当接收所述目标视频处理设备创建一个新的所述视频处理进程之后,将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至新的所述视频处理进程之中。
这里,当接收目标视频处理设备创建一个新的视频处理进程之后,将第二待处理视频任务发送至目标视频处理设备,以便目标视频处理设备将所述第二待处理视频任务添加至新的视频处理进程之中,对第二待处理视频任务进行视频处理。
在一种可能的实施方式中,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
1)、基于各个所述第一待处理视频任务的标识信息获取到各个所述第一待处理视频任务的处理进程信息;其中,所述处理进程信息包括视频帧数量、任务处理状态。
这里,根据各个第一待处理视频任务的标识信息获取到一待处理视频任务的处理进程信息。
其中,处理进程信息包括视频帧数量、任务处理状态以及任务处理结果等。
2)、基于各个设备状态信息以及各个所述第一待处理视频任务的处理进程信息,确定出设备任务状态表,以便根据所述设备任务状态表对各个所述视频处理设备的设备状态信息进行监测。
这里,将各个设备状态信息和各个第一待处理视频任务的处理进程信息进行数据整合,确定出设备任务状态表,以实现视频任务分发器根据设备任务状态表对多个视频处理设备进行监测。
这里,采用vector的方式,管理每个视频处理设备,通过视频处理设备的index可以快速获取到视频处理设备的设备状态信息;采用map的方式,通过每个第一待处理视频任务的标识信息快速获取到每个第一待处理视频任务的处理进程信息;处理进程信息中包含每个第一待处理视频任务的处理的视频帧数量(pkts)、任务的状态(status)、任务的处理结果(res)等信息。
在一种可能的实施方式中,在确定视频处理进程最少的目标视频处理设备之后,所述视频处理方法还包括:
i:检测所述目标视频处理设备之中是否存在空闲状态的视频处理进程。
这里,检测目标视频处理设备之中是否存在空闲状态的视频处理进程。
其中,空闲状态的视频处理进程为未处理第一待处理视频任务相对应的视频处理进程。
ii:若是,则将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至所述空闲状态的视频处理进程之中。
这里,若监测目标视频处理设备之中存在空闲状态的视频处理进程,则将第二待处理视频任务发送至目标视频处理设备,以便目标视频处理设备将第二待处理视频任务添加至空闲状态的视频处理进程之中。
进一步的,请参阅图3,图3为本申请实施例所提供的一种基于多进程的多个视频处理方法的交互示意图。如图3所示,视频任务分发器将多个第一待处理视频任务发送至多个视频处理设备之中,视频处理设备将每个第一待处理视频任务添加至相对应的视频处理进程之中,并行对多个视频处理进程之中的第一待处理视频任务进行视频处理,并接收各个视频处理设备的设备状态信息,以实现对各个视频处理设备的实时监测。
本申请实施例提供的一种视频处理方法,所述视频处理方法应用于视频任务分发器,所述视频处理方法包括:获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息;根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中,以便每个所述视频处理设备在接收到相对应的至少一个所述第一待处理视频任务之后,并行对至少一个视频处理进程之中的所述第一待处理视频任务进行视频处理;其中,每个所述视频处理进程对应一个所述第一待处理视频任务。通过每个视频处理进程只处理一个待处理视频任务,且每个视频处理设备可以并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。
请参阅图4、图5,图4为本申请实施例所提供的一种视频处理设备的结构示意图之一;图5为本申请实施例所提供的一种视频处理设备的结构示意图之二。如图4中所示,所述视频处理设备400包括:
第一获取模块410,用于获取视频任务分发器发送的至少一个第一待处理视频任务;
创建模块420,用于创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;
任务处理模块430,用于将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
进一步的,任务处理模块430通过以下步骤对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理:
获取所述第一待处理视频任务相对应的预设处理任务信息;
所述视频处理进程基于所述预设处理任务信息对所述第一待处理视频进行解码处理,生成解码后的图像数据;
对所述解码后的图像数据进行数据解析,以完成对所述第一待处理视频任务的视频处理。
进一步的,如图5所示,视频处理设备400还包括第一检测模块440,第一检测模块440用于:
检测是否完成相对应的多个所述第一待处理视频任务;
若否,则继续接收相对应的多个所述第一待处理视频任务中下一个待处理视频任务,对所述下一个待处理视频任务进行视频处理;
若是,则停止进行视频处理。
进一步的,请参阅图6,图6为本申请实施例所提供的一种视频任务分发器的结构示意图。如图6所示,视频任务分发器600包括:
第二获取模块610,用于获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息;
分发模块620,用于根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中,以便每个所述视频处理设备在接收到相对应的至少一个所述第一待处理视频任务之后,并行对至少一个视频处理进程之中的所述第一待处理视频任务进行视频处理;其中,每个所述视频处理进程对应一个所述第一待处理视频任务。
进一步的,视频任务分发器600还包括第二检测模块630,第二检测模块630用于:
获取第二待处理视频任务以及各个所述视频处理设备的设备状态信息;
检测各个所述视频处理设备的设备状态信息是否满足预设设备状态信息,若是,则在正常的所述视频处理设备之中查找出正在执行的视频处理进程最少的目标视频处理设备;
当接收所述目标视频处理设备创建一个新的所述视频处理进程之后,将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至新的所述视频处理进程之中。
进一步的,视频任务分发器600还包括监测模块640,监测模块640用于:
基于各个所述第一待处理视频任务的标识信息获取到各个所述第一待处理视频任务的处理进程信息;其中,所述处理进程信息包括视频帧数量、任务处理状态;
基于各个设备状态信息以及各个所述第一待处理视频任务的处理进程信息,确定出设备任务状态表,以便根据所述设备任务状态表对各个所述视频处理设备的设备状态信息进行监测。
进一步的,第二检测模块630还用于:
检测所述目标视频处理设备之中是否存在空闲状态的视频处理进程;
若是,则将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至所述空闲状态的视频处理进程之中。
本申请实施例提供的一种视频处理设备,所述视频处理设备包括:第一获取模块,用于获取视频任务分发器发送的至少一个第一待处理视频任务;创建模块,用于创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;任务处理模块,用于将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。通过每个视频处理进程只处理一个待处理视频任务,且每个视频处理设备可以并行对多个视频处理进程进行视频处理,可以提高视频处理的效率,且当其中一个视频处理设备中的某个视频处理进程出现异常时,不会影响该视频处理设备的其他视频处理进程。
请参阅图7,图7为本申请实施例所提供的一种电子设备的结构示意图。如图7中所示,所述电子设备700包括处理器710、存储器720和总线730。
所述存储器720存储有所述处理器710可执行的机器可读指令,当电子设备700运行时,所述处理器710与所述存储器720之间通过总线730通信,所述机器可读指令被所述处理器710执行时,可以执行如上述图1以及图2所示方法实施例中的视频处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的视频处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种视频处理方法,其特征在于,所述视频处理方法应用于视频处理设备,所述视频处理方法包括:
获取视频任务分发器发送的至少一个第一待处理视频任务;
创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;
将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
2.根据权利要求1所述的视频处理方法,其特征在于,通过以下步骤对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理:
获取所述第一待处理视频任务相对应的预设处理任务信息;
所述视频处理进程基于所述预设处理任务信息对所述第一待处理视频进行解码处理,生成解码后的图像数据;
对所述解码后的图像数据进行数据解析,以完成对所述第一待处理视频任务的视频处理。
3.根据权利要求1所述的视频处理方法,其特征在于,在所述将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理之后,所述视频处理方法还包括:
检测是否完成相对应的多个所述第一待处理视频任务;
若否,则继续接收相对应的多个所述第一待处理视频任务中下一个待处理视频任务,对所述下一个待处理视频任务进行视频处理;
若是,则停止进行视频处理。
4.一种视频处理方法,其特征在于,所述视频处理方法应用于视频任务分发器,所述视频处理方法包括:
获取多个第一待处理视频任务以及多个视频处理设备的设备状态信息;
根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中,以便每个所述视频处理设备在接收到相对应的至少一个所述第一待处理视频任务之后,并行对至少一个视频处理进程之中的所述第一待处理视频任务进行视频处理;其中,每个所述视频处理进程对应一个所述第一待处理视频任务。
5.根据权利要求4所述的视频处理方法,其特征在于,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
获取第二待处理视频任务以及各个所述视频处理设备的设备状态信息;
检测各个所述视频处理设备的设备状态信息是否满足预设设备状态信息,若是,则在正常的所述视频处理设备之中查找出正在执行的视频处理进程最少的目标视频处理设备;
当接收所述目标视频处理设备创建一个新的所述视频处理进程之后,将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至新的所述视频处理进程之中。
6.根据权利要求5所述的视频处理方法,其特征在于,在所述根据各个所述视频处理设备的设备状态信息,将多个所述第一待处理视频任务分发至多个所述视频处理设备的视频处理进程之中之后,所述视频处理方法还包括:
基于各个所述第一待处理视频任务的标识信息获取到各个所述第一待处理视频任务的处理进程信息;其中,所述处理进程信息包括视频帧数量、任务处理状态;
基于各个设备状态信息以及各个所述第一待处理视频任务的处理进程信息,确定出设备任务状态表,以便根据所述设备任务状态表对各个所述视频处理设备的设备状态信息进行监测。
7.根据权利要求5所述的视频处理方法,其特征在于,在确定视频处理进程最少的目标视频处理设备之后,所述视频处理方法还包括:
检测所述目标视频处理设备之中是否存在空闲状态的视频处理进程;
若是,则将所述第二待处理视频任务发送至所述目标视频处理设备,以便所述目标视频处理设备将所述第二待处理视频任务添加至所述空闲状态的视频处理进程之中。
8.一种视频处理设备,其特征在于,所述视频处理设备包括:
第一获取模块,用于获取视频任务分发器发送的至少一个第一待处理视频任务;
创建模块,用于创建至少一个视频处理进程;其中,每个所述视频处理进程对应一个所述第一待处理视频任务;
任务处理模块,用于将每个所述第一待处理视频任务添加至相对应的所述视频处理进程之中,并行对至少一个所述视频处理进程之中的所述第一待处理视频任务进行视频处理。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述视频处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的视频处理方法的步骤。
CN202310316117.XA 2023-03-28 2023-03-28 一种视频处理方法、视频处理设备、电子设备及存储介质 Pending CN116389820A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310316117.XA CN116389820A (zh) 2023-03-28 2023-03-28 一种视频处理方法、视频处理设备、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310316117.XA CN116389820A (zh) 2023-03-28 2023-03-28 一种视频处理方法、视频处理设备、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116389820A true CN116389820A (zh) 2023-07-04

Family

ID=86966893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310316117.XA Pending CN116389820A (zh) 2023-03-28 2023-03-28 一种视频处理方法、视频处理设备、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116389820A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170365237A1 (en) * 2010-06-17 2017-12-21 Thincl, Inc. Processing a Plurality of Threads of a Single Instruction Multiple Data Group
CN109561346A (zh) * 2018-12-25 2019-04-02 上海极链网络科技有限公司 一种视频的分布式解析方法及系统
CN113535366A (zh) * 2021-08-31 2021-10-22 知见科技(江苏)有限公司 一种高性能分布式结合的多路视频实时处理方法
CN113691783A (zh) * 2021-10-27 2021-11-23 中国南方电网有限责任公司超高压输电公司广州局 换流站视频监控方法、系统、装置和计算机设备
CN114816709A (zh) * 2022-05-07 2022-07-29 北京知道创宇信息技术股份有限公司 任务调度方法、装置、服务器及可读存储介质
CN114885192A (zh) * 2021-02-05 2022-08-09 北京小米移动软件有限公司 视频处理方法、视频处理装置及存储介质
CN115543574A (zh) * 2022-10-11 2022-12-30 上海加密原生科技有限公司 应用于视频类数字藏品生成中的任务调度方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170365237A1 (en) * 2010-06-17 2017-12-21 Thincl, Inc. Processing a Plurality of Threads of a Single Instruction Multiple Data Group
CN109561346A (zh) * 2018-12-25 2019-04-02 上海极链网络科技有限公司 一种视频的分布式解析方法及系统
CN114885192A (zh) * 2021-02-05 2022-08-09 北京小米移动软件有限公司 视频处理方法、视频处理装置及存储介质
CN113535366A (zh) * 2021-08-31 2021-10-22 知见科技(江苏)有限公司 一种高性能分布式结合的多路视频实时处理方法
CN113691783A (zh) * 2021-10-27 2021-11-23 中国南方电网有限责任公司超高压输电公司广州局 换流站视频监控方法、系统、装置和计算机设备
CN114816709A (zh) * 2022-05-07 2022-07-29 北京知道创宇信息技术股份有限公司 任务调度方法、装置、服务器及可读存储介质
CN115543574A (zh) * 2022-10-11 2022-12-30 上海加密原生科技有限公司 应用于视频类数字藏品生成中的任务调度方法和系统

Similar Documents

Publication Publication Date Title
US7890620B2 (en) Monitoring system and monitoring method
CN106789362A (zh) 一种设备管理方法及网管系统
CN111049705A (zh) 一种监控分布式存储系统的方法及装置
US10846186B2 (en) Central processing unit CPU hot-remove method and apparatus, and central processing unit CPU hot-add method and apparatus
CN110018996B (zh) 一种分布式存储系统的快照回滚方法及相关装置
CN105991412A (zh) 消息推送方法及装置
CN114281521B (zh) 优化深度学习异构资源通信效率方法、系统、设备及介质
CN112579356B (zh) 一种故障处理方法及服务器
CN111045811A (zh) 一种任务分配方法、装置、电子设备及存储介质
CN109714214B (zh) 一种服务器异常的处理方法及管理设备
CN110569124A (zh) 一种任务分配方法和装置
CN117149665B (zh) 持续集成方法、控制设备、持续集成系统及存储介质
CN111352803A (zh) 业务数据处理方法、装置、设备和存储介质
CN116389820A (zh) 一种视频处理方法、视频处理设备、电子设备及存储介质
CN110224872B (zh) 一种通信方法、装置及存储介质
CN112054919A (zh) 容器集群无状态下的id生成方法、装置、存储介质及系统
CN109587218B (zh) 一种集群选举的方法和装置
CN111010706A (zh) 一种异常恢复方法及装置
CN110545296A (zh) 一种日志数据获取方法、装置及其设备
CN111901174B (zh) 一种服务状态通知的方法、相关装置及存储介质
CN114546779A (zh) 一种获取服务器系统日志的方法、装置、设备及介质
CN110391929B (zh) 一种容错控制方法、装置及容错构件
CN113297149A (zh) 数据处理请求的监测方法及装置
CN114520808A (zh) 请求处理方法、装置、电子设备及计算机可读存储介质
CN109561120B (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