CN117255177A - 客户端自适应的视频播放及请求方法、设备、系统及介质 - Google Patents
客户端自适应的视频播放及请求方法、设备、系统及介质 Download PDFInfo
- Publication number
- CN117255177A CN117255177A CN202311052187.5A CN202311052187A CN117255177A CN 117255177 A CN117255177 A CN 117255177A CN 202311052187 A CN202311052187 A CN 202311052187A CN 117255177 A CN117255177 A CN 117255177A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- client
- stream
- original video
- monitoring client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012544 monitoring process Methods 0.000 claims abstract description 136
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 22
- 230000003044 adaptive effect Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 description 7
- 230000004069 differentiation Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种客户端自适应的视频播放及请求方法、设备、系统及介质,方法包括步骤:接收监控客户端的连接请求消息,响应于连接请求消息而产生并发送Session ID至监控客户端,用于标识后续监控客户端与监控中心服务器之间的同一会话;接收监控客户端的同一会话的初始请求消息,响应于初始请求消息而将原始视频流发送至监控客户端;接收监控客户端的同一会话的上报消息,根据上报消息选择原始视频流/子码流发送至监控客户端,原始视频流/子码流的码率与监控客户端的当前网络状况匹配,节省了带宽消耗,使得在同样的网络环境下,服务器可以接入更多客户端,同时一个客户端可以并发播放更多路视频。
Description
技术领域
本发明涉及智能安防领域,尤其涉及一种客户端自适应的视频播放及请求方法、设备、系统及介质。
背景技术
智能视频监控系统是智能安防领域的基础业务系统,包括监控中心和众多监控设备,例如停车场出入口的摄像头就是监控设备之一。作为源头,摄像头会提供诸如RTSP这种流媒体控制协议的视频流,而监控中心收到该视频流之后,将在监控客户端通过浏览器或者APP等应用程序进行视频流的展示播放,供物业管理人员进行监控管理。
发明人发现,在日常监控中,服务器可能收到不同的监控客户端的视频播放请求,存在以下问题:一方面,不同的请求可能是要求不同的流媒体协议,每种协议之间差别很大,因此服务器需要对监控设备上传的源码流进行各种不同的调整以适配不同的流媒体协议,当请求过多时可能导致反应速度降低;另一方面,网络状况随时会发生变化,在网络带宽较低的情况下,若使用统一码流进行播放,某些客户端将会无法稳定地同时播放多路流媒体视频。
发明内容
本发明提供一种客户端自适应的视频播放及请求方法、设备及介质,旨在解决以上智能安防领域中的服务器在接收不同监控客户端的播放请求时,如何提升对大量不同协议客户端请求的响应速度,以及在网络带宽较低时如何提升客户端的多路播放视频的稳定性问题。
技术方案如下:
一方面,提供一种客户端自适应的视频播放方法,视频播放方法应用于监控中心服务器,监控中心服务器与监控设备、监控客户端通信连接,监控中心服务器保存有监控设备上报的原始视频流,以及由原始视频流转换而成的多个不同码率的子码流,视频播放方法包括:
S100:接收监控客户端的连接请求消息,响应于连接请求消息而产生并发送Session ID至监控客户端,Session ID用于标识后续监控客户端与监控中心服务器之间的同一会话,其中,同一会话中的所有消息使用同一个Session ID;
S200:接收监控客户端的同一会话的初始请求消息,响应于初始请求消息而将原始视频流发送至监控客户端;
S300:接收监控客户端的同一会话的上报消息,上报信息包含指示监控客户端的当前网络状况的第一均值A,第一均值A根据单位时间内接收的原始视频流的实体数据包进行周期性计算;
根据上报消息选择原始视频流/子码流发送至监控客户端,原始视频流/子码流的码率与监控客户端的当前网络状况匹配。
其中,第一均值A的计算方法如下:
在每个完整数据包接收完成时,计算获得单位时间内的单位实体数据包Mn,n为正整数;
将N个单位实体数据包Mn进行相加并求平均,以获得第一均值A,其中
单位实体数据包Mn的计算如下:
其中,Ln为每个完整数据包的大小,Tn为每个完整数据包的接收时间。
其中,步骤S300中的根据上报消息选择原始视频流/子码流发送至监控客户端,具体包括:
根据上报信息中的第一均值A,选择对应的原始视频流/子码流进行发送;
保存上报信息中的Session ID、原始视频流/子码流的参数信息及第一均值的对应关系。
其中,在步骤S300之后,还包括步骤:
S400:将发送成功的原始视频流/子码流缓存,以供其他监控客户端使用。
其中,步骤S300具体包括:
当监控客户端进行多路播放时,根据播放路数和第一均值A,选择对应的原始视频流/子码流进行发送。
另一方面,提供一种客户端自适应的视频请求方法,视频请求方法应用于监控客户端,监控客户端与监控中心服务器通信连接;监控中心服务器还与与监控设备通信连接,并将监控设备上报的每个原始视频流转换为多个不同码率的子码流;视频请求方法包括:
S110:发送连接请求消息至监控中心服务器,接收监控中心服务器针对连接请求消息而产生的Session ID,Session ID用于标识后续监控客户端与监控中心服务器之间的同一会话,其中,同一会话中的所有消息使用同一个Session ID;
S210:发送同一会话的初始请求消息至监控中心服务器,接收监控中心服务器针对初始请求消息而发送的原始视频流/子码流;
S310:根据接收的原始视频流/子码流计算指示监控客户端的当前网络状况的第一均值A,发送包含第一均值的同一会话的上报消息至监控中心服务器,以供监控中心服务器根据第一均值A,选择原始视频流/子码流进行发送。
再一方面,提供一种监控客户端,包括:
处理器、存储器和通信电路,处理器分别连接存储器和通信电路;
其中,通信电路用于通信连接,存储器用于存储有计算机程序,处理器用于执行计算机程序以实现以上的客户端自适应的视频请求方法。
另一方面,提供一种监控中心服务器,包括:
处理器、存储器和通信电路,处理器分别连接存储器和通信电路;
其中,通信电路用于通信连接,存储器用于存储有计算机程序,处理器用于执行计算机程序以实现以上的客户端自适应的视频播放方法。
再一方面,提供一种智能安防系统,包括上述的监控客户端和监控中心服务器。
又一方面,提供一种计算机可读的存储介质,存储有计算机程序,计算机程序能够被处理器执行以实现以上的客户端自适应的视频请求方法和客户端自适应的视频播放方法。
本发明的有益效果是:利用本发明方案,通过在发送视频之后,继续接收同一会话中的客户端上报信息,并分析上报信息的第一均值A,用以实现根据客户端请求及网络的动态变化选择不同的码流进行播放,减少带宽消耗,从而使得在同样的网络环境下,服务器可以接入更多客户端,同时一个客户端可以并发播放更多路视频。
附图说明
图1为本发明一实施例的用于智能安防的视频调度系统架构图;
图2为本发明一实施例的内容自适应的视频播放方法流程示意图;
图3为本发明一实施例的内容自适应的视频播放方法全流程示意图;
图4为本发明一实施例的客户端自适应的视频播放方法流程示意图;
图5为本发明一实施例的客户端自适应的视频请求方法流程示意图;
图6为本发明一实施例的客户端自适应的视频播放方法全流程示意图;
图7为本发明一实施例的客户端自适应的视频播放方法全流程示意图;
图8为本发明一实施例的硬件结构示意图。
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体地实施例的目的,不是用于限制本发明。
实施例一
如图1所示,本发明提供一种用于智能安防的视频调度系统。其中,包括三层结构:用于查看监控视频的监控客户端,视频监控管理平台,以及布置在各个物业场所的监控设备。
其中,视频监控管理平台一般设置于监控中心的机房,有大量服务器进行数据处理,在本发明实施例中也可以称作监控中心服务器。
监控设备一般为具有联网功能的摄像头,可以自动将拍摄的视频实时传输回视频监控管理平台。
客户端可以位于监控中心,也可以位于其他场所,以方便物业管理人员使用。客户端的形态包括但不限于:PC客户端,大屏客户端,移动客户端等。
在视频监控管理平台中,设有实现本发明提供的内容自适应的视频播放方法的计算机程序,用以实现根据监控视频的动态变化调整视频流的播放帧率,减少带宽消耗,从而使得在同样的网络环境下,一个客户端可以并发播放更多路视频。
如图2-3所示,本发明的内容自适应的视频播放方法,具体包括以下步骤:
S10:接收监控设备上报的原始视频流,原始视频流采用实时流传输协议;
S20:根据原始视频流,计算生成视频帧序列;
S30:分析视频帧序列中相邻帧的运动物体差异变化,获得差异化指标;
S40:根据差异化指标,设置视频帧序列的播放帧率为第一播放帧率;
S50:将视频帧序列按照第一播放帧率传输至监控客户端,以供监控客户端播放。
具体地,参考图3,提供一种全流程的实施例。
其中,监控中心服务器向监控客户端以逐帧的方式发送流信息,视频帧分为I帧、P帧、B帧。
I帧表示关键帧,通常情况下,解码I帧数据就能够解析出一幅图像。
P帧表示预测帧,解码时须要用之前I帧或者P帧缓存的画面叠加上本帧解码图像生成完整图像。
B帧要参考其前一个I帧或者P帧及其后面的一个P帧来生成一张完整的图片。
其中P帧可以提高压缩效率和图像质量,B帧可以很大提高压缩倍数。
因此,通过分析视频帧的前后帧的区别,从而获得差异化指标,并且将差异化指标分为不同的几个级别区间,例如分为第一级别,第二级别,第三级别,其中第一级别为差异最大,第三级别为差异最小。当判断差异化指标为第一级别时,则将当前帧率设置为最高值;当判断差异化指标为第三级别时,将当前帧率设置为最低值。从而达到如下效果:当前后帧的区别不大时,也就是当前监控视频的画面基本处于静止时,将帧率降至最低,从而减少当前的带宽消耗;当前后帧区别较大时,也就是当前监控视频的画面有变动,例如有人员经过,或者飞鸟经过等等,则将帧率提升,从而使更多有效视频呈现给用户,提高用户体验。
其中,获得差异化指标的算法为帧间差分法,具体地,帧间差分法包括:
对视频帧序列中每一帧图像进行灰度处理,以获得灰度图像;
对灰度图像中每个像素点进行二值化处理,以获得二值化矩阵;
将相邻两帧的二值化矩阵进行差分运算,以获得差异化指标。
其中,灰度处理采用加权平均值法,具体为:Y=0.299R+0.587G+0.114B,其中,RGB即是代表红、绿、蓝三个通道的颜色,Y为明亮度。
其中,二值化处理具体为:将灰度图像的所有像素点取值相加再取平均值,以获得第一阈值,根据第一阈值将灰度图像每个像素点的值设为0或者1。相比于其他二值化处理算法,本方法比较简单,消耗的计算资源较少,且经过验证发现基本满足现有监控画面的应用场景,因此有利于提升服务效率。
其中,内容自适应的视频播放方法还包括:根据差异化指标,设置视频帧序列的分辨率为第一分辨率;将视频帧序列按照第一分辨率传输至监控客户端,以供监控客户端播放。也就是说,除了调整播放帧率(即单位时间内传输的图像数量)之外,还可以调整每一帧图像的分辨率,从而提供更精细化的调整维度,例如可以进一步降低带宽的消耗,或者进一步提升用户体验。
其中,参考图3,内容自适应的视频播放方法还包括:
接收监控客户端的限定指令,限定指令包括第二播放帧率;
设置视频帧序列的播放帧率为第二播放帧率;
将视频帧序列按照第二播放帧率传输至监控客户端,以供监控客户端播放。
具体地,在某些特殊应用场景中,监控客户端需要指定最高级别的视频质量(例如指定高级别的播放帧率),也就是说,无论视频画面和网络环境发生任何变化,该监控客户端要求保证最优先级的视频质量。
此时,本方法可以接收监控客户端限定指令,在限定指令中包含第二播放帧率,该第二播放帧率可能就是指定的最高级别的播放帧率。则监控中心服务器在收到该指令之后,就始终按照第二播放帧率来播放视频至该监控客户端,而不能根据视频画面的动静来进行调整。
进一步地,第二播放帧率也可以是指定的其他任何级别的播放帧率,在此不做限制。
进一步地,限定指令还可以包括第二分辨率。
进一步地,本申请内容自适应的视频播放方法实施例可以在视频监控管理平台运行。本实施例中计算机软件作为运行本申请内容自适应的视频播放方法的执行主体。
另一方面,本发明提供一种监控中心服务器,监控中心服务器为一种计算机设备,具体包括:
处理器、存储器和通信电路,处理器分别连接存储器和通信电路;
其中,通信电路用于通信连接,存储器用于存储有计算机程序,处理器用于执行计算机程序以实现以上任一项的方法。
又一方面,本发明提供一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以上的实施例中各方法的步骤。
具体参考图8,在实际应用中,图8为本发明各方法涉及的硬件运行环境的结构示意图。
如图8所示,该硬件运行环境可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图8中示出的各方法运行的硬件结构并不构成对各方法运行设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。其中,操作系统是管理和控制程序,支持网络通信模块、用户接口模块、计算机程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图8所示的硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的计算机程序,并执行以上所述的方法。
实施例二
参考图4-6,本申请还提供一种客户端自适应的视频播放方法,视频播放方法应用于监控中心服务器,监控中心服务器与监控设备、监控客户端通信连接,监控中心服务器保存有监控设备上报的原始视频流,以及由原始视频流转换而成的多个不同码率的子码流。
具体地,参考图4,视频播放方法包括:
S100:接收监控客户端的连接请求消息,响应于连接请求消息而产生并发送Session ID至监控客户端,Session ID用于标识后续监控客户端与监控中心服务器之间的同一会话,其中,同一会话中的所有消息使用同一个Session ID;
S200:接收监控客户端的同一会话的初始请求消息,响应于初始请求消息而将原始视频流发送至监控客户端;
S300:接收监控客户端的同一会话的上报消息,上报信息包含指示监控客户端的当前网络状况的第一均值A,第一均值A根据单位时间内接收的原始视频流的实体数据包进行周期性计算;
根据上报消息选择原始视频流/子码流发送至监控客户端,原始视频流/子码流的码率与监控客户端的当前网络状况匹配。
本方法通过在监控中心服务器和某一监控客户端之间建立起同一会话的通信连接,并且监控中心服务器在发送原始视频流至监控客户端之后,通过同一会话的上报消息,可以持续周期性地检测该监控客户端的网络状况,并根据该网络状况变化相应地选择切换发送不同码率的视频流,从而起到根据监控客户端的实际带宽网络情况调整视频码流,保证视频服务播放的流畅性。
其中,第一均值A的计算方法如下:
在每个完整数据包接收完成时,计算获得单位时间内的单位实体数据包Mn,n为正整数;
将N个单位实体数据包Mn进行相加并求平均,以获得第一均值A,其中
单位实体数据包Mn的计算如下:
其中,Ln为每个完整数据包的大小,Tn为每个完整数据包的接收时间。
其中,步骤S300中的根据上报消息选择原始视频流/子码流发送至监控客户端,具体包括:
根据上报信息中的第一均值A,选择对应的原始视频流/子码流进行发送;
保存上报信息中的Session ID、原始视频流/子码流的参数信息及第一均值的对应关系。
该对应关系可以作为经验数据,用于后续的同一客户端的网络状况改变时的不同码流视频选择的参考数据。从而在获取到第一均值A时,通过经验数据直接确定对应的码流,而不需要将第一均值A与每个原始视频流/子码流的码率进行比对之后才确定将要发送的视频流。
其中,在步骤S300之后,还包括步骤:
S400:将发送成功的原始视频流/子码流缓存,以供其他监控客户端使用。
缓存不仅可以供本次请求的客户端使用,还可以供后续其他客户端使用,从而提升响应速度。
其中,步骤S300具体包括:
当监控客户端进行多路播放时,根据播放路数和第一均值A,选择对应的原始视频流/子码流进行发送。
例如,当一个监控客户端将4路播放切换成8路播放时,由于路数增加,必然导致占用的带宽需求更高,则需要综合考虑第一均值A和增加的路数,从而选择更低码率的子码流进行发送,以便满足8路能够同时流畅播放的情况。
另一方面,参考图5,还提供一种客户端自适应的视频请求方法,视频请求方法应用于监控客户端,监控客户端与监控中心服务器通信连接;监控中心服务器还与与监控设备通信连接,并将监控设备上报的每个原始视频流转换为多个不同码率的子码流;视频请求方法包括:
S110:发送连接请求消息至监控中心服务器,接收监控中心服务器针对连接请求消息而产生的Session ID,Session ID用于标识后续监控客户端与监控中心服务器之间的同一会话,其中,同一会话中的所有消息使用同一个Session ID;
S210:发送同一会话的初始请求消息至监控中心服务器,接收监控中心服务器针对初始请求消息而发送的原始视频流/子码流;
S310:根据接收的原始视频流/子码流计算指示监控客户端的当前网络状况的第一均值A,发送包含第一均值的同一会话的上报消息至监控中心服务器,以供监控中心服务器根据第一均值A,选择原始视频流/子码流进行发送。
参考图6,这是一个端到端全流程的例子,具体包括以下流程:
1、监控设备上报原始视频流至监控中心服务器。
2、监控中心服务器将原始视频流转码产生第一子码流、第二子码流、第三子码流,其中不同的子码流对应不同的码率,包括不同的分辨率以及播放的帧率等等。
例如:
第一子码流为1920*1080分辨率,(120-200)KB/s/路;
第二子码流为1280*720分辨率,(80-150)KB/s/路;
第三子码流为:800*600分辨率,(50-90)KB/s/路;
当检测到监控客户端的网络状态不好时,可以选择对应的最低分辨率和播放帧率的第三子码流进行播放,从而降低网络带宽的占用,使得该监控客户端在网络变差的情况下,依然可以流畅地播放监控视频。当检测到监控客户端的网络状态很好时,可以选择对应的最搞分辨率和播放帧率的第一子码流进行播放,从而提升用户的体验。
3、接收监控客户端的连接请求信息。
4、分配一个SessionID(会话ID),用以表示同一会话,后续的上报信息也使用同一个SessionID。
5、接收监控客户端的原始请求信息。
6、选择一个视频流发送给监控客户端。一般默认选择一个视频流进行发送,因为此时还没有开始检测网络状况,无法获知监控客户端的网络情况,因此只能发送默认值。但是默认值也可以设置,例如可以是第一子码流,也可以是第三子码流,也可以是原始视频流,在此不做限制。
7、接收监控客户端的周期性上报信息。
8、根据上报信息中的关键信息,例如第一均值A,来判断当前网络状态,从而选择对应的视频流进行发送,该视频流是最匹配当前监控客户端网络状态的一种。
具体地,第一均值A的计算如下:
监控客户端开始接收流实体(Entity)数据包时,记录开始接收时间(StartTime),监控客户端在接口一个完整实体数据包后,记录结束时间(EndTime)同时记录服务端响应详细头部信息(响应头)中Content-Length,Content-Length为此次实体数据包大小,监控客户端使用Content-Length除以(EndTime-StartTime),得到单位时间内监控客户端能接受的实体数据包大小,监控客户端重复接收多次实体数据包后,取多次监控客户端单位时间能接受的实体数据包大小的平均值(average),监控客户端以心跳包的形式将平均值以请求头的方式上报给服务端
一种监控客户端上报消息格式如下:
Real Time Streaming Protocol
Request HEARTBEAT rtsp://172.0.0.1:554/RTSP/1.0\r\n
Session:SessionID
Average:average\r\n
\r\n
进一步地,在每次根据变化的第一均值A切换了发送的视频流时,将当前的发送的视频流信息、sessionID、第一均值A的对应关系存储起来,用以后续进行分析和调用。可以存储在数据库里,也可以是其他文件形式。这些数据可以作为统计数据,用以作为经验值影响后续的判断,例如根据这些统计数据将第一均值A进行区间划分,每个区间对应一个码流。统计数据可以周期性地进分析,也可以实施反馈分析。
进一步地,参考图7,提供了一种端到端连接框架及方法流程的实施例。从图中可以看出,当将三个不同码率的子码流缓存至转码缓冲区之后,客可以更快速地响应不同客户端的请求。并且,由于一个服务器要同时对接多个客户端,通过本方案,在满足不同网络状况的客户端的同时,还可以提升服务器整体的响应性能。例如,在部分客户端空闲时间,还可以提升其他客户端的播放码流,从而让有视频播放请求的客户端进一步提升视频播放清晰度,提升体验。
再一方面,提供一种监控客户端,包括:
处理器、存储器和通信电路,处理器分别连接存储器和通信电路;
其中,通信电路用于通信连接,存储器用于存储有计算机程序,处理器用于执行计算机程序以实现以上的客户端自适应的视频请求方法。
另一方面,提供一种监控中心服务器,包括:
处理器、存储器和通信电路,处理器分别连接存储器和通信电路;
其中,通信电路用于通信连接,存储器用于存储有计算机程序,处理器用于执行计算机程序以实现以上的客户端自适应的视频播放方法。
再一方面,提供一种智能安防系统,包括上述的监控客户端和监控中心服务器。
又一方面,提供一种计算机可读的存储介质,存储有计算机程序,计算机程序能够被处理器执行以实现以上的客户端自适应的视频请求方法和客户端自适应的视频播放方法。
具体设计的硬件环境参考实施例一种所述,在此不再赘述。
综上所述,本申请有以下有益效果:
1、通过内容自适应的视频播放方法实现根据监控视频的动态变化调整视频流的播放帧率,减少带宽消耗,从而使得在同样的网络环境下,一个客户端可以并发播放更多路视频,同时监控人员可以针对同一监控设备的视频进行更高效的查看分析,提升监控效率。
2、通过客户端自适应的视频播放及请求方法实现根据客户端请求及网络的动态变化选择不同的码流进行播放,减少带宽消耗,从而使得在同样的网络环境下,服务器可以接入更多客户端,同时一个客户端可以并发播放更多路视频。
Claims (10)
1.一种客户端自适应的视频播放方法,其特征在于,所述视频播放方法应用于监控中心服务器,所述监控中心服务器与监控设备、监控客户端通信连接,所述监控中心服务器保存有所述监控设备上报的原始视频流,以及由所述原始视频流转换而成的多个不同码率的子码流,所述视频播放方法包括:
S100:接收所述监控客户端的连接请求消息,响应于所述连接请求消息而产生并发送Session ID至所述监控客户端,所述Session ID用于标识后续所述监控客户端与所述监控中心服务器之间的同一会话,其中,所述同一会话中的所有消息使用所述同一个SessionID;
S200:接收所述监控客户端的同一会话的初始请求消息,响应于所述初始请求消息而将所述原始视频流发送至所述监控客户端;
S300:接收所述监控客户端的同一会话的上报消息,所述上报信息包含指示所述监控客户端的当前网络状况的第一均值A,所述第一均值A根据单位时间内接收的所述原始视频流的实体数据包进行周期性计算;
根据所述上报消息选择所述原始视频流/子码流发送至所述监控客户端,所述原始视频流/子码流的码率与所述监控客户端的当前网络状况匹配。
2.根据权利要求1所述的客户端自适应的视频播放方法,其特征在于,所述第一均值A的计算方法如下:
在每个完整数据包接收完成时,计算获得单位时间内的单位实体数据包Mn,n为正整数;
将N个单位实体数据包Mn进行相加并求平均,以获得第一均值A,其中
所述单位实体数据包Mn的计算如下:
其中,Ln为每个所述完整数据包的大小,Tn为每个所述完整数据包的接收时间。
3.根据权利要求2所述的客户端自适应的视频播放方法,其特征在于,所述步骤S300中的根据所述上报消息选择所述原始视频流/子码流发送至所述监控客户端,具体包括:
根据所述上报信息中的所述第一均值A,选择对应的所述原始视频流/子码流进行发送;
保存所述上报信息中的Session ID、所述原始视频流/子码流的参数信息及所述第一均值的对应关系。
4.根据权利要求3所述的客户端自适应的视频播放方法,其特征在于,在步骤S300之后,还包括步骤:
S400:将发送成功的所述原始视频流/子码流缓存,以供其他所述监控客户端使用。
5.根据权利要求4所述的客户端自适应的视频播放方法,其特征在于,所述步骤S300具体包括:
当所述监控客户端进行多路播放时,根据播放路数和所述第一均值A,选择对应的所述原始视频流/子码流进行发送。
6.一种客户端自适应的视频请求方法,其特征在于,所述视频请求方法应用于监控客户端,所述监控客户端与监控中心服务器通信连接;所述监控中心服务器还与与监控设备通信连接,并将所述监控设备上报的每个原始视频流转换为多个不同码率的子码流;所述视频请求方法包括:
S110:发送连接请求消息至所述监控中心服务器,接收所述监控中心服务器针对所述连接请求消息而产生的Session ID,所述Session ID用于标识后续所述监控客户端与所述监控中心服务器之间的同一会话,其中,所述同一会话中的所有消息使用所述同一个Session ID;
S210:发送所述同一会话的初始请求消息至所述监控中心服务器,接收所述监控中心服务器针对所述初始请求消息而发送的所述原始视频流/子码流;
S310:根据接收的所述原始视频流/子码流计算指示所述监控客户端的当前网络状况的第一均值A,发送包含所述第一均值的同一会话的上报消息至所述监控中心服务器,以供所述监控中心服务器根据所述第一均值A,选择所述原始视频流/子码流进行发送。
7.一种监控客户端,其特征在于,包括:
处理器、存储器和通信电路,所述处理器分别连接所述存储器和所述通信电路;
其中,所述通信电路用于通信连接,所述存储器用于存储有计算机程序,所述处理器用于执行所述计算机程序以实现如权利要求6所述的方法。
8.一种监控中心服务器,其特征在于,包括:
处理器、存储器和通信电路,所述处理器分别连接所述存储器和所述通信电路;
其中,所述通信电路用于通信连接,所述存储器用于存储有计算机程序,所述处理器用于执行所述计算机程序以实现如权利要求1-5任一项所述的方法。
9.一种智能安防系统,其特征在于,包括如权利要求7所述的监控客户端和如权利要求8所述的监控中心服务器。
10.一种计算机可读的存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-5任一项所述的方法,或者如权利要求6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311052187.5A CN117255177A (zh) | 2023-08-18 | 2023-08-18 | 客户端自适应的视频播放及请求方法、设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311052187.5A CN117255177A (zh) | 2023-08-18 | 2023-08-18 | 客户端自适应的视频播放及请求方法、设备、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117255177A true CN117255177A (zh) | 2023-12-19 |
Family
ID=89135902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311052187.5A Pending CN117255177A (zh) | 2023-08-18 | 2023-08-18 | 客户端自适应的视频播放及请求方法、设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117255177A (zh) |
-
2023
- 2023-08-18 CN CN202311052187.5A patent/CN117255177A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11503307B2 (en) | System and method for automatic encoder adjustment based on transport data | |
WO2021244341A1 (zh) | 图像编码方法及装置、电子设备及计算机可读存储介质 | |
US20070024705A1 (en) | Systems and methods for video stream selection | |
US20090234919A1 (en) | Method of Transmitting Data in a Communication System | |
US20130304934A1 (en) | Methods and systems for controlling quality of a media session | |
US20140181266A1 (en) | System, streaming media optimizer and methods for use therewith | |
CN114448967B (zh) | 用于视频的配置文件阶梯的自适应转码 | |
CN111601118A (zh) | 直播视频的处理方法、系统、装置及终端 | |
CN109729437B (zh) | 流媒体自适应传输方法、终端和系统 | |
CN110662114B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US20170142029A1 (en) | Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium | |
CN107333143B (zh) | 5g多接入并发传输控制系统及方法 | |
EP2272237A1 (en) | Method of transmitting data in a communication system | |
CN113286146B (zh) | 媒体数据处理方法、装置、设备以及存储介质 | |
US20120281757A1 (en) | Scene change detection for video transmission system | |
CN108810468B (zh) | 一种优化显示效果的视频传输装置及方法 | |
AU2019201095A1 (en) | System and method for automatic encoder adjustment based on transport data | |
CN117255177A (zh) | 客户端自适应的视频播放及请求方法、设备、系统及介质 | |
CN117176984A (zh) | 内容自适应的视频播放方法、服务器、系统及介质 | |
CN115883877A (zh) | 一种超高清视频流的传输方法及系统 | |
CN114866763A (zh) | 一种视频质量的评估方法、装置、终端设备和存储介质 | |
Hsu et al. | Measuring objective visual quality of real-time communication systems in the wild | |
CN113207011A (zh) | 一种短视频处理用预加载方法 | |
Ren et al. | Improving quality of experience for mobile broadcasters in personalized live video streaming | |
TW202207053A (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 |