视频处理方法、装置、系统、分析服务器及转码服务器转让专利

申请号 : CN201810958862.3

文献号 : CN110858829A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张伟翁力帆

申请人 : 杭州海康威视数字技术股份有限公司

摘要 :

本发明实施例提供了视频处理方法、装置、系统、分析服务器及转码服务器,该视频处理方法包括:获取待分析视频数据,待分析视频数据的当前码流格式为第一码流格式;判断第一码流格式是否包含在预设码流格式中,预设码流格式为分析服务器支持的码流格式;若第一码流格式不包含在预设码流格式中,向转码服务器发送转码指令,以使转码服务器按照转码指令将待分析视频数据的码流格式转码为第二码流格式;获取码流格式为第二码流格式的待分析视频数据,并进行解码及后续分析。在本发明实施例的视频处理方法中,通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。

权利要求 :

1.一种视频处理方法,其特征在于,应用于分析服务器,所述方法包括:获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,所述码流格式包括编码格式及封装格式;

判断所述第一码流格式是否包含在预设码流格式中,其中,所述预设码流格式为所述分析服务器支持的码流格式;

若所述第一码流格式不包含在所述预设码流格式中,向转码服务器发送转码指令,以使所述转码服务器按照所述转码指令将所述待分析视频数据的码流格式转码为第二码流格式,其中,所述第二码流格式包含在所述预设码流格式中,所述转码指令包括所述待分析视频数据的标识;

获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。

2.根据权利要求1所述的方法,其特征在于,在所述向转码服务器发送转码指令之后,所述方法还包括:接收由所述转码服务器返回的针对所述转码指令的任务标识;

所述获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析,包括:通过所述任务标识,查询所述转码服务器是否完成对所述待分析视频数据的转码;

若所述转码服务器完成对所述待分析视频数据的转码,获取转码后的待分析视频数据的取流地址;

按照所述取流地址获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。

3.根据权利要求1所述的方法,其特征在于,所述转码服务器包括多个转码节点,所述方法还包括:获取各所述转码节点的运行参数;

按照所述运行参数,管理各所述转码节点的运行状态。

4.一种视频处理方法,其特征在于,应用于转码服务器,所述方法包括:接收由分析服务器发送的转码指令,其中,所述转码指令包括待分析视频数据的标识;

按照所述转码指令中所述待分析视频数据的标识,获取所述待分析视频数据;

将所述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,所述第二码流格式为所述分析服务器支持的码流格式;

发送码流格式为所述第二码流格式的待分析视频数据。

5.根据权利要求4所述的方法,其特征在于,在所述接收由分析服务器发送的转码指令之后,所述方法还包括:生成针对所述转码指令的任务标识,向分析服务器发送所述任务标识。

6.根据权利要求4所述的方法,其特征在于,所述分析服务器周期性向所述转码服务器发送心跳包,所述方法还包括:若在预设时长内未接收到所述心跳包,停止对所述待分析视频数据的转码。

7.一种视频处理装置,其特征在于,位于分析服务器,所述装置包括:第一数据获取模块,用于获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,所述码流格式包括编码格式及封装格式;

格式判断模块,用于判断所述第一码流格式是否包含在预设码流格式中,其中,所述预设码流格式为所述分析服务器支持的码流格式;

转码指令发送模块,用于若所述第一码流格式不包含在所述预设码流格式中,向转码服务器发送转码指令,以使所述转码服务器按照所述转码指令将所述待分析视频数据的码流格式转码为第二码流格式,其中,所述第二码流格式包含在所述预设码流格式中,所述转码指令包括所述待分析视频数据的标识;

第二数据获取模块,用于获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。

8.一种视频处理装置,其特征在于,位于转码服务器,所述装置包括:转码指令接收模块,用于接收由分析服务器发送的转码指令,其中,所述转码指令包括待分析视频数据的标识;

第三数据获取模块,用于按照所述转码指令中所述待分析视频数据的标识,获取所述待分析视频数据;

转码模块,用于将所述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,所述第二码流格式为所述分析服务器支持的码流格式;

视频数据发送模块,用于发送码流格式为所述第二码流格式的待分析视频数据。

9.一种分析服务器,其特征在于,包括处理器和存储器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。

10.一种转码服务器,其特征在于,包括处理器和存储器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求4-6任一所述的方法步骤。

11.一种视频处理系统,其特征在于,包括如权利要求9所述的任一分析服务器及如权利要求10所述的任一转码服务器。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求4-6任一所述的方法步骤。

说明书 :

视频处理方法、装置、系统、分析服务器及转码服务器

技术领域

[0001] 本发明涉及图像处理技术领域,特别是涉及视频处理方法、装置、系统、分析服务器及转码服务器。

背景技术

[0002] 随着计算机视觉技术的发展,图像的自动分类及识别成为可能。通过计算机视觉技术对视频数据进行分析,能够节约人工成本,降低工作人员的工作强度,已广泛应用于各个领域。
[0003] 在视频智能分析应用中,一般都是在现有的监控平台系统基础上,通过分析服务器,例如视频云结构化服务器等对监控平台的前端摄像机采集的视频数据进行视频分析和应用。
[0004] 但是发明人在研究中发现,分析服务器支持的码流格式单一,而不同前端摄像机输出的视频数据的编码格式及封装格式等码流格式不同,这样会导致分析服务器在碰到不支持的码流格式时无法完成视频数据处理,基于分析服务器视频分析应用范围受限制。

发明内容

[0005] 本发明实施例的目的在于提供一种视频处理方法、装置、系统、分析服务器及转码服务器,以实现增加视频分析的应用范围。具体技术方案如下:
[0006] 第一方面,本发明实施例提供了一种视频处理方法,应用于分析服务器,所述方法包括:
[0007] 获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,所述码流格式包括编码格式及封装格式;
[0008] 判断所述第一码流格式是否包含在预设码流格式中,其中,所述预设码流格式为所述分析服务器支持的码流格式;
[0009] 若所述第一码流格式不包含在所述预设码流格式中,向转码服务器发送转码指令,以使所述转码服务器按照所述转码指令将所述待分析视频数据的码流格式转码为第二码流格式,其中,所述第二码流格式包含在所述预设码流格式中,所述转码指令包括所述待分析视频数据的标识;
[0010] 获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0011] 可选的,在所述向转码服务器发送转码指令之后,所述方法还包括:
[0012] 接收由所述转码服务器返回的针对所述转码指令的任务标识;
[0013] 所述获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析,包括:
[0014] 通过所述任务标识,查询所述转码服务器是否完成对所述待分析视频数据的转码;
[0015] 若所述转码服务器完成对所述待分析视频数据的转码,获取转码后的待分析视频数据的取流地址;
[0016] 按照所述取流地址获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0017] 可选的,所述转码服务器包括多个转码节点,所述方法还包括:
[0018] 获取各所述转码节点的运行参数;
[0019] 按照所述运行参数,管理各所述转码节点的运行状态。
[0020] 第二方面,本发明实施例提供了一种视频处理方法,应用于转码服务器,所述方法包括:
[0021] 接收由分析服务器发送的转码指令,其中,所述转码指令包括待分析视频数据的标识;
[0022] 按照所述转码指令中所述待分析视频数据的标识,获取所述待分析视频数据;
[0023] 将所述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,所述第二码流格式为所述分析服务器支持的码流格式;
[0024] 发送码流格式为所述第二码流格式的待分析视频数据。
[0025] 可选的,在所述接收由分析服务器发送的转码指令之后,所述方法还包括:
[0026] 生成针对所述转码指令的任务标识,向分析服务器发送所述任务标识。
[0027] 可选的,所述分析服务器周期性向所述转码服务器发送心跳包,所述方法还包括:
[0028] 若在预设时长内未接收到所述心跳包,停止对所述待分析视频数据的转码。
[0029] 第三方面,本发明实施例提供了一种视频处理装置,位于分析服务器,所述装置包括:
[0030] 第一数据获取模块,用于获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,所述码流格式包括编码格式及封装格式;
[0031] 格式判断模块,用于判断所述第一码流格式是否包含在预设码流格式中,其中,所述预设码流格式为所述分析服务器支持的码流格式;
[0032] 转码指令发送模块,用于若所述第一码流格式不包含在所述预设码流格式中,向转码服务器发送转码指令,以使所述转码服务器按照所述转码指令将所述待分析视频数据的码流格式转码为第二码流格式,其中,所述第二码流格式包含在所述预设码流格式中,所述转码指令包括所述待分析视频数据的标识;
[0033] 第二数据获取模块,用于获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0034] 可选的,本发明实施例的位于分析服务器的视频处理装置还包括:
[0035] 标识接收模块,用于接收由所述转码服务器返回的针对所述转码指令的任务标识;
[0036] 所述第二数据获取模块,包括:
[0037] 转码查询子模块,用于通过所述任务标识,查询所述转码服务器是否完成对所述待分析视频数据的转码;
[0038] 地址获取子模块,用于若所述转码服务器完成对所述待分析视频数据的转码,获取转码后的待分析视频数据的取流地址;
[0039] 数据处理子模块,用于按照所述取流地址获取码流格式为所述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0040] 可选的,所述转码服务器包括多个转码节点,所述装置还包括:
[0041] 运行参数获取模块,用于获取各所述转码节点的运行参数;
[0042] 运行状态管理模块,用于按照所述运行参数,管理各所述转码节点的运行状态。
[0043] 第四方面,本发明实施例提供了一种视频处理装置,位于转码服务器,所述装置包括:
[0044] 转码指令接收模块,用于接收由分析服务器发送的转码指令,其中,所述转码指令包括待分析视频数据的标识;
[0045] 第三数据获取模块,用于按照所述转码指令中所述待分析视频数据的标识,获取所述待分析视频数据;
[0046] 转码模块,用于将所述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,所述第二码流格式为所述分析服务器支持的码流格式;
[0047] 视频数据发送模块,用于发送码流格式为所述第二码流格式的待分析视频数据。
[0048] 可选的,本发明实施例的位于转码服务器的视频处理装置还包括:
[0049] 任务标识发送模块,用于生成针对所述转码指令的任务标识,向分析服务器发送所述任务标识。
[0050] 可选的,所述分析服务器周期性向所述转码服务器发送心跳包,所述装置还包括:
[0051] 转码停止模块,用于若在预设时长内未接收到所述心跳包,停止对所述待分析视频数据的转码。
[0052] 第五方面,本发明实施例提供了一种分析服务器,包括处理器和存储器;
[0053] 所述存储器,用于存放计算机程序;
[0054] 所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面任一所述的视频处理方法。
[0055] 第六方面,本发明实施例提供了一种转码服务器,包括处理器和存储器;
[0056] 所述存储器,用于存放计算机程序;
[0057] 所述处理器,用于执行所述存储器上所存放的程序时,实现上述第二方面任一所述的视频处理方法。
[0058] 第七方面,本发明实施例提供了一种视频处理系统,包括上述第五方面任一所述的分析服务器及上述第六方面任一所述的转码服务器。
[0059] 第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的视频处理方法。
[0060] 第九方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面任一所述的视频处理方法。
[0061] 本发明实施例提供的视频处理方法、装置、系统、分析服务器及转码服务器,获取待分析视频数据,其中,待分析视频数据的当前码流格式为第一码流格式,码流格式包括编码格式及封装格式;判断第一码流格式是否包含在预设码流格式中,预设码流格式为分析服务器支持的码流格式;若第一码流格式不包含在预设码流格式中,向转码服务器发送转码指令,以使转码服务器按照转码指令将待分析视频数据的码流格式转码为第二码流格式,其中,第二码流格式包含在预设码流格式中,转码指令包括待分析视频数据的标识;获取码流格式为第二码流格式的待分析视频数据,并进行解码及后续分析。通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

[0062] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0063] 图1为本发明实施例的应用于分析服务器的视频处理方法的一种流程示意图;
[0064] 图2为本发明实施例的应用于转码服务器的视频处理方法的一种流程示意图;
[0065] 图3为本发明实施例的位于分析服务器的视频处理装置的一种示意图;
[0066] 图4为本发明实施例的位于转码服务器的视频处理装置的一种示意图;
[0067] 图5为本发明实施例的分析服务器的一种示意图;
[0068] 图6为本发明实施例的编码服务器的一种示意图;
[0069] 图7为本发明实施例的图像处理系统的一种示意图;
[0070] 图8为本发明实施例的图像处理系统的应用场景一种示意图;
[0071] 图9为本发明实施例的图像处理系统的工作流程的第一种示意图;
[0072] 图10为本发明实施例的图像处理系统的另一种示意图;
[0073] 图11为本发明实施例的图像处理系统的工作流程的第二种示意图;
[0074] 图12为本发明实施例的图像处理系统的工作流程的第三种示意图。

具体实施方式

[0075] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0076] 相关视频处理方法中,分析服务器,例如视频云结构化服务器,支持的码流格式单一,限制了分析服务器的使用范围,如何在现有的监控平台基础上增加分析服务器的适用范围,是亟待解决的问题
[0077] 有鉴于此,本发明实施例提供了一种视频处理方法,应用于分析服务器,参见图1,该方法包括:
[0078] S101,获取待分析视频数据,其中,上述待分析视频数据的当前码流格式为第一码流格式,上述码流格式包括编码格式及封装格式。
[0079] 本发明实施例中的应用于分析服务器的视频处理方法可以通过分析系统实现,分析系统为任意能够实现本发明实施例的应用于分析服务器的视频处理方法的系统。例如:
[0080] 分析系统可以为一种设备,包括:处理器、存储器、通信接口和总线;处理器、存储器和通信接口通过总线连接并完成相互间的通信;存储器存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明实施例的应用于分析服务器的视频处理方法。
[0081] 可选的,分析系统可以为分析服务器,具体的,为视频云结构化服务器。
[0082] 分析系统还可以为一种应用程序,用于在运行时执行本发明实施例的应用于分析服务器的视频处理方法。
[0083] 分析系统还可以为一种存储介质,用于存储可执行代码,可执行代码用于执行本发明实施例的应用于分析服务器的视频处理方法。
[0084] 分析系统获取待分析视频数据,例如,分析系统从监控平台中获取待分析视频数据。分析系统选择一路视频数据的码流进行分析,并向监控平台下发取流命令,监控平台从数据库或前端摄像机中获取视频数据的码流,并发送给分析服务器,分析系统通过分析服务器获取待分析视频数据。待分析视频数据的当前码流格式为第一码流格式,即分析服务器接收到的由监控平台发送的待分析视频数据的码流格式为第一码流格式。码流格式至少包括编码格式及封装格式,当然还可以包括其他与码流识别相关的参数,可以根据实际情况进行设定。
[0085] S102,判断上述第一码流格式是否包含在预设码流格式中,其中,上述预设码流格式为上述分析服务器支持的码流格式。
[0086] 预设码流格式为分析服务器支持的码流格式,分析服务器能够对预设码流格式的视频数据进行解封装及解码。分析系统判断第一码流格式是否包含在预设码流格式中,若是则不用对待分析视频数据进行转码,若否则需要对待分析视频数据进行转码。
[0087] S103,若上述第一码流格式不包含在上述预设码流格式中,向转码服务器发送转码指令,以使上述转码服务器按照上述转码指令将上述待分析视频数据的码流格式转码为第二码流格式,其中,上述第二码流格式包含在上述预设码流格式中,上述转码指令包括上述待分析视频数据的标识。
[0088] 待分析视频数据的标识可以为待分析视频数据的取流地址,分析系统向转发服务器发送转码指令,以使转码服务器在接收到转码指令后,按照该取流地址获取码流格式为第一码流格式的待分析视频数据,并将待分析视频数据的码流格式转换为第二码流格式。
[0089] S104,获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0090] 分析系统获取经转码服务器转码后的待分析视频数据(此时待分析视频数据的码流格式为分析服务器支持的第二码流格式),并通过分析服务器对待分析视频数据进行解码及后续分析。
[0091] 在本发明实施例中,在分析服务器不支持待分析视频数据的码流格式时,通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。
[0092] 可选的,在上述向转码服务器发送转码指令之后,上述方法还包括:
[0093] 接收由上述转码服务器返回的针对上述转码指令的任务标识;
[0094] 转码服务器在接收到转码指令后,会建立转码任务,其中,该转码任务用于将待分析视频数据的码流格式转码为第二码流格式。转码服务器将该转码任务的任务标识发送给分析服务器。分析系统通过分析服务器接收该任务标识。具体的,任务标识可以为转码任务的名称或ID等。
[0095] 相应的,上述获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析,包括:
[0096] 步骤一,通过上述任务标识,查询上述转码服务器是否完成对上述待分析视频数据的转码。
[0097] 分析系统可以通过查询任务标识对应的转码任务的转码状态,来判断转码服务器是否完成对待分析视频数据的转码。转码服务器在未完成对待分析视频数据的转码时,任务标识对应的转码任务的转码状态为未完成状态,在转码服务器完成对待分析视频数据的转码后,将任务标识对应的转码任务的转码状态设置为完成状态。在转码状态为已完成状态时,判定转码服务器完成对待分析视频数据的转码;在转码状态为未完成状态时,判定转码服务器未完成对待分析视频数据的转码。
[0098] 步骤二,若上述转码服务器完成对上述待分析视频数据的转码,获取转码后的待分析视频数据的取流地址。
[0099] 在分析系统查询到转码服务器完成对待分析视频数据的转码后,通过任务标识获取转码后的待分析视频数据的取流地址。
[0100] 步骤三,按照上述取流地址获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0101] 在本发明实施例中,通过任务标识方便监控转码状态,通过取流地址方便待分析视频数据的获取。
[0102] 可选的,上述转码服务器包括多个转码节点,上述方法还包括:
[0103] 步骤一,获取各上述转码节点的运行参数;
[0104] 转码服务器可以采用集群的方式进行部署,包括多个转码节点。每个转码节点既可以是管理转码节点(主转码节点),也可以是分析转码节点(子转码节点)。转码服务器的集群中可以包括多个管理转码节点,当转码节点管理服务有添加分析服务时,该转码节点执行管理工作;反之当转码节点没有添加分析转码节点,该转码节点被其它转码节点添加时,该转码节点执行分析服务。
[0105] 分析系统获取各转码节点的运行参数。转码节点的运行参数可以包括该转码节点的剩余负载、管理的节点及负责的任务等。
[0106] 步骤二,按照上述运行参数,管理各上述转码节点的运行状态。
[0107] 例如,分析系统能够控制转码服务器添加转码子节点IP、移除转码子节点IP及删除管理转码节点管理的所有子节点,即解散该管理转码节点上的转码集群。
[0108] 在本发明实施例中,可以实现对转码服务器中各转码节点的管理,能够提高转码服务器的工作效率。
[0109] 本发明实施例还提供了一种视频处理方法,应用于转码服务器,参见图2,该方法包括:
[0110] S201,接收由分析服务器发送的转码指令,其中,上述转码指令包括待分析视频数据的标识。
[0111] 本发明实施例中的应用于转码服务器的视频处理方法可以通过转码系统实现,转码系统为任意能够实现本发明实施例的应用于转码服务器的视频处理方法的系统。例如:
[0112] 转码系统可以为一种设备,包括:处理器、存储器、通信接口和总线;处理器、存储器和通信接口通过总线连接并完成相互间的通信;存储器存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明实施例的应用于转码服务器的视频处理方法。
[0113] 可选的,转码系统可以为转码服务器。
[0114] 转码系统还可以为一种应用程序,用于在运行时执行本发明实施例的应用于转码服务器的视频处理方法。
[0115] 转码系统还可以为一种存储介质,用于存储可执行代码,可执行代码用于执行本发明实施例的应用于转码服务器的视频处理方法。
[0116] 分析服务器获取待分析视频数据,判断分析服务器是否支持待分析视频数据的第一码流格式,若不支持第一码流格式,分析服务器向转码服务器发送转码指令。通过转码服务器接收由分析服务器发送的转码指令。码流格式包括编码格式及封装格式。
[0117] S202,按照上述转码指令中上述待分析视频数据的标识,获取上述待分析视频数据。
[0118] 待分析视频数据的标识可以为待分析视频数据的名称、ID、统一标识符或地址等。例如,转码系统按照待分析视频数据的地址,获取待分析视频数据。
[0119] S203,将上述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,上述第二码流格式为上述分析服务器支持的码流格式。
[0120] 第一码流格式为获取待分析视频数据时待分析视频数据的码流格式,即监控平台中待分析视频数据的码流格式为第一码流格式。转码服务器中集成了各种编译码方式及封装解封装方式。通过转码服务器采用第一码流格式对应的解封装及解码方式,解封装及解码待分析视频数据,采用第二码流格式的编码格式及封装格式,编码及封装待分析视频数据。
[0121] S204,发送码流格式为上述第二码流格式的待分析视频数据。
[0122] 转码系统向分析服务器发送转码完成后的待分析视频数据,即码流格式为第二码流格式的待分析视频数据。
[0123] 在本发明实施例中,将待分析视频数据的码流格式转换为分析服务器支持的第二码流格式,可以增加视频分析的应用范围。
[0124] 可选的,在上述接收由分析服务器发送的转码指令之后,上述方法还包括:
[0125] 生成针对上述转码指令的任务标识,向分析服务器发送上述任务标识。
[0126] 转码服务器在接收到转码指令后,转码系统会建立转码任务,该转码任务用于将待分析视频数据的码流格式转码为第二码流格式。转码系统通过转码服务器将该转码任务的任务标识发送给分析服务器。具体的,任务标识可以为转码任务的名称或ID等。分析系统通过分析服务器接收该任务标识,并根据任务标识,查询转码服务器是否完成对上述待分析视频数据的转码,以及获取转码完成后的待分析视频数据。
[0127] 在本发明实施例中,通过任务标识方便监控转码状态,方便待分析视频数据的获取。
[0128] 可选的,上述分析服务器周期性向上述转码服务器发送心跳包,上述方法还包括:
[0129] 若在预设时长内未接收到上述心跳包,停止对上述待分析视频数据的转码。
[0130] 分析服务器周期性向转码服务器发送心跳包,发送周期可以根据实际情况进行设定,例如设置为1秒、10秒或2分钟等。预设时长可以根据实际情况进行设定,但是预设时长应大于发送心跳包的周期的时长。若转码服务器在预设时长内未接收到心跳包,转码系统控制转码服务器停止对待分析视频数据的转码。
[0131] 在本发明实施例中,未接收到心跳包说明分析服务器下线或宕机,继续转码待分析视频数据,也无法通过分析服务器完成对待分析视频数据的分析,因此停止转码以节约资源。
[0132] 本发明实施例还提供了一种视频处理装置,位于分析服务器,参见图3,该装置包括:
[0133] 第一数据获取模块301,用于获取待分析视频数据,其中,上述待分析视频数据的当前码流格式为第一码流格式,上述码流格式包括编码格式及封装格式;
[0134] 格式判断模块302,用于判断上述第一码流格式是否包含在预设码流格式中,其中,上述预设码流格式为上述分析服务器支持的码流格式;
[0135] 转码指令发送模块303,用于若上述第一码流格式不包含在上述预设码流格式中,向转码服务器发送转码指令,以使上述转码服务器按照上述转码指令将上述待分析视频数据的码流格式转码为第二码流格式,其中,上述第二码流格式包含在上述预设码流格式中,上述转码指令包括上述待分析视频数据的标识;
[0136] 第二数据获取模块304,用于获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0137] 可选的,本发明实施例的位于分析服务器的视频处理装置还包括:
[0138] 标识接收模块,用于接收由上述转码服务器返回的针对上述转码指令的任务标识;
[0139] 上述第二数据获取模块304,包括:
[0140] 转码查询子模块,用于通过上述任务标识,查询上述转码服务器是否完成对上述待分析视频数据的转码;
[0141] 地址获取子模块,用于若上述转码服务器完成对上述待分析视频数据的转码,获取转码后的待分析视频数据的取流地址;
[0142] 数据处理子模块,用于按照上述取流地址获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0143] 可选的,上述转码服务器包括多个转码节点,本发明实施例的位于分析服务器的视频处理装置还包括:
[0144] 运行参数获取模块,用于获取各上述转码节点的运行参数;
[0145] 运行状态管理模块,用于按照上述运行参数,管理各上述转码节点的运行状态。
[0146] 本发明实施例还提供了一种视频处理装置,位于转码服务器,参见图4,该装置包括:
[0147] 转码指令接收模块401,用于接收由分析服务器发送的转码指令,其中,上述转码指令包括待分析视频数据的标识;
[0148] 第三数据获取模块402,用于按照上述转码指令中上述待分析视频数据的标识,获取上述待分析视频数据;
[0149] 转码模块403,用于将上述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,上述第二码流格式为上述分析服务器支持的码流格式;
[0150] 视频数据发送模块404,用于发送码流格式为上述第二码流格式的待分析视频数据。
[0151] 可选的,本发明实施例的位于转码服务器的视频处理装置还包括:
[0152] 任务标识发送模块,用于生成针对上述转码指令的任务标识,向分析服务器发送上述任务标识。
[0153] 可选的,上述分析服务器周期性向上述转码服务器发送心跳包,本发明实施例的位于转码服务器的视频处理装置还包括:
[0154] 转码停止模块,用于若在预设时长内未接收到上述心跳包,停止对上述待分析视频数据的转码。
[0155] 本发明实施例提供了一种分析服务器,参见图5,包括处理器501及存储器502;
[0156] 上述存储器502,用于存放计算机程序;
[0157] 上述处理器501,用于执行上述存储器502上所存放的程序时,实现如下步骤:
[0158] 获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,上述码流格式包括编码格式及封装格式;
[0159] 判断上述第一码流格式是否包含在预设码流格式中,其中,上述预设码流格式为上述分析服务器支持的码流格式;
[0160] 若上述第一码流格式不包含在上述预设码流格式中,向转码服务器发送转码指令,以使上述转码服务器按照上述转码指令将上述待分析视频数据的码流格式转码为第二码流格式,其中,上述第二码流格式包含在上述预设码流格式中,上述转码指令包括上述待分析视频数据的标识;
[0161] 获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0162] 在本发明实施例中,在分析服务器不支持待分析视频数据的码流格式时,通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。
[0163] 可选的,上述处理器501,用于执行上述存储器502上所存放的程序时,还能够实现上述任一应用于分析服务器的视频处理方法。
[0164] 可选的,上述分析服务器具体为视频云结构化服务器。
[0165] 可选的,本发明实施例的分析服务器还包括,通信接口和通信总线,其中,处理器501,通信接口,存储器502通过通信总线完成相互间的通信。
[0166] 本发明实施例提供了一种转码服务器,参见图6,包括处理器601及存储器602;
[0167] 上述存储器602,用于存放计算机程序;
[0168] 上述处理器601,用于执行上述存储器602上所存放的程序时,实现如下步骤:
[0169] 接收由分析服务器发送的转码指令,其中,上述转码指令包括待分析视频数据的标识;
[0170] 按照上述转码指令中上述待分析视频数据的标识,获取上述待分析视频数据;
[0171] 将上述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,上述第二码流格式为上述分析服务器支持的码流格式;
[0172] 发送码流格式为上述第二码流格式的待分析视频数据。
[0173] 在本发明实施例中,将待分析视频数据的码流格式转换为分析服务器支持的第二码流格式,可以增加视频分析的应用范围。
[0174] 可选的,上述处理器601,用于执行上述存储器602上所存放的程序时,还能够实现上述任一应用于转码服务器的视频处理方法。
[0175] 可选的,本发明实施例的转码服务器还包括,通信接口和通信总线,其中,处理器601,通信接口,存储器602通过通信总线完成相互间的通信。
[0176] 上述提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0177] 通信接口用于与其他设备之间的通信。
[0178] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0179] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0180] 本发明实施例还提供了一种视频处理系统,参见图7,包括分析服务器701及转码服务器702;
[0181] 上述分析服务器701用于实现上述任一应用于分析服务器的视频处理方法;
[0182] 上述转码服务器702用于实现上述任一应用于转码服务器的视频处理方法。
[0183] 在本发明实施例中,在分析服务器不支持待分析视频数据的码流格式时,通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。
[0184] 本发明实施例的视频处理系统的应用场景可以如图8所示。
[0185] 用户登录分析服务器(具体可以为视频云结构化服务器)的web页面选择一路视频数据的码流进行分析,分析服务器向监控平台下发取流命令,监控平台从前端取流。分析服务器对接受到的视频数据的码流进行解码,若解码成功,则进一步进行视频分析,返回分析结果;若解码失败,分析服务器向配置好的转码服务器下发转码任务,并将取流地址发给转码服务器。
[0186] 转码服务器接受到转码任务,按取流地址获取视频数据的码流,并进行解码再重新编码,将视频数据转码成符合分析服务器可以分析的编码格式和封装格式。
[0187] 分析服务器通过任务ID查询到转码状态ok和转码后的取流地址,则向转码服务器下发取流命令;分析服务器接受转码后的码流,并进行视频分析,返回分析结果。
[0188] 可选的,转码服务器可以采用集群的方式进行部署,包个多个转码节点。每个转码节点既可以是管理转码节点(主转码节点),也可以是分析转码节点(子转码节点)。转码服务器的集群中可以包括多个管理转码节点,当转码节点管理服务有添加分析服务时,该转码节点执行管理工作;反之当转码节点没有添加分析转码节点,该转码节点被其它转码节点添加,该转码节点执行分析服务。
[0189] 转码节点主要包括管理服务及分析服务两种功能,管理服务包括配置接口及任务接口,配置接口用于:登入、登出、转码节点添加、移除、节点信息查询、集群解散功能。任务接口用于:转码任务接收、调度、下发任务到子节点、任务删除、转码状态查询。分析服务用于:接收管理服务的管理,提供具体转码服务、启动转码、停止转码,状态查询剩余资源、取流及发布码流服务。其具体工作流程可以如图9所示。
[0190] 例如图10所示,当转码节点1被添加为管理转码节点时,同时向它添加转码节点2,那么转码节点1的管理服务负责管理本身的分析服务和转码节点2的分析服务,这样由于转码节点2的管理服务没有添加其它分析转码节点,那么转码节点2就相当于一个子转码节点。
[0191] 当转码节点2被添加为集群管理转码节点时,转码节点2的管理服务负责管理本身的分析服务和其它转码节点的分析服务。
[0192] 转码节点1和转码节点2是管理转码节点,同时也是分析转码节点,当其中一个管理转码节点宕机了,分析转码节点检测到长时间没来取流时,会自动停止该路转码任务,这个集群相当于自动解散了,这时其它转码节点仍可以被指定为管理转码节点,保证集群的正常运行。
[0193] 用户可以登录分析服务器(具体可以为视频云结构化服务器)的web页面,配置转码主节点,并添加转码子节点,创建好转码服务集群,例如图11所示。
[0194] 步骤1101~1102,分析服务器登录转码服务器;
[0195] 步骤1103~1104,分析服务器获取转码服务器的能力集、剩余资源数、已添加的子节点等信息状态;
[0196] 步骤1105~1108,分析服务器向转码服务器添加转码子节点ip;
[0197] 步骤1109~1112,分析服务器向转码服务器移除转码子节点ip;
[0198] 步骤1113~1116,分析服务器删除转码主节点管理的所有子节点,即解散该主节点上转码集群;
[0199] 步骤1117~1118,分析服务器与转码服务器保持心跳,若没接受到分析服务器的心跳超过一定时间,则停止所有转码任务;
[0200] 步骤1119~1120,分析服务器退出转码服务器;
[0201] 用户可以登录分析服务器(具体可以为视频云结构化服务器)的web页面,选择页面上一路监控点的视频数据进行视频分析时,若视频分析系统由于前端码流视频编码格式或封装格式不支持而无法分析时,则向转码服务器申请转码这路码流,待转码成功后,向转码服务器取流再继续进行视频分析,对用户无感知。具体可以如图12所示。
[0202] 步骤1201~1205,分析服务器下发转码任务,转码服务器返回一个任务ID,将该任务放入等待队列,并从队列中按序取出任务,进行调度,再选择空闲资源最优的转码子节点进行任务所需资源数探测,转码主节点获取到该路转码任务所需的资源数后,再次进行调度,并选择空闲资源数最优的转码子节点进行转码,转码子节点根据任务向监控平台进行取流,并对获取的码流进行转码。
[0203] 步骤1206~1290,分析服务器定时根据任务ID向转码服务器查询任务状态,待该路转码状态ok后,并获取转码后码流的URL(Uniform Resource Locator,统一资源定位符)。
[0204] 步骤1210~1211,分析服务器根据码流URL,向转码子节点取流,转码子节点返回转码后的码流给分析服务器进行视频分析;
[0205] 步骤1212~1213,分析服务器向转码服务器下发停止转码请求,转码主节点向转码子点下发停止转码请求,转码子点节向监控平台停止取流并退出,转码主节点返回任务停止状态给分析服务器。
[0206] 本发明实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现如下步骤:
[0207] 获取待分析视频数据,其中,所述待分析视频数据的当前码流格式为第一码流格式,上述码流格式包括编码格式及封装格式;
[0208] 判断上述第一码流格式是否包含在预设码流格式中,其中,上述预设码流格式为上述分析服务器支持的码流格式;
[0209] 若上述第一码流格式不包含在上述预设码流格式中,向转码服务器发送转码指令,以使上述转码服务器按照上述转码指令将上述待分析视频数据的码流格式转码为第二码流格式,其中,上述第二码流格式包含在上述预设码流格式中,上述转码指令包括上述待分析视频数据的标识;
[0210] 获取码流格式为上述第二码流格式的待分析视频数据,并进行解码及后续分析。
[0211] 在本发明实施例中,在分析服务器不支持待分析视频数据的码流格式时,通过向转码服务器发送转码指令,以使转码服务器将待分析视频数据的码流格式转换为分析服务器支持的码流格式,可以增加视频分析的应用范围。
[0212] 可选的,上述计算机程序被处理器执行时,还能够实现上述任一应用于分析服务器的视频处理方法。
[0213] 本发明实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现如下步骤:
[0214] 接收由分析服务器发送的转码指令,其中,上述转码指令包括待分析视频数据的标识;
[0215] 按照上述转码指令中上述待分析视频数据的标识,获取上述待分析视频数据;
[0216] 将上述待分析视频数据的码流格式由第一码流格式转码为第二码流格式,其中,上述第二码流格式为上述分析服务器支持的码流格式;
[0217] 发送码流格式为上述第二码流格式的待分析视频数据。
[0218] 在本发明实施例中,将待分析视频数据的码流格式转换为分析服务器支持的第二码流格式,可以增加视频分析的应用范围。
[0219] 可选的,上述计算机程序被处理器执行时,还能够实现上述任一应用于转码服务器的视频处理方法。
[0220] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0221] 本说明书中的各个实施例均采用相关的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0222] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。