CN115695879B - 一种视频播放方法、系统、装置、电子设备及存储介质 - Google Patents

一种视频播放方法、系统、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115695879B
CN115695879B CN202310005139.4A CN202310005139A CN115695879B CN 115695879 B CN115695879 B CN 115695879B CN 202310005139 A CN202310005139 A CN 202310005139A CN 115695879 B CN115695879 B CN 115695879B
Authority
CN
China
Prior art keywords
video
path
monitoring
monitoring video
playing
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
CN202310005139.4A
Other languages
English (en)
Other versions
CN115695879A (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.)
Beijing BlueSky Technologies Co Ltd
Original Assignee
Beijing BlueSky Technologies 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 BlueSky Technologies Co Ltd filed Critical Beijing BlueSky Technologies Co Ltd
Priority to CN202310005139.4A priority Critical patent/CN115695879B/zh
Publication of CN115695879A publication Critical patent/CN115695879A/zh
Application granted granted Critical
Publication of CN115695879B publication Critical patent/CN115695879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Closed-Circuit Television Systems (AREA)

Abstract

本发明实施例提供了一种视频播放方法、系统、装置、电子设备及存储介质,涉及视频播放技术领域。该方法包括:获取视频播放端待进行播放的多路监控视频;针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;调用GPU,以对每路监控视频进行解码处理,得到原始视频数据;调用GPU,以对原始视频数据进行指定编码处理,得到图片流数据;针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输,以使视频播放端输出图片流数据,实现每路监控视频的播放。应用本发明实施例提供的方案,可以提高多路监控视频播放的流畅度。

Description

一种视频播放方法、系统、装置、电子设备及存储介质
技术领域
本发明涉及视频播放技术领域,特别是涉及一种视频播放方法、系统、装置、电子设备及存储介质。
背景技术
随着社会发展以及科技进步,在生活消遣、生产监督、安防监控等领域,正在逐步开发针对不同需求,进行视频播放的相关技术。
相关技术中,在视频播放的过程中,视频播放端可以使用相关插件或组件,以调用CPU(Central Processing Unit,中央处理器)对所接收到的视频数据进行解码、缓冲、渲染等处理,实现视频播放。
然而,在安防监控领域中,视频播放端通常需要播放多路监控视频,那么,视频播放端在对多路监控视频的视频数据进行解码处理的过程中,会被相关插件或组件的局限性以及CPU的计算能力所影响,导致解码速率慢甚至无法完成解码,甚至会限制到处理多路监控视频的视频数据的其他步骤,因此,导致视频播放的流畅度不高。
可见,如何提高多路监控视频播放的流畅度,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种视频播放方法、系统、装置、电子设备及存储介质,以实现提高多路监控视频播放的流畅度。具体技术方案如下:
第一方面,本发明实施例提供了一种视频播放方法,应用于视频播放系统的视频处理端,所述视频播放系统还包括视频播放端,所述方法包括:
获取所述视频播放端待进行播放的多路监控视频;
针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
可选的,所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,还包括:
针对每路监控视频,对该路监控视频的协议头信息进行关于视频数据的编码格式的解析,得到该路监控视频的编码格式;
所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据,包括:
调用所述视频处理端所位于设备中的图像处理器GPU,以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
可选的,所述调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据之前,还包括:
调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
所述调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据,包括:
调用所述GPU,以对每路监控视频对应的缩放处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。
可选的,所述调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据,包括:
在针对每路监控视频给定目标分辨率信息的情况下,调用所述GPU,以按照每路监控视频的目标分辨率信息,对每路监控视频的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
否则,调用所述GPU,以利用预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
其中,所述缩放规则包括:在各路监控视频的总路数处于预定阈值范围的情况下,将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变;其中,每路监控视频对应的参考分辨率为:小于该路监控视频的原始视频数据的分辨率的值。
可选的,所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,还包括:
对每路监控视频中的异常帧数据进行过滤处理。
可选的,所述对每路监控视频中的异常帧数据进行过滤处理之前,还包括:
针对每路监控视频,对该路监控视频的协议头信息进行关于视频帧的类型和序号的解析,得到该路监控视频中的各视频帧的类型和序号;其中,每一视频帧的类型至少包括:P帧或I帧;
每路监控视频中的异常帧的确定方式包括:将该路监控视频中的目标P帧,以及,位于所述目标P帧与最近的I帧之间的P帧,确定为异常帧;所述目标P帧为:所具有序号与前一视频帧的序号的差值不等于预定步长的P帧,所述预定步长为对该路监控视频的各个视频帧设置帧序时所使用的步长。
可选的,所述按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据之前,还包括:
按照预定周期,定时检测是否在预定时间内收到所述视频播放端发送的存活信息;
在判定结果为是的情况下,执行向所述视频播放端发送每路监控视频对应的图片流数据的步骤。
第二方面,本发明实施例提供了一种视频播放系统,所述视频播放系统包括:视频处理端以及视频播放端;
所述视频处理端,用于获取所述视频播放端待进行播放的多路监控视频;针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式;
所述视频播放端,用于接收所述视频处理端发送的每路监控视频对应的图片流数据;输出所接收到的每路监控视频对应的图片流数据,以实现每路监控视频的播放。
第三方面,本发明实施例提供了一种视频播放装置,应用于视频播放系统的视频处理端,所述视频播放系统还包括视频播放端,所述装置包括:
获取模块,用于获取所述视频播放端待进行播放的多路监控视频;
解析模块,用于针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
解码模块,用于调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
编码模块,用于调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
发送模块,用于按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的视频播放方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的视频播放方法。
本发明实施例有益效果:
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1 为本发明实施例提供的一种视频播放方法的流程示意图;
图2 为本发明实施例提供的一种视频播放方法的流程示意图;
图3 为本发明实施例提供的一种视频播放方法的流程示意图;
图4 为本发明实施例提供的一种视频播放方法的流程示意图;
图5 为本发明实施例提供的一种视频播放方法的流程示意图;
图6 为本发明实施例提供的视频播放系统的结构示意图;
图7为本发明实施例提供的一种视频播放装置的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地了解本发明实施例,下面将对现有技术进行介绍。
相关技术中,在安防监控领域,视频播放端基于TCP(Transmission ControlProtocol,传输控制协议)推送数据的方式,获取到监控视频的视频数据,然后,使用ffmpeg等组件或者flash、ActiveX等插件,调用CPU以对视频数据进行解码处理;再然后,使用OpenGL( Open Graphics Library ,开放图形库),调用CPU以实现监控视频的渲染播放。
然而,随着视频播放端的发展与更新,某些插件或者组件可能无法适用,而且部分插件或组件在使用过程中可能会挖取用户信息,因此,插件或者组件会有局限性;并且,在安防监控领域可能需要播放多路监控视频,在多路监控视频播放的过程中,CPU由于自身特性,无法同时对多路监控视频的视频数据进行解码处理。因此,在多路监控视频播放的过程中,会出现视频播放的流畅度不高的情况。
可见,如何提高多路监控视频播放的流畅度,是一个亟待解决的问题。
为了提高多路监控视频播放的流畅度,本发明实施例提供了一种视频播放方法、系统、装置、电子设备及存储介质。
下面首先对本发明实施例所提供的一种视频播放方法进行介绍。
其中,本申请实施例所提供的视频播放方法可以应用于视频播放系统的视频处理端,视频播放系统还可以包括视频播放端。视频处理端与视频播放端可以是位于同一设备,视频处理端与视频播放端也可以是位于不同设备,其中,视频播放端为用户侧的用于进行视频播放的功能。在具体应用中,视频处理端可以为位于服务器的功能软件,也可以为位于终端设备的功能软件;视频播放端可以为位于终端设备的Web前端浏览器,也可以为位于终端设备的其他视频播放软件,这都是合理的。在实际应用中,终端设备可以是:平板电脑、台式电脑等等。
本发明实施例提供的一种视频播放方法,可以包括如下步骤:
获取所述视频播放端待进行播放的多路监控视频;
针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
下面结合附图介绍本发明实施例所提供的一种视频播放方法。
图1为本发明实施例提供的一种视频播放方法的流程示意图,如图1所示,该方法可以包括步骤S101-步骤S105:
S101,获取所述视频播放端待进行播放的多路监控视频。
可以理解的是,视频处理端可以获取到视频播放端待播放的多路监控视频,其中,所获取到的多路监控视频具体可以是多路监控视频的视频数据。
需要说明的是,视频处理端可以从除视频处理端所位于的设备以外的设备处,获取多路监控视频;例如,在安防监控领域中,一视频监控平台至少由多个监控摄像头组成,视频处理端可以与视频监控平台相通信,从而从视频监控平台处获取多个监控摄像头所拍摄到的视频,其中,监控摄像头所拍摄到的视频可以作为待播放的视频,视频监控平台可以用于接收流媒体转发的视频、存储视频数据,以及接入其他设备等。另外,视频处理端也可以从视频处理端本身所位于的设备所存储的数据中获取多路监控视频,例如,位于电脑A的视频处理端可以从电脑A本地所存的视频数据中获取待播放的多路监控数据。
需要强调的是,本发明对于视频处理端获取多路监控视频的方式的描述,仅做示例性说明,并不对此构成限定。
S102,针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率。
可以理解的是,视频处理端可以对所获取到的多路监控视频中的每一路的协议头信息,都进行关于帧率的解析,得到每一路监控视频的帧率。其中,每一路监控视频的帧率为该路监控视频的每个视频帧播放的速率,例如,A路监控视频的帧率可以为每秒25帧,也就是,A路监控视频在播放过程中可以一秒显示25个视频帧。
S103,调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
可以理解的是,视频处理端可以利用视频处理端本身所位于设备中的GPU(Graphics Processing Unit,图像处理器),对多路监控视频进行解码处理,得到每路监控视频的原始视频数据。
在一种实现方式中,视频处理端可以使用QSV(Quick Sync Video,视频加速体系)接口,调用GPU中的专用视频引擎和/或调用GPU通用处理单元,基于GPU并行计算技术,对所获取的多路监控视频进行解码处理,得到每路监控视频的原始视频数据。
需要说明的是,上述实现方式的描述,仅做举例说明,不做具体限定。
S104,调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据。
可以理解的是,视频处理端可以利用视频处理端本身所位于设备中的GPU,对每路监控视频的原始视频数据进行指定编码处理,得到与每路监控视频对应的图片流数据。
需要说明的是,对原始视频数据进行编码处理后所得到的图片流数据可以是jpg图片二进制数据,也可以是其他图片形式的数据,对此本发明不做具体限定。
在一种实现方式中,视频处理端可以使用QSV接口,调用GPU中的专用视频引擎和/或调用GPU通用处理单元,基于GPU并行计算技术,对原始视频数据进行编码处理,得到与每路监控视频对应的图片流数据。
需要说明的是,上述实现方式的描述,仅做举例说明,不做具体限定。
S105,按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
可以理解的是,视频处理端可以将图片流数据发送给视频播放端,在视频播放端接收到图片流数据后,视频播放端可以输出图片流数据,实现多路监控视频的播放。
需要说明的是,在视频播放端利用图片流数据进行多路监控视频的播放过程中,为了保证多路监控视频的播放效果,视频处理端可以按照之前解析得到的每路监控视频的帧率作为传输速率,将图片流数据向视频播放端发送,视频播放端可以将每路监控视频的帧率作为该路监控视频对应的图片流数据的播放帧率,以实现多路监控视频的播放。例如,一路监控视频的帧率为每秒25帧,那么,视频播放端可以以每秒25张图片的方式进行图片流快速刷新,也就是,以图片流高刷的形式,实现视频播放。
针对视频播放端播放视频的过程,视频播放端可以基于定时器与图片流数据的传输速率,定时解析所获取的图片流数据。例如,图片流数据的传输速率为每秒25张图片,视频播放端可以在定时器的提示下,每20m解析一次图片流数据,以实现图片刷新,在保证与监控视频相同帧率的情况下,进行视频的播放。
示例性的,视频处理端可以通过WebSocket网络协议,将图片流数据向视频播放端发送,并且图片流数据还可以包括时间戳,以实现在监控视频播放中显示进度。
在一种实现方式中,在步骤S103之前,本发明提供的视频播放方法还可以包括:对每路监控视频中的异常帧数据进行过滤处理。
可以理解的是,视频处理端可以确定每路监控视频中的异常帧数据,并对异常帧数据进行过滤处理,也就是将异常帧数据丢掉,也可以称为丢帧策略。其中,确定每路监控视频中的异常帧数据的方式将在后述实施例中进行描述。
在另一种实现方式中,在步骤S105之前,本发明提供的视频播放方法还可以包括:按照预定周期,定时检测是否在预定时间内收到所述视频播放端发送的存活信息;在判定结果为是的情况下,执行向所述视频播放端发送每路监控视频对应的图片流数据的步骤。
可以理解的是,视频播放端可以在能够接收到视频处理端所发送数据的情况下,定时向视频处理端发送存活信息,视频处理端可以定时检测是否在预定时间内收到存活信息,如果视频处理端可以在预定时间内收到视频播放端发送的存活信息,那么可以继续执行步骤S105。其中,存活信息可以是一个自定义的结构体,例如,心跳包。
需要说明的是,如果视频处理端没有在预定时间内收到视频播放端发送的存活信息,那么视频处理端会清除用于传输的数据,以释放资源,增加传输效率。
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
另外,视频播放端利用视频处理端所发送的图片流数据进行视频的播放,提高了通用性,避免了插件与组件的使用及限制,增强了视频播放系统的安全性。
可选的,在另一实施例中,如图2所示,在图1所示的视频播放方法的基础上,在步骤S103之前视频播放方法还可以包括步骤S201,并且步骤S103可以包括步骤S1031:
S201,针对每路监控视频,对该路监控视频的协议头信息进行关于视频数据的编码格式的解析,得到该路监控视频的编码格式。
可以理解的是,针对每路监控视频,视频处理端可以对该路监控视频的协议头进行解析,解析的目的是获取该路监控视频的视频数据的编码格式。其中,每路监控视频的协议头可以包括属于该路监控视频的视频数据的编码格式。
需要说明的是,待播放的多路监控视频的视频数据是经过编码处理后的数据。示例性的,视频处理端所获取到的多路监控视频可以是基于h264标准进行编码处理后的视频数据,也可以是基于hevc标准进行编码处理后的视频数据,因此,视频处理端所得到的每路监控视频的编码格式可以是h264格式,也可以是hevc格式。其中,hevc格式也可以叫做h265格式。
当然,上述针对监控视频的编码格式的描述,仅做示例性说明,并不做具体限定。
S1031,调用所述视频处理端所位于设备中的图像处理器GPU,以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
可以理解的是,视频处理端可以调用GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;需要强调的是,视频处理端可以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理。
需要说明的是,在一段监控视频的播放过程中,如果该段监控视频前后分别由两类不同视频组成,并且这两类不同视频分别由不同的编码格式编码,那么,该段监控视频在播放过程中,会出现播放中断的情况。例如,在NVR(Network Video Recorder,网络硬盘录像机)平台录像过程中,用户设置IPC(IP Camera,网络摄像机)不同的输出编码格式,会导致回放视频播放中断。而本方案中,视频处理端可以基于解析出来的每路监控视频的编码格式,对不同编码格式的监控视频使用不同的视频解码方式,得到每路监控视频的原始视频数据。
在一种实现方式中,视频处理端可以利用属于GPU的解码器,针对不同编码格式的监控视频,使用对应编码格式的解码器,对监控视频进行解码处理。
在本实施例中,视频处理端可以对依据每路监控视频的编码格式,对每路监控视频进行解码处理,可以提高多路监控视频播放的流畅度。
可选的,在另一种实施例中,如图3所示,在图1所示的视频播放方法的基础上,在步骤S104之前视频播放方法还可以包括步骤S301,并且步骤S104可以包括步骤S1041:
S301,调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据。
可以理解的是,视频处理端可以调用GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据。需要说明的是,视频处理端对原始视频数据所进行的缩放处理,可以是对原始视频数据中的视频帧所进行的缩放处理。
在一种实现方式中,步骤S301可以包括步骤A1:
A1,在针对每路监控视频给定目标分辨率信息的情况下,调用所述GPU,以按照每路监控视频的目标分辨率信息,对每路监控视频的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;否则,调用所述GPU,以利用预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;其中,所述缩放规则包括:在各路监控视频的总路数处于预定阈值范围的情况下,将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变;其中,每路监控视频对应的参考分辨率为:小于该路监控视频的原始视频数据的分辨率的值。
可以理解的是,针对每路监控视频给定目标分辨率信息的情况,视频处理端可以依据每路监控视频所给定的目标分辨率信息,调用GPU,以对每路监控视频的原始视频数据进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;其中,目标分辨率信息可以用于调整原始视频数据,以使视频播放端按照目标分辨率信息所表征的分辨率进行播放。例如,监控视频A的目标分辨率信息表征:监控视频A需要以704×576的分辨率进行播放,但监控视频A本身是1920×1080的分辨率,那么视频处理端可以对监控视频A进行缩放处理,以使监控视频A可以以704×576的分辨率进行播放。
需要强调的是,每路监控视频给定目标分辨率信息所表征的分辨率总和不能超过视频处理端的处理能力;例如,在每路监控视频给定目标分辨率信息所表征的分辨率总和大于20*1080P的情况下,视频处理端不接受各路监控视频,也就是,开流失败。
针对每路监控视频未给定目标分辨率信息的情况,视频处理端可以按照预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据。具体的,视频处理端可以检测到各路监控视频的总路数,在各路监控视频的总路数处于预定阈值范围的情况下,视频处理端可以将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变,也就是,不对原始视频数据进行缩放处理。例如,在总路数大于9路、且小于等于16路的情况下,对每路监控视频对应的原始视频数据进行缩放处理,使每路监控视频对应的原始视频数据调整为D1格式:分辨率为704×576像素的格式;在总路数大于16路、且小于等于36路的情况下,对每路监控视频对应的原始视频数据进行缩放处理,使每路监控视频对应的原始视频数据调整为CIF格式:分辨率为352×288像素的格式;总路数在其他范围内的,视频处理端不对原始视频数据做缩放处理。
需要说明的是,本实现方式可以为针对缩放处理的一种具体实现方式,并不对本发明构成限定。
需要说明的是,针对缩放处理的具体实施,在一种实现方式中,视频处理端可以使用QSV接口,调用GPU中的专用视频引擎和/或调用GPU通用处理单元,基于GPU并行计算技术,对每路监控视频对应的原始视频数据进行缩放处理。
S1041,调用所述GPU,以对每路监控视频对应的缩放处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。
可以理解的是,视频处理端可以对经过压缩处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。具体的实现方式与上述对每路监控视频的原始视频数据进行指定编码处理类似,在此不做赘述。
在本实施例中,视频处理端可以对每路监控视频对应的原始视频数据,进行缩放处理,减少了编码处理的压力,降低了传输所需带宽,增加了传输效率,可以进一步提高多路监控视频播放的流畅度。
可选的,在另一种实施例中,如图4所示,在图1所示的视频播放方法的基础上,视频播放方法还可以包括步骤S401、步骤S402:
S401,针对每路监控视频,对该路监控视频的协议头信息进行关于视频帧的类型和序号的解析,得到该路监控视频中的各视频帧的类型和序号;其中,每一视频帧的类型至少包括:P帧或I帧。
可以理解的是,视频处理端可以对每路监控视频的协议头信息进行解析,在本实施例中,视频处理端可以针对视频帧的类型以及序号,对每路监控视频的协议头信息进行解析,得到该路监控视频中的各视频帧的类型和序号。其中,每一视频帧的类型可以为P帧或I帧。
需要说明的是,在监控视频的视频帧中,I帧为帧内编码帧,也可以叫做关键帧,I帧无需参考其他图像便可独立进行解码,在视频帧中的第一个帧始终都是I帧;P帧为帧间预测编码帧,也可以叫做预测帧,P帧需要参考前面的I帧才能进行编码,P帧可以表示当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。
S402,对每路监控视频中的异常帧数据进行过滤处理。
可以理解的是,视频处理端可以确定每路监控视频中的异常帧数据,并对异常帧数据进行过滤处理,也就是将异常帧数据丢掉,也可以称为丢帧策略。
在一种实现方式中,每路监控视频中的异常帧的确定方式包括:将该路监控视频中的目标P帧,以及,位于所述目标P帧与最近的I帧之间的P帧,确定为异常帧;其中,所述目标P帧为:所具有序号与前一视频帧的序号的差值不等于预定步长的P帧,所述预定步长为对该路监控视频的各个视频帧设置帧序时所使用的步长。
可以理解的是,监控视频中序号与前一视频帧的序号的差值不等于预定步长的P帧,可以确定为目标P帧,那么,从目标P帧到下一最近的I帧之间的P帧以及目标P帧本身,都可以确定为异常帧。
例如,在预定步长为2、帧序为0,2,4,6,10,12...的P帧中,帧序为10的位置本应当是帧序为8的P帧,但现在是帧序为10的P帧,那么,帧序为10的P帧为目标P帧,从目标P帧开始后面帧序为12的P帧直到下一个I帧,都是异常帧;又例如,在预定步长为1、帧序为12001,12002,12003,12005,12006...的P帧中,帧序为12005的位置本应当是帧序为12004的P帧,但现在是帧序为12005的P帧,那么,帧序为12005的P帧为目标P帧,从目标P帧开始,后面帧序为12006的P帧直到下一个I帧,都是异常帧帧序。
需要说明的是,步骤S401与步骤S402可以为视频处理端所位于设备的CPU,也就是系统内存所执行的。
在一种实现方式中,每路监控视频的协议头信息还可以包括用于保证数据传输的序列号,视频处理端可以通过解析监控视频所携带的协议头信息,获取到序列号,序列号是用于保证帧连续的标识,可以是一个比较大的无符号整数,当序列号连续时,可以判定监控视频在传输过程中没有丢失;当序列号不连续时,可以判定监控视频在传输过程中有丢失。而当监控视频有丢失时,会出现关于视频帧数据丢失的情况,也就是,监控视频中会存在异常帧数据,此时,视频处理端可以执行步骤S401以及步骤S402,以实现对异常帧数据的过滤处理。例如,在视频处理端获取监控视频的过程中,存有待播放的监控视频的设备A向视频处理端发送监控视频,视频处理端可以通过解析监控视频所携带的协议头信息,获取到序列号seq,在序列号seq连续的情况下,判定监控视频没有丢失;在序列号seq不连续的情况下,判定监控视频有丢失;当判定监控视频有丢失时,确定监控视频中的异常帧数据,并对异常帧数据进行过滤处理。
在本实施例中,视频处理端可以对异常帧的数据进行过滤处理,防止监控视频在播放过程中,出现花屏、绿屏等情况,提高了编码、解码处理的效率,进一步提高了多路监控视频播放的流畅度。
为了更好地了解本发明实施例,下面将结合图5,对本发明提供的视频播放方法进行介绍。图5为本发明实施例提供的另一种视频播放方法的流程示意图,如图5所示,视频播放方法可以包括步骤S501-步骤S506:
S501,获取视频播放端待进行播放的多路监控视频。
S502,对每路监控视频中的异常帧数据进行过滤处理。
S503,调用视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
S504,调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据。
S505,调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据。
S506,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放。
需要说明的是,步骤S501-步骤S506在前述实施例中均已进行描述,故此实施例不做赘述。
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
为了更好的理解本发明实施例,下面将结合图6,介绍一种视频播放系统,如图6所示,视频播放系统包括:视频处理端以及视频播放端;
所述视频处理端610,用于获取所述视频播放端待进行播放的多路监控视频;针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式;
所述视频播放端620,用于接收所述视频处理端发送的每路监控视频对应的图片流数据;输出所接收到的每路监控视频对应的图片流数据,以实现每路监控视频的播放。
可选的,所述视频处理端还用于:在调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,
针对每路监控视频,对该路监控视频的协议头信息进行关于视频数据的编码格式的解析,得到该路监控视频的编码格式;
所述视频处理端调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据,包括:
调用所述视频处理端所位于设备中的图像处理器GPU,以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
可选的,所述视频处理端还用于:在调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据之前,
调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
所述视频处理端调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据,包括:
调用所述GPU,以对每路监控视频对应的缩放处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。
可选的,所述视频播放端调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据,包括:
在针对每路监控视频给定目标分辨率信息的情况下,调用所述GPU,以按照每路监控视频的目标分辨率信息,对每路监控视频的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
否则,调用所述GPU,以利用预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
其中,所述缩放规则包括:在各路监控视频的总路数处于预定阈值范围的情况下,将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变;其中,每路监控视频对应的参考分辨率为:小于该路监控视频的原始视频数据的分辨率的值。
可选的,所述视频处理端还用于:在调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,对每路监控视频中的异常帧数据进行过滤处理。
可选的,所述视频处理端还用于:在对每路监控视频中的异常帧数据进行过滤处理之前,针对每路监控视频,对该路监控视频的协议头信息进行关于视频帧的类型和序号的解析,得到该路监控视频中的各视频帧的类型和序号;其中,每一视频帧的类型至少包括:P帧或I帧;
每路监控视频中的异常帧的确定方式包括:将该路监控视频中的目标P帧,以及,位于所述目标P帧与最近的I帧之间的P帧,确定为异常帧;所述目标P帧为:所具有序号与前一视频帧的序号的差值不等于预定步长的P帧,所述预定步长为对该路监控视频的各个视频帧设置帧序时所使用的步长。
可选的,所述视频处理端还用于:在按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放之前,
按照预定周期,定时检测是否在预定时间内收到所述视频播放端发送的存活信息;
在判定结果为是的情况下,执行向所述视频播放端发送每路监控视频对应的图片流数据的步骤。
需要说明的是,本实施例中的内容在前述实施例中均有描述,因此本实施例不做赘述。
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
图7为本发明实施例提供的一种视频播放装置的结构示意图,如图7所示,该装置可以包括如下模块:
获取模块710,用于获取所述视频播放端待进行播放的多路监控视频;
第一解析模块720,用于针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
解码模块730,用于调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
编码模块740,用于调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
发送模块750,用于按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
可选的,所述装置还包括:
第二解析模块,用于在解码模块730调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,针对每路监控视频,对该路监控视频的协议头信息进行关于视频数据的编码格式的解析,得到该路监控视频的编码格式。
所述解码模块,具体用于调用所述视频处理端所位于设备中的图像处理器GPU,以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
可选的,所述装置还包括:
缩放模块,用于在编码模块740调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据之前,调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
所述编码模块740,包括:编码单元,用于调用所述GPU,以对每路监控视频对应的缩放处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。
可选的,所述缩放模块,具体用于在针对每路监控视频给定目标分辨率信息的情况下,调用所述GPU,以按照每路监控视频的目标分辨率信息,对每路监控视频的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
否则,调用所述GPU,以利用预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
其中,所述缩放规则包括:在各路监控视频的总路数处于预定阈值范围的情况下,将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变;其中,每路监控视频对应的参考分辨率为:小于该路监控视频的原始视频数据的分辨率的值。
可选的,所述装置还包括:
过滤模块,用于解码模块730调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,对每路监控视频中的异常帧数据进行过滤处理。
可选的,所述装置还包括:
第三解析模块,用于过滤模块对每路监控视频中的异常帧数据进行过滤处理之前,针对每路监控视频,对该路监控视频的协议头信息进行关于视频帧的类型和序号的解析,得到该路监控视频中的各视频帧的类型和序号;其中,每一视频帧的类型至少包括:P帧或I帧;
每路监控视频中的异常帧的确定方式包括:
将该路监控视频中的目标P帧,以及,位于所述目标P帧与最近的I帧之间的P帧,确定为异常帧;其中,所述目标P帧为:所具有序号与前一视频帧的序号的差值不等于预定步长的P帧,所述预定步长为对该路监控视频的各个视频帧设置帧序时所使用的步长。
可选的,所述装置还包括:
检测模块,用于所述发送模块按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据之前,按照预定周期,定时检测是否在预定时间内收到所述视频播放端发送的存活信息;
在判定结果为是的情况下,执行向所述视频播放端发送每路监控视频对应的图片流数据的步骤。
基于上述方案可知,视频处理端可以调用GPU,以对每路监控视频进行解码处理以及编码处理,得到图片流数据,并且可以通过解析所获取到的每路监控视频的协议头信息,得到每路监控视频的帧率,将解析得到的帧率作为图片流数据向视频播放端发送过程中的传输速率,以使视频播放端输出图片流数据,实现每路监控视频的播放。可见,本方案中视频播放端可以接收由视频处理端传输的每路监控视频对应的图片流数据,通过输出图片流数据即可以实现各路监控视频的播放,无需借助视频播放端的插件或组件的解码,也无需利用CPU进行解码等处理,因此,本方案可以提高多路监控视频播放的流程度。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现视频播放方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频播放方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一视频播放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例与装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种视频播放方法,其特征在于,应用于视频播放系统的视频处理端,所述视频播放系统还包括视频播放端,所述方法包括:
获取所述视频播放端待进行播放的多路监控视频;其中,所述多路监控视频为实时的视频和/或预先存储的视频;
针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端将每路监控视频的帧率作为该路监控视频对应的图片流数据的播放帧率,输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
2.根据权利要求1所述的方法,其特征在于,所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,还包括:
针对每路监控视频,对该路监控视频的协议头信息进行关于视频数据的编码格式的解析,得到该路监控视频的编码格式;
所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据,包括:
调用所述视频处理端所位于设备中的图像处理器GPU,以基于每路监控视频的编码格式对应的视频解码方式,对每路监控视频进行解码处理,得到每路监控视频的原始视频数据。
3.根据权利要求1或2所述的方法,其特征在于,所述调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据之前,还包括:
调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
所述调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据,包括:
调用所述GPU,以对每路监控视频对应的缩放处理后的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据。
4.根据权利要求3所述的方法,其特征在于,所述调用所述GPU,以对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据,包括:
在针对每路监控视频给定目标分辨率信息的情况下,调用所述GPU,以按照每路监控视频的目标分辨率信息,对每路监控视频的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
否则,调用所述GPU,以利用预设的缩放规则,对每路监控视频对应的原始视频数据,进行缩放处理,得到每路监控视频对应的缩放处理后的原始视频数据;
其中,所述缩放规则包括:在各路监控视频的总路数处于预定阈值范围的情况下,将每路监控视频的原始视频数据的分辨率调整为该路监控视频对应的参考分辨率;否则,保持每路监控视频的原始视频数据的分辨率不变;其中,每路监控视频对应的参考分辨率为:小于该路监控视频的原始视频数据的分辨率的值。
5.根据权利要求1所述的方法,其特征在于,所述调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据之前,还包括:
对每路监控视频中的异常帧数据进行过滤处理。
6.根据权利要求5所述的方法,其特征在于,所述对每路监控视频中的异常帧数据进行过滤处理之前,还包括:
针对每路监控视频,对该路监控视频的协议头信息进行关于视频帧的类型和序号的解析,得到该路监控视频中的各视频帧的类型和序号;其中,每一视频帧的类型至少包括:P帧或I帧;
每路监控视频中的异常帧的确定方式包括:将该路监控视频中的目标P帧,以及,位于所述目标P帧与最近的I帧之间的P帧,确定为异常帧;所述目标P帧为:所具有序号与前一视频帧的序号的差值不等于预定步长的P帧,所述预定步长为对该路监控视频的各个视频帧设置帧序时所使用的步长。
7.根据权利要求1所述的方法,其特征在于,所述按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据之前,还包括:
按照预定周期,定时检测是否在预定时间内收到所述视频播放端发送的存活信息;
在判定结果为是的情况下,执行向所述视频播放端发送每路监控视频对应的图片流数据的步骤。
8.一种视频播放系统,其特征在于,所述视频播放系统包括:视频处理端以及视频播放端;
所述视频处理端,用于获取所述视频播放端待进行播放的多路监控视频;其中,所述多路监控视频为实时的视频和/或预先存储的视频;针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端将每路监控视频的帧率作为该路监控视频对应的图片流数据的播放帧率,输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式;
所述视频播放端,用于接收所述视频处理端发送的每路监控视频对应的图片流数据;输出所接收到的每路监控视频对应的图片流数据,以实现每路监控视频的播放。
9.一种视频播放装置,其特征在于,应用于视频播放系统的视频处理端,所述视频播放系统还包括视频播放端,所述装置包括:
获取模块,用于获取所述视频播放端待进行播放的多路监控视频;其中,所述多路监控视频为实时的视频和/或预先存储的视频;
解析模块,用于针对每路监控视频,对该路监控视频的协议头信息进行关于帧率的解析,得到该路监控视频的帧率;
解码模块,用于调用所述视频处理端所位于设备中的图像处理器GPU,以对每路监控视频进行解码处理,得到每路监控视频的原始视频数据;
编码模块,用于调用所述GPU,以对每路监控视频的原始视频数据进行指定编码处理,得到每路监控视频对应的图片流数据;其中,所述指定编码处理用于将每路监控视频的原始视频数据中的视频帧编码为图片格式的数据;
发送模块,用于按照预定的传输方式,向所述视频播放端发送每路监控视频对应的图片流数据,以使所述视频播放端将每路监控视频的帧率作为该路监控视频对应的图片流数据的播放帧率,输出每路监控视频对应的图片流数据,实现每路监控视频的播放;其中,所述预定的传输方式为:针对每路监控视频,以该路监控视频的帧率作为该路监控视频对应的图片流数据的传输速率,进行图片流传输的方式。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
CN202310005139.4A 2023-01-04 2023-01-04 一种视频播放方法、系统、装置、电子设备及存储介质 Active CN115695879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310005139.4A CN115695879B (zh) 2023-01-04 2023-01-04 一种视频播放方法、系统、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310005139.4A CN115695879B (zh) 2023-01-04 2023-01-04 一种视频播放方法、系统、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115695879A CN115695879A (zh) 2023-02-03
CN115695879B true CN115695879B (zh) 2023-03-28

Family

ID=85057418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310005139.4A Active CN115695879B (zh) 2023-01-04 2023-01-04 一种视频播放方法、系统、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115695879B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112752074A (zh) * 2020-12-28 2021-05-04 视联动力信息技术股份有限公司 数据传输方法、装置、终端设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10165286B2 (en) * 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
CN101854520A (zh) * 2010-04-16 2010-10-06 广东中大讯通信息有限公司 一种无线传输视频监控系统及方法
CN102970522B (zh) * 2012-12-12 2016-09-07 四川省电力公司信息通信公司 一种利用客户端访问浏览前端摄像机回传视频图像的方法
CN104980697A (zh) * 2015-04-28 2015-10-14 杭州普维光电技术有限公司 一种网络摄像机视频传输方法
US20170243384A1 (en) * 2016-02-19 2017-08-24 Mediatek Inc. Image data processing system and associated methods for processing panorama images and image blending using the same
CN107959833A (zh) * 2017-12-28 2018-04-24 山东开创云软件有限公司 一种家庭安防监控系统
CN113014882B (zh) * 2021-03-08 2021-09-24 中国铁塔股份有限公司黑龙江省分公司 多源多协议视频融合监控系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112752074A (zh) * 2020-12-28 2021-05-04 视联动力信息技术股份有限公司 数据传输方法、装置、终端设备和存储介质

Also Published As

Publication number Publication date
CN115695879A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US20210350828A1 (en) Reference and Non-Reference Video Quality Evaluation
US10009630B2 (en) System and method for encoding video content using virtual intra-frames
KR101354833B1 (ko) 디지털 비디오의 가변 해상도 인코딩 및 디코딩 기법
CN106791956B (zh) 网络直播卡顿的处理方法及装置
US12015770B2 (en) Method for encoding video data, device, and storage medium
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
CN109391585B (zh) 视频数据处理方法、装置、终端及计算机可读存储介质
CN110505522A (zh) 视频数据的处理方法、装置、及电子设备
CN107800989B (zh) 基于动态帧率检测的视频显示方法、系统及网络录像机
CN112261377B (zh) web版监控视频播放方法、电子设备及存储介质
CN108401188A (zh) 一种媒体播放的方法及装置
CN111641804A (zh) 视频数据处理方法和装置、终端、摄像头及视频会议系统
CN111277800A (zh) 监控视频编码及播放方法、装置、电子设备及存储介质
CA2889418A1 (en) Video management based on changing scenes
Ko et al. Implementation and evaluation of fast mobile VNC systems
US20090049484A1 (en) Method and system for image alteration
CN113709447A (zh) 一种终端设备播放性能的检测方法和装置
CN103929682A (zh) 一种在视频直播系统中设置关键帧的方法及装置
CN117651187A (zh) 视频存储方法、视频播放方法、装置及电子设备
CN115695879B (zh) 一种视频播放方法、系统、装置、电子设备及存储介质
US20130007206A1 (en) Transmission apparatus, control method for transmission apparatus, and storage medium
CN112543348A (zh) 远程录屏方法、装置、设备及计算机可读存储介质
CN107734278B (zh) 一种视频回放方法及相关装置
CN112866745B (zh) 流媒体视频数据处理方法、装置、计算机设备和存储介质
CN115348409A (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