视频转码、视频播放方法及装置、计算机设备、存储介质与流程

文档序号:12890033阅读:261来源:国知局
视频转码、视频播放方法及装置、计算机设备、存储介质与流程

本发明涉及视频技术领域,特别是涉及一种视频转码方法、一种视频转码装置、一种视频播放方法、一种视频播放装置、一种计算机设备以及一种存储介质。



背景技术:

在目前的智能监控、人脸道具直播、智能图片识别等领域,通常会需要根据需求对视频流进行转码处理。传统的转码处理方式,是对原始视频流先解码,然后再重新编码为新的视频流。随着智能应用的增加,在对原始视频流解码之后,还需要对视频流进行视频分析,并将视频分析的结果呈献给用户。针对智能应用的这种需求,基于传统的视频转码方式,是由服务器对视频流先解码,并对解码后的每帧图像做图像分析,然后将图像分析结果叠加到解码后的视频流并重新压缩编码为新的视频流,并发送到各个终端呈现给用户。这种视频转码方式需要进行二次编码,严重降低了图像质量,同时也增加了服务器的负担。



技术实现要素:

基于此,本发明实施例提供一种视频转码方法、一种视频转码装置、一种视频播放方法、一种视频播放装置、一种计算机设备以及一种存储介质,以提高转码后进行播放的视频的图像质量,且有助于降低服务器的处理负担。

一种视频转码方法,应用于服务器,包括步骤:

接收采集端上传的第一视频流;

根据所述采集端与服务器之间的第一传输协议信息,对所述第一视频流进行第一解封装处理,获得第二视频流;

根据服务器与播放终端之间的第二传输协议信息,对所述第二视频流进行封装,获得第三视频流,并将所述第三视频流向播放终端发送;

对所述第二视频流进行图像分析,获得图像分析结果,根据所述图像分析结果向所述播放终端发送图像分析信息。

一种视频播放方法,应用于播放终端,包括步骤:

接收服务器发送的第三视频流,并根据服务器与播放终端之间的第二传输协议信息,对第三视频流进行第二解封装处理,获得第二视频流;

接收所述服务器发送的与所述第二视频流关联的图像分析信息;

将所述图像分析信息添加到所述第二视频流后进行播放。

一种视频转码装置,应用于服务器,包括:

第一接收模块,用于接收采集端上传的第一视频流;

第一解封装模块,用于根据所述采集端与服务器之间的第一传输协议信息,对所述第一视频流进行第一解封装处理,获得第二视频流;

封装模块,用于根据服务器与播放终端之间的第二传输协议信息,对所述第二视频流进行封装,获得第三视频流,并将所述第三视频流向播放终端发送;

图像分析模块,用于对所述第二视频流进行图像分析,获得图像分析结果;

分析信息发送模块,用于根据所述图像分析结果向所述播放终端发送图像分析信息。

一种视频播放装置,应用于播放终端,包括:

第二接收模块,用于接收服务器发送的第三视频流,并根据服务器与播放终端之间的第二传输协议信息,对第三视频流进行第二解封装处理,获得第二视频流;

分析信息接收模块,用于接收所述服务器发送的与所述第二视频流关联的图像分析信息;

叠加播放模块,用于将所述图像分析信息添加到所述第二视频流后进行播放。

一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。

一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。

基于如上所述的实施例的方案,服务器在接收到采集端上传的第一视频流、并基于与采集端之间的第一传输协议信息将第一视频流解码为第二视频流后,直接将给第二视频流用与播放终端之间的第二传输协议信息封装为第三视频流后发送播放终端,服务器另一方面对上述第二视频流进行图像分析获得图像分析结果,并基于图像分析结果向播放终端发送图像分析信息,播放终端分别接收第三视频流和图像分析信息,并对第三视频流解码得到第二视频流后将图像分析信息添加到第二视频流进行播放,从而,服务器在进行视频转码的过程中,尽管进行了图像分析的处理,但是其无需基于图像分析结果对视频流进行二次编码,从而降低了服务器的处理负担,且提高了视频转码的效率,节省了转码资源,播放终端进行播放时,直接将图像分析信息添加到第二视频流中进行播放即可,提高了转码后进行播放的视频的图像质量。

附图说明

图1是一个本实施例方案的工作环境的示意图;

图2是一个实施例的服务器的组成结构的示意图;

图3是一个实施例的播放终端的组成结构的示意图;

图4是一个实施例的视频转码方法的流程示意图;

图5是一个实施例的视频播放方法的流程示意图;

图6是一个具体应用示例中基于本实施例方案的交互流程的示意图;

图7是一个基于图6所示示例的一个具体应用中的流程架构示意图;

图8是一个实施例的视频转码装置的结构示意图;

图9是一个实施例的视频播放装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。

图1示出了本发明一个实施例中的工作环境示意图,如图1所示,其工作环境涉及采集终端101、服务器102以及播放终端103,采集终端101、播放终端103与服务器102可以通过网络进行通信。采集终端101采集的视频流发送至服务器102后,由服务器102转发至播放终端103进行播放。采集终端101与服务器102之间的通信方式,例如采用的通信协议或者数据封装协议,跟播放终端103与服务器102之间的通信方式可以相同,也可以不同。在不同时,服务器102需要对采集终端101发送的视频流进行转码,使得播放终端103能够正确解析并解码出正确视频流数据进行播放。该采集终端101可以是任何可以采集视频数据并将采集获得的视频数据以视频流发送给服务器的设备,如图1所示,可以是移动终端,比如手机、平板电脑,还可以是个人计算机,还可以摄像头等实现视频监控的设备。

图2为一个实施例中服务器102的组成结构示意图。如图2所示,服务器包括通过系统总线连接的处理器、供电模块、存储介质、内存和通信接口。其中,该处理器用于提供计算和控制能力,支撑整个服务器的运行。服务器的存储介质存储有操作系统、数据库和一种视频转码装置的计算机应用程序,该视频转码装置的计算机应用程序被处理器执行时,实现一种视频转码方法。服务器中的内存为存储介质中的视频转码装置的运行提供环境,通信接口用于与用采集端和播放终端进行网络通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与实施例方案相关的部分结构的框图,并不构成对本实施例方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

播放终端103在一个实施例中的结构示意图如图3所示。该播放终端103包括通过系统总线连接的处理器、非易失性存储介质、通信接口、电源接口和内存。其中,播放终端103的处理器用于提供计算和控制能力,支撑整个播放终端103的运行。播放终端103的非易失性存储介质存储有操作系统和一种视频播放装置的计算机应用程序,该视频播放装置被处理器执行时,实现一种视频播放方法。播放终端103的存储器为非易失性存储介质中的视频播放装置的运行提供环境,该。播放终端103的网络接口用于与服务器102通过网络连接和通信,播放终端103的电源接口用于与外部电源连接,外部电源通过该电源接口向播放终端103供电。播放终端103可以是任何一种能够实现视频播放的设备,例如个人计算机、移动终端,比如手机、平板电脑等;也可以是其它具有上述结构的设备。

图4中示出了一个实施例中的视频转码方法的流程示意图,该方法应用于服务器102,如图4所示,该实施例中的视频转码方法包括:

步骤s401:接收采集端上传的第一视频流;

步骤s402:根据所述采集端与服务器之间的第一传输协议信息,对所述第一视频流进行第一解封装处理,获得第二视频流;

步骤s403:根据服务器与播放终端之间的第二传输协议信息,对所述第二视频流进行封装,获得第三视频流,并将所述第三视频流向播放终端发送;

步骤s404:对所述第二视频流进行图像分析,获得图像分析结果,根据所述图像分析结果向所述播放终端发送图像分析信息。

可以理解,上述步骤s404与步骤s403并不具有先后顺序,在步骤s402中得到第二视频流之后,步骤s403的过程与步骤s404的过程可以并行处理。

基于该实施例的方案,服务器尽管进行了图像分析处理,但是其无需基于图像分析结果对视频流进行二次编码,有助于降低服务器的处理负担,提高了视频转码的效率,服务器将第三视频流和图像分析信息给到播放终端,从而播放终端进行播放时,直接将图像分析信息添加到第二视频流中进行播放即可,提高了转码后进行播放的视频的图像质量。

其中,上述图像分析信息中,可携带有待显示在所述第二视频流的视频帧中的位置的位置信息。从而使得播放终端在接收到图像分析信息之后,可以基于该位置信息,将相关信息添加到第二视频流中的对应位置的视频帧上之后,再进行播放。

在一个示例中,在上述获得图像分析结果之后,向所述播放终端发送图像分析信息之前,还可以包括步骤:对所述图像分析结果进行信息归类和/或标定处理。此时,上述图像分析信息包括所述信息归类和/或标定处理后的处理结果。

图5示出了一个实施例中的视频播放方法的流程示意图,该方法应用于播放终端。如图5所示,该实施例中的视频播放方法包括:

步骤s501:接收服务器发送的第三视频流,并根据服务器与播放终端之间的第二传输协议信息,对第三视频流进行第二解封装处理,获得第二视频流;

步骤s502:接收所述服务器发送的与所述第二视频流关联的图像分析信息;

步骤s503:将所述图像分析信息添加到所述第二视频流后进行播放。

从而,对于播放终端而言,其是从服务器分别接收第三视频流和图像分析信息,并将图像信息添加到对第三视频流解封装处理后的第二视频流之后进行播放,即,其从服务器接收的第三视频流并没有叠加图像分析信息,确保了转码后进行播放的视频的图像质量。

其中,上述图像分析信息中,可携带有待显示在所述第二视频流的视频帧中的位置的位置信息。从而使得播放终端在接收到图像分析信息之后,可以基于该位置信息,将相关信息添加到第二视频流中的对应位置的视频帧上之后,再进行播放。

基于如上所述的实施例,图6示出了一个具体应用示例中基于本实施例方案的交互流程的示意图,其包括步骤s601至步骤s608,对应的具体应用的流程架构的示意图如图7所示。在图6、图7所示中,是以同时包含了服务器的视频转码过程和播放终端的视频播放过程为例进行说明。

结合图6、图7所示,在步骤s601中,采集端在采集到视频数据后,在需要向服务器发送视频流时,将采集的视频数据以视频流的方式发送给服务器。为了能够将视频流传输至服务器,采集端需要基于其与服务器之间的传输协议(为便于与服务器跟播放终端之间的传输协议区分,本示例中成为第一传输协议),对视频流进行封装,获得用第一传输协议封装后的视频流,本示例中称为第一视频流,然后将给第一视频流发送给服务器。采集端可以在任何可能或需要的时候封装成第一视频流并发送给服务器,本实施例中不做具体限定。例如,对于视频监控领域而言,在该采集端为视频监控设备时,采集端可以是每隔一个时间段就将采集到的视频数据以第一视频流的方式发送给服务器,以体现视频监控的实时性。对于视频直播领域而言,采集端可以为进行直播的终端设备,可以是在开启了直播之后,再将采集的直播视频数据发送至服务器。在其他的需要发送视频数据的领域,也可以在其他需要的时刻发送视频流。

服务器接收到采集端上传的第一视频流之后,在步骤s602中,根据服务器与采集端进行通信的第一传输协议的信息,对第一视频流进行第一解封装处理,获得第一解封装处理之后的视频流,本示例中称为第二视频流。可以理解,采集端为了将视频数据传输给服务器,需要采用采集端与服务器之间的第一传输协议对采集的视频数据进行封装,即第一视频流中包含有基于第一传输协议对视频数据进行封装的有关于第一传输协议的相关字段。在进行第一解封装处理时,通过对这些相关字段进行解析,从而可以获得实际的完整的视频数据,这种没有关于第一传输协议的字段的视频数据,即为上述第二视频流。

服务器在得到第二视频流后,一方面,在步骤s603中,根据服务器与播放终端之间的第二传输协议信息,对所述第二视频流进行封装,获得第三视频流,并在步骤s604中将所述第三视频流向播放终端发送。可见,服务器向播放终端发送的第三视频流中的视频数据,是原始的视频数据,未叠加其他的信息,从而有助于提高视频的播放质量。

服务器在得到第二视频流后,另一方面,在步骤s605中,服务器还对该第二视频流进行图像分析,获得图像分析结果。在获得图像分析结果之后,还可以对图像分析结果进行信息归类和/或标定处理。

具体的对第二视频流进行图像分析的过程,可以采用任何进行图像分析的方式进行,只要能够获得对应图像分析结果即可。具体的图像分析的方式,可以与所应用的领域有关。

在一个示例中,以应用在视频监控领域为例,可以是如图7所示的将第二视频流进行视频解码转换为yuv(亦称ycrcb,一种颜色编码方法)格式之后,依次进行图像预处理、图像特征提取、特征值确定以及得到智能识别信息的处理,在其他的实施例中,也可以采用其他的方式进行图像分析处理。此时,上述获得的图像分析结果可以是是否有对应的目标监控事件的结果,例如,是否出现目标监控人物、是否出现目标物体、是否出现目标突发事件等。具体的对图像特征提取的方式,可以采用已有的任何可能的方式进行,例如基于深度学习的方式、级联分类的方式。在获得是否有对应的目标监控事件的结果之后,还可以进行分类和标定处理,例如是出现目标监控人物还是出现目标突发事件,从而获得最终的智能识别信息,即上述图像分析信息。可以理解,该图像分析信息可以包括基于上述是否出现目标监控人物、是否出现目标物体、是否出现目标突发事件等的分析结果的信息,例如针对出现目标监控人物的特定标记(如水印、特效、声音)、针对出现目标突发事件的特定标记(如水印、特效、声音),同时还包括有各信息相对于第二视频流的位置信息,以便于定位到具体的视频帧。

在一个示例中,以应用到视频直播领域为例,其图像分析方式可以是可以与上述针对监控视频类似的方式处理,例如是否出现目标监控人物、是否出现目标物体、是否出现目标突发事件等,据此可以实现对直播视频流的安全审核。在视频直播领域中,还可以有其他的智能分析处理,例如在直播视频流中添加广告、添加水印、添加特效、直播过程中的礼物信息、直播过程中售卖的商品的信息等等。最终获得的图像分析信息可以包括有基于上述是否出现目标监控人物、是否出现目标物体、是否出现目标突发事件等的分析结果的信息,例如针对出现目标监控人物的特定标记(如水印、特效、声音)、针对出现目标突发事件的特定标记(如水印、特效、声音),同时还可以有针对第二视频流本身添加的广告、水印、特效、礼物、商品的信息,同时还包括有各信息待显示在第二视频流的视频帧中的位置的位置信息,以便于定位到具体的视频帧以及视频帧中的位置。对于需要在整个视频流播放的过程中都进行显示的情况,其对应的位置信息可以为空,以默认指示需要全程显示,也可以是将位置信息设置为设定的需要进行全程显示的标记信息。可以理解,在其他实施例中,也可以是在图像分析信息的其他位置设置该需要进行全程显示的标记信息。

在一个示例中,以应用到教育类视频领域为例,其进行图像分析后获得的图像分析结果,可以是添加的一些标记、水印、特效等相关信息,同时还包括有各信息相对于第二视频流的视频帧中的位置的位置信息,以便于定位到具体的视频帧以及帧中的位置。

可见,在本实施例的方案中,服务器具体进行分析得到图像分析信息的方式可以采用各种可能的方式进行,不同的得到图像分析信息的方式均可以应用到本实施例的视频转码的过程中,只要最终能够获得便于播放终端叠加到第二视频流上进行播放的图像分析信息即可。可以理解,该图像分析信息携带有位置信息,该位置信息可以是矢量位置信息。

在得到图像分析信息之后,在步骤s606中,服务器会将该图像信息也发送给播放终端,便于播放终端进行播放。

播放终端在接收到第三视频流之后,在步骤s607中,根据服务器与播放终端之间的第二传输协议信息,对第三视频流进行第二解封装处理,获得第二视频流。播放终端还接收服务器发送的与第二视频流关联的图像分析信息。可以理解,播放终端接收第三视频流和图像分析信息的过程,可能并不具有如图6所示的严格的先后顺序,例如,在接收第三视频流的过程中,同时接收图像分析信息,只要在进行智能拼接或者要添加图像分析信息时,对应位置的视频流和图像分析信息已经接收到即可。在某些应用场景中,在上述解封装得到第二视频流之后,还可以将该第二视频流解码为yuv格式之后,再进行智能拼接处理。

随后,在步骤s608中,播放终端对接收到的图像分析信息与第二视频流进行智能拼接,即将图像分析信息添加到第二视频流中,以便于图像分析信息可以基于第二视频流的播放而播放显示。具体的进行智能拼接的方式,可以采用任何可能的方式进行,例如基于图像分析信息中携带的位置信息,将对应的信息添加到第二视频流的对应位置处,具体的智能拼接或添加的方式,本实施例不做具体限定。

可见,基于本实施例的如上所述的方式,服务器在转码过程中没有对视频进行二次编码,提升了图像质量,且降低了服务器的处理负担,且提高了视频转码的效率,而且节省了转码资源;而播放终端是在接收到服务器发送的图像分析信息之后添加到第二视频流中,从而播放终端可以根据各种需求灵活处理,实现了个性化。

图8示出了一个实施例中的视频转码装置的结构示意图,该视频转码装置设置于服务器。如图8所示,该实施例中的装置包括:

第一接收模块801,用于接收采集端上传的第一视频流;

第一解封装模块802,用于根据所述采集端与服务器之间的第一传输协议信息,对所述第一视频流进行第一解封装处理,获得第二视频流;

封装模块803,用于根据服务器与播放终端之间的第二传输协议信息,对所述第二视频流进行封装,获得第三视频流,并将所述第三视频流向播放终端发送;

图像分析模块804,用于对所述第二视频流进行图像分析,获得图像分析结果;

分析信息发送模块805,用于根据所述图像分析结果向所述播放终端发送图像分析信息。

可以理解,上述封装模块803与图像分析模块804的处理过程并不具有先后顺序,在第一解封装模块802得到第二视频流之后,封装模块803与图像分析模块804可以并行处理。

基于该实施例的方案,服务器尽管进行了图像分析处理,但是其无需基于图像分析结果对视频流进行二次编码,从而降低了服务器的处理负担,且提高了视频转码的效率,节省了转码资源,服务器将第三视频流和图像分析信息给到播放终端,从而播放终端进行播放时,直接将图像分析信息添加到第二视频流中进行播放即可,提高了转码后进行播放的视频的图像质量。

其中,上述图像分析信息中,可携带有待显示在所述第二视频流的视频帧中的位置的位置信息。从而使得播放终端在接收到图像分析信息之后,可以基于该位置信息,将相关信息添加到第二视频流中的对应位置的视频帧上进行播放。

在一个示例中,如图8所示,该实施例中的视频转码装置还可以包括:

处理模块806,用于对所述图像分析结果进行信息归类和/或标定处理。

此时,上述图像分析信息包括所述信息归类和/或标定处理后的处理结果。

图9示出了一个实施例中的视频播放装置的结构示意图,该视频播放装置设置或应用于播放终端。如图9所示,该实施例中的视频播放装置包括:

第二接收模块901,用于接收服务器发送的第三视频流,并根据服务器与播放终端之间的第二传输协议信息,对第三视频流进行第二解封装处理,获得第二视频流;

分析信息接收模块902,用于接收所述服务器发送的与所述第二视频流关联的图像分析信息;

叠加播放模块903,用于将所述图像分析信息添加到所述第二视频流后进行播放。

从而,对于播放终端而言,其是从服务器分别接收第三视频流和图像分析信息,并将图像信息添加到对第三视频流解封装处理后的第二视频流之后进行播放,即,其从服务器接收的第三视频流并没有叠加图像分析信息,确保了转码后进行播放的视频的图像质量。

其中,上述图像分析信息中,可携带有待显示在所述第二视频流的视频帧中的位置的位置信息。从而使得播放终端在接收到图像分析信息之后,可以基于该位置信息将相关信息添加到第二视频流中的对应位置的视频帧上。

可以理解,视频转码装置、视频播放装置中的各模块的具体实现方式,可以采用与上述方法实施例中相同的方式处理。

基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一个实施例中的方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一个实施例中的方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1