CN114222162B - 视频处理方法、装置、计算机设备及存储介质 - Google Patents

视频处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114222162B
CN114222162B CN202111484736.7A CN202111484736A CN114222162B CN 114222162 B CN114222162 B CN 114222162B CN 202111484736 A CN202111484736 A CN 202111484736A CN 114222162 B CN114222162 B CN 114222162B
Authority
CN
China
Prior art keywords
video
video stream
video processing
spliced
stream
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.)
Active
Application number
CN202111484736.7A
Other languages
English (en)
Other versions
CN114222162A (zh
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202111484736.7A priority Critical patent/CN114222162B/zh
Publication of CN114222162A publication Critical patent/CN114222162A/zh
Application granted granted Critical
Publication of CN114222162B publication Critical patent/CN114222162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating 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/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/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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种视频处理方法、装置、计算机设备及存储介质,用于解决视频流处理异常的问题。该方法包括:接收待处理视频流,并确定所述待处理视频流的第一视频处理任务;获取设备的视频处理性能,若所述视频处理性能不足以执行所述第一视频处理任务,则基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务;对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流;基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理。

Description

视频处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频处理方法、装置、计算机设备及存储介质。
背景技术
随着科技的不断发展,设备可以对视频执行多种多样的视频处理任务。例如,设备可以对视频执行目标跟踪任务,还可以对视频执行人脸检测任务等。
然而,设备的处理能力是有限的,在设备由于正在处理一路或多路视频流,导致设备的处理能力不足时,设备无法对接收的其他一路或多路视频流进行处理,造成接收的其他视频流丢失,或直接显示未进行处理的其他视频流等视频流处理异常的问题。
发明内容
本申请实施例提供一种视频处理方法、装置、计算机设备及存储介质,用于解决视频流处理异常的问题。
第一方面,提供一种视频处理方法,包括:
接收待处理视频流,并确定所述待处理视频流的第一视频处理任务;
获取设备的视频处理性能,若所述视频处理性能不足以执行所述第一视频处理任务,则基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务;
对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流;
基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理。
可选的,基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务,包括:
获取已经接收的各个参考视频流,以及所述各个参考视频各自对应的第三视频处理任务;
分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级;
从各个参考视频流中,选取匹配结果对应的优先级最高的参考视频流,作为所述目标视频流,获得所述目标视频流对应的第二视频处理任务。
可选的,分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级,包括:
针对所述各个参考视频流,分别执行以下操作:
若参考视频流对应的第三视频处理任务包含一个视频处理任务,则确定所述第一视频处理任务与所述一个视频处理任务是否相同;
视频处理任务相同时,确定所述参考视频流的分辨率,与所述待处理视频流的分辨率是否相同;
分辨率相同时,将所述参考视频流对应的优先级,确定为第一优先级;
分辨率不相同时,将所述参考视频流对应的优先级,确定为第二优先级,其中,所述第一优先级高于所述第二优先级。
可选的,分别匹配各个第三视频处理任务与所述第一视频处理任务,获得各个匹配结果,以及所述各个匹配结果各自对应的优先级,包括:
若所述第三视频处理任务包含多个视频处理任务,则确定所述多个视频处理任务中,是否包含与所述第一视频处理任务相同的视频处理任务;
包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第三优先级,其中,所述第三优先级低于所述第一优先级和所述第二优先级;
不包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第四优先级,其中,所述第四优先级低于所述第一优先级、所述第二优先级和所述第三优先级。
可选的,对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流,包括:
基于所述设备的播放分辨率,分别对所述待处理视频流和所述目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得所述拼接视频流;或,
基于指定时长,分别将所述待处理视频流划分为各个待处理子视频流,以及将所述目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得所述拼接视频流。
可选的,基于所述设备的播放分辨率,分别对所述待处理视频流和所述目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得所述拼接视频流,包括:
分别确定所述待处理视频流的分辨率与所述目标视频流的分辨率之间的分辨率比值;
基于所述分辨率比值,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,对所述待处理视频流和所述目标视频流进行压缩处理;
对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
可选的,基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理,包括:
若所述拼接视频流是基于指定时长拼接获得的,则针对所述拼接视频流中的所述各个待处理子视频流,执行所述第一视频处理任务,针对所述拼接视频流中的所述各个目标子视频流,执行所述第二视频流的视频处理任务。
可选的,在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,还包括:
以预设时长为周期,对所述拼接视频流进行目标识别处理,获得所述拼接视频流包含的多个视频流各自包含目标的目标数量;
基于所述多个视频流各自包含目标的目标数量,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,重新对所述多个视频流进行压缩处理,并重新对压缩后的所述多个视频流进行拼接处理,更新所述拼接视频流。
可选的,基于所述多个视频流各自包含目标的目标数量,将所述播放分辨率划分为多个子分辨率,包括:
若针对所述多个视频流中的一个视频流,确定当前周期获得的目标数量,大于历史周期获得的目标数量,则基于当前周期获得的目标数量,以及历史周期获得的目标数量,将所述播放分辨率划分为多个子分辨率。
可选的,在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,还包括:
若所述视频处理性能足以再执行一个视频处理任务,则对所述拼接视频流进行解除拼接处理,获得两个解除拼接视频流;
基于所述两个解除拼接视频流各自对应的视频处理任务,分别对所述两个解除拼接视频流进行视频处理。
可选的,若所述视频处理性能足以再执行一个视频处理任务,则对所述拼接视频流进行解除拼接处理,获得两个解除拼接视频流,包括:
若所述拼接视频流包含至少三个视频流,则确定所述至少三个视频流中,是否存在对应的视频处理任务相同的多个视频流;
存在对应的视频处理任务相同的多个视频流时,对所述拼接视频流进行解除拼接处理,获得第一解除拼接视频流和第二解除拼接视频流,其中,所述第一解除拼接视频流包含所述多个视频流,所述第二解除拼接视频流包含所述至少三个视频流中,除了所述多个视频流以外的视频流。
可选的,在获取设备的视频处理性能之后,还包括:
若所述视频处理性能足以执行所述第一视频处理任务,则获取已经接收的目标视频流;
若所述目标视频流包含多个视频流,则确定所述目标视频流包含的多个视频流中,是否存在对应的视频处理任务与所述第一视频处理任务相同的视频流;
若存在,则对所述目标视频流进行解除拼接处理,获得第三解除拼接视频流和第四解除拼接视频流,其中,所述第三解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务相同的视频流,所述第四解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务不同的视频流;
对所述待处理视频流与所述第三解除拼接视频流进行拼接处理,获得拼接视频流;
基于所述第一视频处理任务,对所述拼接视频流进行视频处理,并基于所述第四解除拼接视频流对应的视频处理任务,对所述第四解除拼接视频流进行视频处理。
第二方面,提供一种视频处理装置,包括:
接收模块:用于接收待处理视频流,并确定所述待处理视频流的第一视频处理任务;
处理模块:用于获取设备的视频处理性能,若所述视频处理性能不足以执行所述第一视频处理任务,则基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务;
所述处理模块还用于:对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流;
所述处理模块还用于:基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理。
可选的,所述处理模块具体用于:
获取已经接收的各个参考视频流,以及所述各个参考视频各自对应的第三视频处理任务;
分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级;
从各个参考视频流中,选取匹配结果对应的优先级最高的参考视频流,作为所述目标视频流,获得所述目标视频流对应的第二视频处理任务。
可选的,所述处理模块具体用于:
针对所述各个参考视频流,分别执行以下操作:
若参考视频流对应的第三视频处理任务包含一个视频处理任务,则确定所述第一视频处理任务与所述一个视频处理任务是否相同;
视频处理任务相同时,确定所述参考视频流的分辨率,与所述待处理视频流的分辨率是否相同;
分辨率相同时,将所述参考视频流对应的优先级,确定为第一优先级;
分辨率不相同时,将所述参考视频流对应的优先级,确定为第二优先级,其中,所述第一优先级高于所述第二优先级。
可选的,所述处理模块具体用于:
若所述第三视频处理任务包含多个视频处理任务,则确定所述多个视频处理任务中,是否包含与所述第一视频处理任务相同的视频处理任务;
包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第三优先级,其中,所述第三优先级低于所述第一优先级和所述第二优先级;
不包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第四优先级,其中,所述第四优先级低于所述第一优先级、所述第二优先级和所述第三优先级。
可选的,所述处理模块具体用于:
基于所述设备的播放分辨率,分别对所述待处理视频流和所述目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得所述拼接视频流;或,
基于指定时长,分别将所述待处理视频流划分为各个待处理子视频流,以及将所述目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得所述拼接视频流。
可选的,所述处理模块具体用于:
分别确定所述待处理视频流的分辨率与所述目标视频流的分辨率之间的分辨率比值;
基于所述分辨率比值,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,对所述待处理视频流和所述目标视频流进行压缩处理;
对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
可选的,所述处理模块还用于:
若所述拼接视频流是基于指定时长拼接获得的,则针对所述拼接视频流中的所述各个待处理子视频流,执行所述第一视频处理任务,针对所述拼接视频流中的所述各个目标子视频流,执行所述第二视频流的视频处理任务。
可选的,所述处理模块还用于:
在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,以预设时长为周期,对所述拼接视频流进行目标识别处理,获得所述拼接视频流包含的多个视频流各自包含目标的目标数量;
基于所述多个视频流各自包含目标的目标数量,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,重新对所述多个视频流进行压缩处理,并重新对压缩后的所述多个视频流进行拼接处理,更新所述拼接视频流。
可选的,所述处理模块具体用于:
若针对所述多个视频流中的一个视频流,确定当前周期获得的目标数量,大于历史周期获得的目标数量,则基于当前周期获得的目标数量,以及历史周期获得的目标数量,将所述播放分辨率划分为多个子分辨率。
可选的,所述处理模块还用于:
在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,若所述视频处理性能足以再执行一个视频处理任务,则对所述拼接视频流进行解除拼接处理,获得两个解除拼接视频流;
基于所述两个解除拼接视频流各自对应的视频处理任务,分别对所述两个解除拼接视频流进行视频处理。
可选的,若所述视频处理性能足以再执行一个视频处理任务,则所述处理模块具体用于:
若所述拼接视频流包含至少三个视频流,则确定所述至少三个视频流中,是否存在对应的视频处理任务相同的多个视频流;
存在对应的视频处理任务相同的多个视频流时,对所述拼接视频流进行解除拼接处理,获得第一解除拼接视频流和第二解除拼接视频流,其中,所述第一解除拼接视频流包含所述多个视频流,所述第二解除拼接视频流包含所述至少三个视频流中,除了所述多个视频流以外的视频流。
可选的,所述处理模块还用于:
在获取设备的视频处理性能之后,若所述视频处理性能足以执行所述第一视频处理任务,则获取已经接收的目标视频流;
若所述目标视频流包含多个视频流,则确定所述目标视频流包含的多个视频流中,是否存在对应的视频处理任务与所述第一视频处理任务相同的视频流;
若存在,则对所述目标视频流进行解除拼接处理,获得第三解除拼接视频流和第四解除拼接视频流,其中,所述第三解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务相同的视频流,所述第四解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务不同的视频流;
对所述待处理视频流与所述第三解除拼接视频流进行拼接处理,获得拼接视频流;
基于所述第一视频处理任务,对所述拼接视频流进行视频处理,并基于所述第四解除拼接视频流对应的视频处理任务,对所述第四解除拼接视频流进行视频处理。
第三方面,提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面所述的方法。
第四方面,提供一种计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的方法。
本申请实施例中,在视频处理性能不足以执行待处理视频流的第一视频处理任务时,可以基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务。从而,通过对待处理视频流和目标视频流进行拼接处理,可以根据第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。将两路视频流拼接为一路视频流,实现通过处理一路视频流所消耗的视频处理性能,来处理两路视频流,避免造成视频处理性能不足时,无法对接收到的待处理视频流进行视频处理,导致待处理视频流丢失,或直接将未进行视频处理的待处理视频流呈现在显示界面中等视频流处理异常的问题。
附图说明
图1为本申请实施例提供的视频处理方法的一种原理示意图一;
图2为本申请实施例提供的视频处理方法的一种应用场景;
图3为本申请实施例提供的视频处理方法的一种流程示意图一;
图4a为本申请实施例提供的视频处理方法的一种原理示意图二;
图4b为本申请实施例提供的视频处理方法的一种原理示意图三;
图4c为本申请实施例提供的视频处理方法的一种原理示意图四;
图4d为本申请实施例提供的视频处理方法的一种原理示意图五;
图4e为本申请实施例提供的视频处理方法的一种原理示意图六;
图4f为本申请实施例提供的视频处理方法的一种流程示意图二;
图4g为本申请实施例提供的视频处理方法的一种流程示意图三;
图5为本申请实施例提供的视频处理方法的一种流程示意图四;
图6为本申请实施例提供的视频处理装置的一种结构示意图一;
图7为本申请实施例提供的视频处理装置的一种结构示意图二。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面对本申请实施例提供的视频处理方法的应用领域进行简单介绍。
随着科技的不断发展,设备可以对视频执行多种多样的视频处理任务。例如,设备可以对视频执行目标跟踪任务,还可以对视频执行人脸检测任务等。
然而,设备的处理能力是有限的,在设备由于正在处理一路或多路视频流,导致设备的处理能力不足时,设备无法对接收的其他一路或多路视频流进行处理,造成接收的其他视频流丢失,或直接显示未进行处理的其他视频流等视频流处理异常的问题。
为了解决视频流处理异常的问题,本申请提出一种视频处理方法,请参考图1,该方法在接收待处理视频流之后,可以确定待处理视频流的第一视频处理任务。在获取设备的视频处理性能之后,若视频处理性能不足以执行第一视频处理任务,则基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务。对待处理视频流和目标视频流进行拼接处理,获得拼接视频流。基于第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。
本申请实施例中,在视频处理性能不足以执行待处理视频流的第一视频处理任务时,可以基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务。从而,通过对待处理视频流和目标视频流进行拼接处理,可以根据第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。将两路视频流拼接为一路视频流,实现通过处理一路视频流所消耗的视频处理性能,来处理两路视频流,避免造成视频处理性能不足时,无法对接收到的待处理视频流进行视频处理,导致待处理视频流丢失,或直接将未进行视频处理的待处理视频流呈现在显示界面中等视频流处理异常的问题。
下面对本申请提供的视频处理方法的应用场景进行说明。
请参考图2,为本申请实施例提供的视频处理方法的一种应用场景。该应用场景中包括视频采集端101和视频处理端102。视频采集端101和视频处理端102之间可以通信,通信方式可以是采用有线通信技术进行通信,例如通过连接网线或串口线进行通信;也可以是采用无线通信技术进行通信,例如通过蓝牙或无线保真(wireless fidelity,WIFI)等技术进行通信,具体不做限制。
视频采集端101泛指用于采集视频流的设备,例如,摄像头、终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。视频处理端102泛指用于处理视频流的设备,例如,终端设备或服务器等。服务器包括但不限于云服务器、本地服务器或关联的第三方服务器等。视频采集端101和视频处理端102均可以采用云计算,以减少本地计算资源的占用;同样也可以采用云存储,以减少本地存储资源的占用。
作为一种实施例,视频采集端101和视频处理端102可以是同一个设备,本申请实施例以视频采集端101和视频处理端102为不同的设备为例进行介绍,具体不做限制。
下面基于图2,对本申请实施例提供的视频处理方法进行介绍。请参考图3,为本申请实施例提供的视频处理方法的流程示意图。
S301,接收待处理视频流,并确定待处理视频流的第一视频处理任务。
视频采集端可以持续采集待处理视频流,例如,视频监控设备持续监控,持续获得监控视频流。视频采集端可以每间隔预设时长,通过向视频处理端发送预设时长内采集的待处理视频流,视频处理端从接收待处理视频流;视频采集端还可以每采集指定数据量的待处理视频流时,通过向视频处理端发送指定数据量的待处理视频流,视频处理端从接收待处理视频流等,具体不做限制。
视频采集端可以包含多个设备,每个设备可以分别采用不同的接口向视频处理端发送待处理视频流,从而视频处理端可以分别针对不同接口接收的待处理视频流执行相应的视频处理任务。
视频处理端接收待处理视频流之后,可以确定接收的待处理视频流的第一视频处理任务。第一视频处理任务是视频处理端对待处理视频流执行的视频处理任务,例如,视频处理任务包括人脸识别任务、目标检测任务、目标跟踪任务、背景虚化任务等。
第一视频处理任务可以携带在待处理视频流中,或携带在针对待处理视频流执行视频处理任务的指令中,由视频采集端发送给视频处理端,第一视频处理任务也可以与第一接口关联,从第一接口接收的待处理视频流,均确定执行第一视频处理任务等,具体不做限制。
S302,获取设备的视频处理性能,若视频处理性能不足以执行第一视频处理任务,则基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务。
视频处理端在获得待处理视频流和相应的第一视频处理任务之后,可以获取设备的视频处理性能,确定视频处理性能是否足以执行第一视频处理任务。如果视频处理性能足以执行第一视频处理任务,那么视频处理端可以直接对待处理视频流执行第一视频处理任务。如果目标视频流包含多个视频流,那么视频处理端也可以获取已经接收的目标视频流,确定目标视频流包含的多个视频流中,是否存在对应的视频处理任务与第一视频处理任务相同的视频流。
如果存在对应的视频处理任务与第一视频处理任务相同的视频流,那么对目标视频流进行解除拼接处理,获得第三解除拼接视频流和第四解除拼接视频流,第三解除拼接视频流包含对应的视频处理任务与第一视频处理任务相同的视频流,第四解除拼接视频流包含对应的视频处理任务与第一视频处理任务不同的视频流。
视频处理端可以对待处理视频流与第三解除拼接视频流进行拼接处理,获得拼接视频流。视频处理端可以基于第一视频处理任务,对拼接视频流进行视频处理,并基于第四解除拼接视频流对应的视频处理任务,对第四解除拼接视频流进行视频处理,具体拼接过程与后文介绍的拼接过程类似,在此不再赘述。
在视频处理端的处理资源不足以为待处理视频流提供视频处理服务时,可以基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务。将目标视频流和待处理视频流拼接为一路视频流进行视频处理,避免视频处理端无法对待处理视频流进行视频处理,导致待处理视频流丢失,或直接将未进行视频处理的待处理视频流呈现在显示界面中等视频流处理异常的问题。
获取设备的视频处理性能的过程可以是,视频处理端先基于待处理视频流和第一视频处理任务,确定预测占用信息,其中,预测占用信息用于表征视频处理端预测的对待处理视频流进行视频处理时占用的视频处理资源。视频处理端再基于预设的评估策略,对视频处理端当前的视频处理性能进行评估,获得评估信息,其中,评估信息用于表征当前未被占用的视频处理资源。视频处理端最后基于预测占用信息和评估信息,确定视频处理性能是否足以执行第一视频处理任务。
如果预测占用信息和评估信息均为数值形式,那么视频处理端可以通过比较数值大小,确定视频处理性能是否足以执行第一视频处理任务,在预测占用信息对应的数值,大于评估信息对应的数值时,表示视频处理性能不足以执行第一视频处理任务;在预测占用信息对应的数值,不大于评估信息对应的数值时,表示视频处理性能足以执行第一视频处理任务等,具体不做限制。
下面对视频处理端确定视频处理性能不足以执行第一视频处理任务时,基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务的过程进行介绍。
如果当前正在执行视频处理任务的视频流只有一个,那么视频处理端可以直接获取当前已经接收的目标视频流,获得针对目标视频流执行的第二视频处理任务。如果当前正在执行视频处理任务的视频流有多个,那么视频处理端先获得当前已经接收的各个参考视频流,获得各个参考视频各自对应的第三视频处理任务。
在获得各个参考视频流,以及各个参考视频流各自的第三视频处理任务之后,视频处理端可以分别匹配待处理视频流,与各个参考视频流,获得各个匹配结果。在获得各个匹配结果之后,视频处理端可以基于获得的各个匹配结果,确定各个参考视频流各自对应的优先级。视频处理端可以从多个参考视频流中,选取匹配结果对应的优先级最高的参考视频流作为目标视频流,获得目标视频流对应的第二视频处理任务。
作为一种实施例,匹配待处理视频流,与各个参考视频流的方法有多种,下面以一个参考视频流为例进行介绍,其他参考视频流的匹配过程类似,在此不再赘述。
如果参考视频流对应的第三视频处理任务包含一个视频处理任务,那么可以确定第一视频处理任务与该一个视频处理任务是否相同,如果第一视频处理任务与该一个视频处理任务相同,那么可以进一步的确定参考视频流的分辨率,与待处理视频流的分辨率是否相同。参考视频流的分辨率,与待处理视频流的分辨率相同时,将参考视频流对应的优先级,确定为第一优先级。参考视频流的分辨率,与待处理视频流的分辨率不同时,将参考视频流对应的优先级,确定为第二优先级,第一优先级高于第二优先级。
如果参考视频流对应的第三视频处理任务包含多个视频处理任务,那么可以确定该多个视频处理任务中,是否包含与第一视频处理任务相同的视频处理任务。如果该多个视频处理任务中包含与第一视频处理任务相同的视频处理任务,那么将参考视频流对应的优先级,确定为第三优先级,第三优先级低于第一优先级和第二优先级。如果该多个视频处理任务中不包含与第一视频处理任务相同的视频处理任务,那么将参考视频流对应的优先级,确定为第四优先级,第四优先级低于第一优先级、第二优先级和第三优先级。
例如,各个参考视频流包括参考视频流A、参考视频流B、参考视频流C和参考视频流D。参考视频流A和参考视频流B各自的第三视频处理任务均为目标识别任务,参考视频流A和待处理视频的分辨率为1080P,参考视频流B的分辨率为720P。参考视频流C由视频流C-1和视频流C-2拼接而成,参考视频流D由视频流D-1、视频流D-2和视频流D-3拼接而成。视频流C-1的第三视频处理任务为目标识别任务,视频流C-2的第三视频处理任务为目标跟踪任务,视频流D-1和视频流D-2各自的第三视频处理任务均为目标跟踪任务,视频流D-3的第三视频处理任务为人脸检测任务。
如果待处理视频流的第一视频处理任务为目标识别任务,那么参考视频流A、参考视频流B、参考视频流C和参考视频流D的优先级顺序为,参考视频流A高于参考视频流B高于参考视频流C高于参考视频流D。参考视频流A为第一优先级,参考视频流B为第二优先级,参考视频流C为第三优先级,参考视频流D为第四优先级。视频处理端可以将参考视频流A确定为目标视频流,参考视频流A对应的第三视频处理任务,作为目标视频流对应的第二视频处理任务。
如果待处理视频流的第一视频处理任务为人脸检测任务,参考视频流A、参考视频流B、参考视频流C和参考视频流D的优先级顺序为,参考视频流D高于参考视频流A、参考视频流B和参考视频流C。视频处理端可以将参考视频流D确定为目标视频流,参考视频流D对应的第三视频处理任务,作为目标视频流对应的第二视频处理任务。
S303,对待处理视频流和目标视频流进行拼接处理,获得拼接视频流。
在获得待处理视频流,以及目标视频流之后,视频处理端可以对待处理视频流和目标视频流进行拼接处理,获得拼接视频流。视频处理端在进行拼接处理时,可以采用不同的拼接策略进行不同的拼接处理。例如,同种类型拼接策略中,视频处理端可以基于设备的播放分辨率,分别对待处理视频流和目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流;又例如,异种类型拼接策略中,视频处理端也可以基于指定时长,分别将待处理视频流划分为各个待处理子视频流,以及将目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得拼接视频流。
视频处理端可以基于待处理视频流与目标视频流之间的匹配结果,确定待处理视频流和目标视频流之间的拼接策略。如果目标视频流对应的第二视频处理任务包含一个视频处理任务,该一个视频处理任务与第一视频处理任务相同,那么待处理视频流与目标视频流可以采用同种类型拼接策略进行拼接处理。
如果目标视频流对应的第二视频处理任务包含多个视频处理任务,多个视频处理任务中包含与第一视频处理任务相同的视频处理任务,那么可以对目标视频流进行解除拼接处理,该视频处理任务对应的视频流与待处理视频流可以采用同种类型拼接策略进行拼接处理。
如果目标视频流对应的第二视频处理任务包含一个视频处理任务,该一个视频处理任务与第一视频处理任务不相同,那么待处理视频流与目标视频流可以采用异种类型拼接策略进行拼接处理。
如果目标视频流对应的第二视频处理任务包含多个视频处理任务,多个视频处理任务中不包含与第一视频处理任务相同的视频处理任务,那么目标视频流与待处理视频流可以采用同种类型拼接策略进行拼接处理。
下面分别对本申请实施例中采用同种类型拼接策略和异种类型拼接策略进行拼接处理的过程,进行具体介绍。
同种类型拼接策略:
视频处理端采用同种类型拼接策略,对待处理视频流和目标视频流进行拼接处理,获得拼接视频流的过程可以是,视频处理端可以先分别确定待处理视频流的分辨率与目标视频流的分辨率之间的分辨率比值。基于分辨率比值,将播放分辨率划分为多个子分辨率。视频处理端可以基于多个子分辨率,对待处理视频流和目标视频流进行压缩处理。视频处理端可以对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
例如,请参考图4a,待处理视频流的分辨率与目标视频流的分辨率均为1080P,待处理视频流的分辨率与目标视频流的分辨率之间的分辨率比值为1:1,如果播放分辨率为1080P,那么将播放分辨率划分为540P和540P。将待处理视频流压缩为540P,将目标视频流压缩为540P,对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得1080P的拼接视频流。
又例如,请参考图4b,待处理视频流的分辨率分和目标视频流的分辨率分别为1080P和270P,分辨率比值为4:1,如果播放分辨率为1080P,那么按照4/5和1/5,将播放分辨率划分为864P和216P。将待处理视频流压缩为864P,将目标视频流压缩为216P,对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得1080P的拼接视频流。
又例如,请参考图4c,如果目标视频流是两个540P的视频流A和视频流B拼接而成的,待处理视频流和目标视频流均为1080P,那么分辨率比值为1:1,在压缩处理后,可以获得540P的待处理视频流,以及,540P的目标视频流,目标视频流中,包括270P的视频流A和视频流B。
作为一种实施例,请参考图4d,视频处理端可以先对待处理视频流和目标视频流进行解码处理,再对解码处理后的待处理视频流和目标视频流,分别按照多个子分辨率进行压缩处理,再对压缩处理后的待处理视频流和目标视频流,进行拼接处理,再对拼接处理后的待处理视频流和目标视频流,进行重编码处理,获得拼接视频流。
视频处理端可以利用视频处理端空闲的解码能力,对多路视频流进行后台解码,解码后的数据输送到VPSS模块进行缩放,并根据拼接路数和视频流分辨率进行缩放,预分配形成1080P大小的图像。申请虚拟的VO标准1080P内存块,将缩放后的YUV数据填充到内存块中,并对其进行编码,形成1路拼接后的标准1080P视频流。
作为一种实施例,如果视频处理端具有视频预览功能,在进行拼接处理之前,在对待处理视频流和目标视频流进行解码处理时,如果待处理视频流或目标视频流已经出现在预览画面中,说明待处理视频流或目标视频流已经解码完成,那么可以直接复用解码处理后的待处理视频流或目标视频流,不需要重新再次消耗视频处理端的解码能力。
作为一种实施例,视频处理端还可以根据待处理视频流和目标视频流分别包含的目标的数量之间的比值,按比例压缩待处理视频流和目标视频流。待处理视频流和目标视频流分别包含4个目标和1个目标,待处理视频流和目标视频流的原分辨率均为1080P,目标的数量之间的比值为4:1,那么按照4/5和1/5,分别压缩待处理视频流和目标视频流,获得864P的待处理视频流和216P的目标视频流。
作为一种实施例,拼接视频流可以根据包含的各个视频流各自包含的目标的数量,动态调整各个视频流各自所占分辨率。视频处理端可以以预设时长为周期,对拼接视频流进行目标识别处理,获得拼接视频流包含的多个视频流各自包含目标的目标数量。基于多个视频流各自包含目标的目标数量,将播放分辨率划分为多个子分辨率。基于多个子分辨率,重新对多个视频流进行压缩处理,并重新对压缩后的多个视频流进行拼接处理,更新拼接视频流。
在基于多个视频流各自包含目标的目标数量,将播放分辨率划分为多个子分辨率时,如果针对多个视频流中的一个视频流,确定当前周期获得的目标数量,大于历史周期获得的目标数量,那么基于当前周期获得的目标数量,以及历史周期获得的目标数量,将播放分辨率划分为多个子分辨率。
视频处理端可以根据目标的数量对各个视频流各自所占分辨率进行自适应调整,目标的数量多的视频流,所占分辨率增大,目标的数量小的视频流,所占分辨率缩小,但缩小范围不超过原始值的70%,防止区域过小导致智能分析精度降低。
例如,请参考图4e,拼接视频流包含视频流A和视频流B,视频流A和视频流B均为540P,在视频流A中的目标的数量增多时,或视频流A中的目标的数量与视频流B中的目标的数量之间的差值增加到指定阈值时,可以按照比例调整视频流A和视频流B各自所占分辨率,比例可以根据实际情况设置,比如根据目标数量之间的比例,将视频流A调整为810P,视频流B调整为270P等。
作为一种实施例,视频处理端可以实时监测当前视频处理性能,在视频处理性能足以再执行一个视频处理任务时,也可以对拼接视频流进行解除拼接处理,获得两个解除拼接视频流。基于两个解除拼接视频流各自对应的视频处理任务,分别对两个解除拼接视频流进行视频处理。
如果拼接视频流包含至少三个视频流,那么视频处理端可以确定至少三个视频流中,是否存在对应的视频处理任务相同的多个视频流。如果存在对应的视频处理任务相同的多个视频流,那么可以对拼接视频流进行解除拼接处理,获得第一解除拼接视频流和第二解除拼接视频流,第一解除拼接视频流包含对应的视频处理任务相同的多个视频流,第二解除拼接视频流包含至少三个视频流中,除了对应的视频处理任务相同的多个视频流以外的视频流。如果不存在对应的视频处理任务相同的多个视频流,那么可以基于至少三个视频流中任意一个或多个视频流,对拼接视频流进行解除拼接处理,获得两个解除拼接视频流。
作为一种实施例,视频处理端可以实时或定时监测自身解码能力,请参考图4f,为视频处理端根据自身解码能力对视频流进行解码的过程的一种流程示意图。
S401,视频处理端实时或定时监测自身解码能力;
S402,在进行解码处理之前,视频处理端可以先判断自身解码能力是否充足,如果确定视频处理端的解码能力充足,那么视频处理端可以执行S303,对待处理视频流和目标视频流进行拼接处理,获得拼接视频流。
S403,如果确定视频处理端的解码能力不足,则需要对视频处理端进行自适应降低预览解码的性能消耗,出让部分解码能力,确保视频处理端优先针对待处理视频流和目标视频流进行解码处理。自适应降低预览解码的性能消耗的方法可以是,视频处理端先轮询预览窗口,将解码从主码流降低成辅码流,出让解码能力。
S404,如果在降低为辅码流之后,视频处理端的全预览通道均为辅码流时,视频处理端的解码能力仍然不足,那么视频处理端可以再将正常解码处理过程,切换为指解码视频流的I帧,和50%的P帧,进一步降低解码处理过程的性能消耗,在保证预览画面不严重卡顿的情况下,出让解码能力,实现针对待处理视频流和目标视频流的解码处理。
S405,如果视频处理端的解码能力仍然不足,那么视频处理端还可以切换预览画面,从多分割到小分割画面,继续出让解码能力。
异种类型拼接策略:
视频处理端采用异种类型拼接策略,对待处理视频流和目标视频流进行拼接处理,获得拼接视频流的过程可以是,视频处理端可以将待处理视频流和目标视频流可以按照指定时长进行循环拼接,例如,拼接视频流的第一个5秒内,拼接5秒的待处理视频流,拼接视频流的第二个5秒内,拼接5秒的目标视频流,拼接视频流的第三个5秒内,拼接5秒的待处理视频流,拼接视频流的第四个5秒内,拼接5秒的目标视频流等。
请参考图4g,为异种类型拼接策略的一种流程示意图。
S4001,视频处理端可以判断需要执行的视频处理任务的数量。
视频处理端确定目标视频流是否是由多个视频流拼接而成的,获取目标视频流对应的第二视频处理任务包含的视频处理任务的数量,根据第二视频处理任务包含的视频处理任务的数量与第一视频处理任务,确定需要执行的视频处理任务的数量。
S4002,视频处理端确定需要执行的视频处理任务的数量是否大于2。
S4003,如果不大于2,那么可以针对待处理视频流和目标视频流,按照指定时长进行循环拼接。
S4004,如果大于2,那么可以先针对每两个视频流按照第一指定时长进行拼接,再将每两个拼接后的视频流按照第二指定时长进行循环拼接。
S4005,视频处理端可以对拼接视频流进行自适应调整,将包含目标较多的视频流的时长增加,将包含目标较少的视频流的时长减少,使得针对包含目标较多的视频流的视频处理任务更加准确,精度更高。
S304,基于第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。
在获得拼接视频流之后,视频处理端可以基于第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。如果拼接视频流是基于指定时长拼接获得的,那么针对拼接视频流中的各个待处理子视频流,执行第一视频处理任务,针对拼接视频流中的各个目标子视频流,执行第二视频流的视频处理任务。
如果拼接视频流是按照子分辨率拼接获得的,那么视频处理端可以针对拼接视频流中的待处理视频执行第一视频处理任务,针对拼接视频流中的目标视频执行第二视频处理任务。
下面对本申请实施例提供的视频处理方法进行示例介绍,请参考图5。
S501,接收待处理视频流,并确定待处理视频流的第一视频处理任务。
S502,实时或定时获取视频处理性能,判断当前的视频处理性能是否足以执行第一视频处理任务。
S503,如果足以执行第一视频处理任务,那么对待处理视频流执行第一视频处理任务。
S504,如果不足以执行第一视频处理任务,那么获取已经接收的目标视频流。
S505,如果目标视频流对应的第二视频处理任务包含一个视频处理任务,且第一视频处理任务与该一个视频处理任务相同,那么基于设备的播放分辨率,分别对待处理视频流和目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
S506,如果目标视频流对应的第二视频处理任务包含多个视频处理任务,且多个视频处理任务与第一视频处理任务均不相同,那么基于指定时长,分别将待处理视频流划分为各个待处理子视频流,以及将目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得拼接视频流。
S507,基于第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。
本申请实施例通过对视频处理端空闲的解码能力进行利用,在视频处理端的视频处理能力不足的情况下实现多路视频流解码、缩放、编码,形成一路混合拼接视频流流,从而实现多路视频流同时进行视频处理的效果,从而提升了视频处理端的视频处理能力。同时,视频处理端在解码过程中进行自适应调整,进一步增加了视频处理端的视频处理能力。同时,根据视频处理后的结果,可以对多路视频流的占用分辨率进行动态调整,提升了拼接后,视频处理的有效性和精度。此外,根据优先级进行拼接,使得可能多的同种类型的视频处理任务对应的视频流进行拼接,进一步提升视频处理的精度和准确性。最后,通过视频处理能力的实时监测机制,在视频处理端的视频处理能力冗余的情况下,拼接视频流可以进行解除拼接处理或进行调整,充分发挥了视频处理端的视频处理性能,大大提升了视频处理端的视频处理能力和精度。
基于同一发明构思,本申请实施例提供一种视频处理装置,该装置相当于前文论述的视频处理端,能够实现前述的视频处理方法对应的功能。请参考图6,该装置包括接收模块601和处理模块602,其中:
接收模块601:用于接收待处理视频流,并确定待处理视频流的第一视频处理任务;
处理模块602:用于获取设备的视频处理性能,若视频处理性能不足以执行第一视频处理任务,则基于第一视频处理任务,确定已经接收的目标视频流,以及目标视频流的第二视频处理任务;
处理模块602还用于:对待处理视频流和目标视频流进行拼接处理,获得拼接视频流;
处理模块602还用于:基于第一视频处理任务和第二视频处理任务,对拼接视频流进行视频处理。
在一种可能的实施例中,处理模块602具体用于:
获取已经接收的各个参考视频流,以及各个参考视频各自对应的第三视频处理任务;
分别匹配各个参考视频流与待处理视频流,并基于获得的各个匹配结果,确定各个参考视频流各自对应的优先级;
从各个参考视频流中,选取匹配结果对应的优先级最高的参考视频流,作为目标视频流,获得目标视频流对应的第二视频处理任务。
在一种可能的实施例中,处理模块602具体用于:
针对各个参考视频流,分别执行以下操作:
若参考视频流对应的第三视频处理任务包含一个视频处理任务,则确定第一视频处理任务与一个视频处理任务是否相同;
视频处理任务相同时,确定参考视频流的分辨率,与待处理视频流的分辨率是否相同;
分辨率相同时,将参考视频流对应的优先级,确定为第一优先级;
分辨率不相同时,将参考视频流对应的优先级,确定为第二优先级,其中,第一优先级高于第二优先级。
在一种可能的实施例中,处理模块602具体用于:
若第三视频处理任务包含多个视频处理任务,则确定多个视频处理任务中,是否包含与第一视频处理任务相同的视频处理任务;
包含与第一视频处理任务相同的视频处理任务时,将参考视频流对应的优先级,确定为第三优先级,其中,第三优先级低于第一优先级和第二优先级;
不包含与第一视频处理任务相同的视频处理任务时,将参考视频流对应的优先级,确定为第四优先级,其中,第四优先级低于第一优先级、第二优先级和第三优先级。
在一种可能的实施例中,处理模块602具体用于:
基于设备的播放分辨率,分别对待处理视频流和目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流;或,
基于指定时长,分别将待处理视频流划分为各个待处理子视频流,以及将目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得拼接视频流。
在一种可能的实施例中,处理模块602具体用于:
分别确定待处理视频流的分辨率与目标视频流的分辨率之间的分辨率比值;
基于分辨率比值,将播放分辨率划分为多个子分辨率;
基于多个子分辨率,对待处理视频流和目标视频流进行压缩处理;
对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
在一种可能的实施例中,处理模块602还用于:
若拼接视频流是基于指定时长拼接获得的,则针对拼接视频流中的各个待处理子视频流,执行第一视频处理任务,针对拼接视频流中的各个目标子视频流,执行第二视频流的视频处理任务。
在一种可能的实施例中,处理模块602还用于:
在对待处理视频流和目标视频流进行拼接处理,获得拼接视频流之后,以预设时长为周期,对拼接视频流进行目标识别处理,获得拼接视频流包含的多个视频流各自包含目标的目标数量;
基于多个视频流各自包含目标的目标数量,将播放分辨率划分为多个子分辨率;
基于多个子分辨率,重新对多个视频流进行压缩处理,并重新对压缩后的多个视频流进行拼接处理,更新拼接视频流。
在一种可能的实施例中,处理模块602具体用于:
若针对多个视频流中的一个视频流,确定当前周期获得的目标数量,大于历史周期获得的目标数量,则基于当前周期获得的目标数量,以及历史周期获得的目标数量,将播放分辨率划分为多个子分辨率。
在一种可能的实施例中,处理模块602还用于:
在对待处理视频流和目标视频流进行拼接处理,获得拼接视频流之后,若视频处理性能足以再执行一个视频处理任务,则对拼接视频流进行解除拼接处理,获得两个解除拼接视频流;
基于两个解除拼接视频流各自对应的视频处理任务,分别对两个解除拼接视频流进行视频处理。
在一种可能的实施例中,若视频处理性能足以再执行一个视频处理任务,则处理模块602具体用于:
若拼接视频流包含至少三个视频流,则确定至少三个视频流中,是否存在对应的视频处理任务相同的多个视频流;
存在对应的视频处理任务相同的多个视频流时,对拼接视频流进行解除拼接处理,获得第一解除拼接视频流和第二解除拼接视频流,其中,第一解除拼接视频流包含多个视频流,第二解除拼接视频流包含至少三个视频流中,除了多个视频流以外的视频流。
在一种可能的实施例中,处理模块602还用于:
在获取设备的视频处理性能之后,若视频处理性能足以执行第一视频处理任务,则获取已经接收的目标视频流;
若目标视频流包含多个视频流,则确定目标视频流包含的多个视频流中,是否存在对应的视频处理任务与第一视频处理任务相同的视频流;
若存在,则对目标视频流进行解除拼接处理,获得第三解除拼接视频流和第四解除拼接视频流,其中,第三解除拼接视频流包含对应的视频处理任务与第一视频处理任务相同的视频流,第四解除拼接视频流包含对应的视频处理任务与第一视频处理任务不同的视频流;
对待处理视频流与第三解除拼接视频流进行拼接处理,获得拼接视频流;
基于第一视频处理任务,对拼接视频流进行视频处理,并基于第四解除拼接视频流对应的视频处理任务,对第四解除拼接视频流进行视频处理。
基于同一发明构思,本申请实施例提供一种计算机设备,下面对该计算机设备700进行介绍。
请参照图7,上述视频处理装置可以运行在计算机设备700上,数据存储程序的当前版本和历史版本以及数据存储程序对应的应用软件可以安装在计算机设备700上,该计算机设备700包括显示单元740、处理器780以及存储器720,其中,显示单元740包括显示面板741,用于显示由用户交互操作界面等。
在一种可能的实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)或有机发光二极管OLED(Organic Light-Emitting Diode)等形式来配置显示面板741。
处理器780用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器780读取数据存储程序或文件等,从而在该计算机设备700上运行数据存储程序,在显示单元740上显示对应的界面。处理器780可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器720一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器720用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器720中,处理器780执行存储器720中的程序指令,实现前文图论述的任意的一种视频处理方法。
上述显示单元740用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备700的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元740可以包括显示面板741。显示面板741例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板741上或在显示面板741的操作),并根据预先设定的程式驱动相应的连接装置。
在一种可能的实施例中,显示面板741可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。
其中,显示面板741可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元740,计算机设备700还可以包括输入单元730,输入单元730可以包括图像输入设备731和其他输入设备732,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
除以上之外,计算机设备700还可以包括用于给其他模块供电的电源790、音频电路760、近场通信模块770和RF电路710。计算机设备700还可以包括一个或多个传感器750,例如加速度传感器、光传感器、压力传感器等。音频电路760具体包括扬声器761和麦克风762等,例如计算机设备700可以通过麦克风762采集用户的声音,进行相应的操作等。
作为一种实施例,处理器780的数量可以是一个或多个,处理器780和存储器720可以是耦合设置,也可以是相对独立设置。
作为一种实施例,图7中的处理器780可以用于实现如图6中的接收模块601和处理模块602的功能。
作为一种实施例,图7中的处理器780可以用于实现前文论述的客户端对应的功能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种视频处理方法,其特征在于,包括:
接收待处理视频流,并确定所述待处理视频流的第一视频处理任务;
获取设备的视频处理性能,若所述视频处理性能不足以执行所述第一视频处理任务,则基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务;
对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流;
基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理;
其中,所述基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务,包括:
获取已经接收的各个参考视频流,以及所述各个参考视频各自对应的第三视频处理任务;
基于所述第一视频处理任务和获得的各第三视频处理任务,分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级;
从各个参考视频流中,选取匹配结果对应的优先级最高的参考视频流,作为所述目标视频流,获得所述目标视频流对应的第二视频处理任务。
2.根据权利要求1所述的方法,其特征在于,分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级,包括:
针对所述各个参考视频流,分别执行以下操作:
若参考视频流对应的第三视频处理任务包含一个视频处理任务,则确定所述第一视频处理任务与所述一个视频处理任务是否相同;
视频处理任务相同时,确定所述参考视频流的分辨率,与所述待处理视频流的分辨率是否相同;
分辨率相同时,将所述参考视频流对应的优先级,确定为第一优先级;
分辨率不相同时,将所述参考视频流对应的优先级,确定为第二优先级,其中,所述第一优先级高于所述第二优先级。
3.根据权利要求2所述的方法,其特征在于,分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级,包括:
针对所述各个参考视频流,分别执行以下操作:
若参考视频流对应的第三视频处理任务包含多个视频处理任务,则确定所述多个视频处理任务中,是否包含与所述第一视频处理任务相同的视频处理任务;
包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第三优先级,其中,所述第三优先级低于所述第一优先级和所述第二优先级;
不包含与所述第一视频处理任务相同的视频处理任务时,将所述参考视频流对应的优先级,确定为第四优先级,其中,所述第四优先级低于所述第一优先级、所述第二优先级和所述第三优先级。
4.根据权利要求1~3任一项所述的方法,其特征在于,对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流,包括:
基于所述设备的播放分辨率,分别对所述待处理视频流和所述目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得所述拼接视频流;或,
基于指定时长,分别将所述待处理视频流划分为各个待处理子视频流,以及将所述目标视频流划分为各个目标子视频流,并依次间隔拼接待处理子视频流和目标子视频流,获得所述拼接视频流。
5.根据权利要求4所述的方法,其特征在于,基于所述设备的播放分辨率,分别对所述待处理视频流和所述目标视频流进行压缩处理,并对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得所述拼接视频流,包括:
分别确定所述待处理视频流的分辨率与所述目标视频流的分辨率之间的分辨率比值;
基于所述分辨率比值,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,对所述待处理视频流和所述目标视频流进行压缩处理;
对压缩后的待处理视频流和压缩后的目标视频流进行拼接处理,获得拼接视频流。
6.根据权利要求4所述的方法,其特征在于,基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理,包括:
若所述拼接视频流是基于指定时长拼接获得的,则针对所述拼接视频流中的所述各个待处理子视频流,执行所述第一视频处理任务,针对所述拼接视频流中的所述各个目标子视频流,执行所述第二视频处理任务。
7.根据权利要求4所述的方法,其特征在于,在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,还包括:
以预设时长为周期,对所述拼接视频流进行目标识别处理,获得所述拼接视频流包含的多个视频流各自包含目标的目标数量;
基于所述多个视频流各自包含目标的目标数量,将所述播放分辨率划分为多个子分辨率;
基于所述多个子分辨率,重新对所述多个视频流进行压缩处理,并重新对压缩后的所述多个视频流进行拼接处理,更新所述拼接视频流。
8.根据权利要求7所述的方法,其特征在于,基于所述多个视频流各自包含目标的目标数量,将所述播放分辨率划分为多个子分辨率,包括:
若针对所述多个视频流中的一个视频流,确定当前周期获得的目标数量,大于历史周期获得的目标数量,则基于当前周期获得的目标数量,以及历史周期获得的目标数量,将所述播放分辨率划分为多个子分辨率。
9.根据权利要求1~3任一项所述的方法,其特征在于,在对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流之后,还包括:
若所述视频处理性能足以再执行一个视频处理任务,则对所述拼接视频流进行解除拼接处理,获得两个解除拼接视频流;
基于所述两个解除拼接视频流各自对应的视频处理任务,分别对所述两个解除拼接视频流进行视频处理。
10.根据权利要求9所述的方法,其特征在于,若所述视频处理性能足以再执行一个视频处理任务,则对所述拼接视频流进行解除拼接处理,获得两个解除拼接视频流,包括:
若所述拼接视频流包含至少三个视频流,则确定所述至少三个视频流中,是否存在对应的视频处理任务相同的多个视频流;
存在对应的视频处理任务相同的多个视频流时,对所述拼接视频流进行解除拼接处理,获得第一解除拼接视频流和第二解除拼接视频流,其中,所述第一解除拼接视频流包含所述多个视频流,所述第二解除拼接视频流包含所述至少三个视频流中,除了所述多个视频流以外的视频流。
11.根据权利要求1~3任一项所述的方法,其特征在于,在获取设备的视频处理性能之后,还包括:
若所述视频处理性能足以执行所述第一视频处理任务,则获取已经接收的目标视频流;
若所述目标视频流包含多个视频流,则确定所述目标视频流包含的多个视频流中,是否存在对应的视频处理任务与所述第一视频处理任务相同的视频流;
若存在,则对所述目标视频流进行解除拼接处理,获得第三解除拼接视频流和第四解除拼接视频流,其中,所述第三解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务相同的视频流,所述第四解除拼接视频流包含对应的视频处理任务与所述第一视频处理任务不同的视频流;
对所述待处理视频流与所述第三解除拼接视频流进行拼接处理,获得拼接视频流;
基于所述第一视频处理任务,对所述拼接视频流进行视频处理,并基于所述第四解除拼接视频流对应的视频处理任务,对所述第四解除拼接视频流进行视频处理。
12.一种视频处理装置,其特征在于,包括:
接收模块:用于接收待处理视频流,并确定所述待处理视频流的第一视频处理任务;
处理模块:用于获取设备的视频处理性能,若所述视频处理性能不足以执行所述第一视频处理任务,则基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务;
所述处理模块还用于:对所述待处理视频流和所述目标视频流进行拼接处理,获得拼接视频流;
所述处理模块还用于:基于所述第一视频处理任务和所述第二视频处理任务,对所述拼接视频流进行视频处理;
其中,在所述基于所述第一视频处理任务,确定已经接收的目标视频流,以及所述目标视频流的第二视频处理任务时,所述处理模块具体用于:
获取已经接收的各个参考视频流,以及所述各个参考视频各自对应的第三视频处理任务;
基于所述第一视频处理任务和获得的各第三视频处理任务,分别匹配所述各个参考视频流与所述待处理视频流,并基于获得的各个匹配结果,确定所述各个参考视频流各自对应的优先级;
从各个参考视频流中,选取匹配结果对应的优先级最高的参考视频流,作为所述目标视频流,获得所述目标视频流对应的第二视频处理任务。
13.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1~11中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~11中任一项所述的方法。
CN202111484736.7A 2021-12-07 2021-12-07 视频处理方法、装置、计算机设备及存储介质 Active CN114222162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111484736.7A CN114222162B (zh) 2021-12-07 2021-12-07 视频处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111484736.7A CN114222162B (zh) 2021-12-07 2021-12-07 视频处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114222162A CN114222162A (zh) 2022-03-22
CN114222162B true CN114222162B (zh) 2024-04-12

Family

ID=80700062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111484736.7A Active CN114222162B (zh) 2021-12-07 2021-12-07 视频处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114222162B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686307A (zh) * 2013-12-24 2014-03-26 北京航天测控技术有限公司 一种基于数字信号处理器的多画面拼接显示设备
CN107948586A (zh) * 2017-11-14 2018-04-20 山东大学 基于视频拼接的跨区域运动目标检测方法和装置
CN110446062A (zh) * 2019-07-18 2019-11-12 平安科技(深圳)有限公司 大数据文件传输的接收处理方法、电子装置及存储介质
CN110662119A (zh) * 2018-06-29 2020-01-07 华为技术有限公司 一种视频拼接方法及装置
CN111988561A (zh) * 2020-07-13 2020-11-24 浙江大华技术股份有限公司 视频分析的自适应调整方法、装置、计算机设备和介质
CN113038222A (zh) * 2021-03-08 2021-06-25 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN113163214A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种视频处理方法及其装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259175B2 (en) * 2010-02-01 2012-09-04 International Business Machines Corporation Optimizing video stream processing
US20120213272A1 (en) * 2011-02-22 2012-08-23 Compal Electronics, Inc. Method and system for adjusting video and audio quality of video stream
FR3004565B1 (fr) * 2013-04-12 2016-11-11 Kolor Fusion de plusieurs flux video

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686307A (zh) * 2013-12-24 2014-03-26 北京航天测控技术有限公司 一种基于数字信号处理器的多画面拼接显示设备
CN107948586A (zh) * 2017-11-14 2018-04-20 山东大学 基于视频拼接的跨区域运动目标检测方法和装置
CN110662119A (zh) * 2018-06-29 2020-01-07 华为技术有限公司 一种视频拼接方法及装置
CN110446062A (zh) * 2019-07-18 2019-11-12 平安科技(深圳)有限公司 大数据文件传输的接收处理方法、电子装置及存储介质
CN113163214A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种视频处理方法及其装置
CN111988561A (zh) * 2020-07-13 2020-11-24 浙江大华技术股份有限公司 视频分析的自适应调整方法、装置、计算机设备和介质
CN113038222A (zh) * 2021-03-08 2021-06-25 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
压缩域视频拼接方法研究;徐涛涛;宋建新;;电视技术;20171231(第Z4期);全文 *

Also Published As

Publication number Publication date
CN114222162A (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
US9549120B2 (en) Adaptive data path for computer-vision applications
US9654727B2 (en) Techniques to overcome communication lag between terminals performing video mirroring and annotation operations
CN112383777B (zh) 视频编码方法、装置、电子设备及存储介质
US20060056509A1 (en) Image display apparatus, image display control method, program, and computer-readable medium
US11694316B2 (en) Method and apparatus for determining experience quality of VR multimedia
EP3745734A1 (en) Multi-media file processing method and device, storage medium and electronic device
US20180103234A1 (en) Device and method of displaying images
CN110248245B (zh) 一种视频定位方法、装置、移动终端及存储介质
JP2021516919A (ja) ビデオ符号化方法並びにその装置、記憶媒体、機器、及びコンピュータプログラム
JP6505327B2 (ja) ビデオデータを取得するための方法、装置、及びシステム並びにコンピュータ可読記憶媒体
CN116301363B (zh) 隔空手势识别方法、电子设备及存储介质
CN111405312A (zh) 直播推流方法、装置、终端、服务器及存储介质
US11412311B2 (en) Methods and systems for saving data while streaming video
CN114222162B (zh) 视频处理方法、装置、计算机设备及存储介质
US10051281B2 (en) Video coding system with efficient processing of zooming transitions in video
CN110604921B (zh) 一种显示内容切换方法、服务器和可存储介质
US20220294971A1 (en) Collaborative object detection
CN111698262B (zh) 带宽确定方法、装置、终端及存储介质
CN113038179A (zh) 视频编码方法、视频解码方法、装置及电子设备
CN115474037B (zh) 视频的质量检测方法、装置、电子设备及可读存储介质
JP2021013145A (ja) 動画像伝送装置、動画像伝送方法
CN114745597B (zh) 视频处理方法和装置、电子设备和计算机可读存储介质
CN117729355A (zh) 一种视频转码方法、装置、电子设备和存储介质
CN117615175A (zh) 视频播放方法、装置、电子设备和计算机可读存储介质
CN117931107A (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