CN114900662A - 视频流传输质量信息确定方法、***、设备及介质 - Google Patents
视频流传输质量信息确定方法、***、设备及介质 Download PDFInfo
- Publication number
- CN114900662A CN114900662A CN202210515395.3A CN202210515395A CN114900662A CN 114900662 A CN114900662 A CN 114900662A CN 202210515395 A CN202210515395 A CN 202210515395A CN 114900662 A CN114900662 A CN 114900662A
- Authority
- CN
- China
- Prior art keywords
- server
- time
- forwarding
- message
- video 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000011664 signaling Effects 0.000 claims abstract description 267
- 230000004044 response Effects 0.000 claims abstract description 178
- 238000012360 testing method Methods 0.000 claims description 64
- 238000011144 upstream manufacturing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000012372 quality testing Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种视频流传输质量信息确定方法、***、设备及介质,该方法通过级联服务器向视频流提供设备发送初始请求消息,接收通过级联服务器反馈的根据初始响应消息生成的转发响应消息获取初始请求生成时刻、初始响应生成时刻,以及各信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数并确定视频流传输质量信息,能够提升视频流传输质量信息的确定效率,降低对人员的技能要求,人力成本低。
Description
技术领域
本发明实施例涉及视频监控技术领域,特别是涉及一种视频流传输质量信息确定方法、***、设备及介质。
背景技术
监控***又称之为闭路电视监控***(Closed-Circuit Television,缩写CCTV),典型的监控***主要由前端音视频采集设备、音视频传输设备、后端存储、控制及显示设备这五大部分组成,其中后端设备可进一步分为中心控制设备和分控制设备。
相关技术中,当音视频传输设备包括多个级联的信令服务器所形成的级联服务器时,实时视频流播放质量往往取决于实时视频流传输质量信息,实时视频流传输质量信息的确定往往需要逐一对级联的媒体、信令服务器进行排查、测试,需要在不同的级联服务器上进行报文抓取,分析报文的过程复杂,需要分析大量的报文来定位问题,效率低;测试人员需要对环境组网、SIP协议(Session Initiation Protocol,会话初始协议)、RTSP(RealTime Streaming Protocol,实时流传输协议)流媒体标准相当的熟悉,同时要熟练掌握抓包工具的使用,熟悉信令、媒体的报文结构,对于非专业人员或不太熟悉的人员,难以完成测试任务,对测试人员技能要求高,测试过程中,即便熟悉测试的人员,对单路视频的测试和定位,耗费大量人力,人力成本高。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种视频流传输质量信息确定方法、***、设备及介质,用于解决相关技术中视频流传输质量信息确定过程中效率低、对人员技能要求高以及人力成本高的技术问题。
针对于上述问题,本发明实施例提供了一种视频流传输质量信息确定方法,所述方法包括:
通过级联服务器向视频流提供设备发送初始请求消息,所述级联服务器包括多个级联的信令服务器;
接收通过所述级联服务器反馈的根据所述初始响应消息生成的转发响应消息,所述初始响应消息由所述视频流提供设备根据所述初始请求消息生成;
获取初始请求生成时刻、初始响应生成时刻,以及各所述信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,以确定所述级联服务器的视频流传输质量信息,所述初始请求生成时刻为所述初始请求消息生成的时刻,所述初始响应生成时刻为所述初始响应消息生成的时刻,所述请求转发时刻为所述信令服务器转发所述初始请求消息的时刻,所述响应转发时刻为所述信令服务器转发所述初始响应消息的时刻。
本发明实施例还提供了一种视频流传输质量信息确定***,所述***包括:
发送模块,用于通过级联服务器向视频流提供设备发送初始请求消息,所述级联服务器包括多个级联的信令服务器;
接收模块,用于接收通过所述级联服务器反馈的根据所述初始响应消息生成的转发响应消息,所述初始响应消息由所述视频流提供设备根据所述初始请求消息生成;
确定模块,用于获取初始请求生成时刻、初始响应生成时刻,以及各所述信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,并确定视频流传输质量信息,所述初始请求生成时刻为所述初始请求消息生成的时刻,所述初始响应生成时刻为所述初始响应消息生成的时刻,所述请求转发时刻为所述信令服务器转发所述初始请求消息的时刻,所述响应转发时刻为所述信令服务器转发所述初始响应消息的时刻。
本发明实施例还提供了一种电子设备,包括处理器、存储器和通信总线;
所述通信总线用于将所述处理器和存储器连接;
所述处理器用于执行所述存储器中存储的计算机程序,以实现如上述实施例中任一项所述的方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行如上述实施例中任一项所述的方法。
如上所述,本发明实施例提供的一种视频流传输质量信息确定方法、***、设备及介质,具有以下有益效果:
该方法包括通过级联服务器向视频流提供设备发送初始请求消息,接收通过级联服务器反馈的根据初始响应消息生成的转发响应消息获取初始请求生成时刻、初始响应生成时刻,以及各信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,以确定视频流传输质量信息,能够提升视频流传输质量信息的确定效率,降低对人员的技能要求,人力成本低。
附图说明
图1为本发明一实施例提供的实施环境的一种示意图;
图2为本发明一实施例提供的视频流传输质量信息确定方法的一种流程示意图。
图3为本发明一实施例提供的级联服务器中消息传递的一种流程示意图。
图4为本发明一实施例提供的级联服务器中视频流报文的一种结构示意图;
图5为本发明一实施例提供的级联服务器中视频流报文传递的一种流程示意图。
图6为本发明一实施例提供的视频流传输质量信息确定***的一种结构示意图;
图7为本发明一实施例提供的视频流传输质量信息确定***的另一种结构示意图;
图8为一实施例提供的电子设备的一种结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
监控***又称之为闭路电视监控***(Closed-Circuit Television,缩写CCTV),典型的监控***主要由前端音视频采集设备、音视频传输设备、后端存储、控制及显示设备这五大部分组成,其中后端设备可进一步分为中心控制设备和分控制设备。
以GB/T28181-2011国家标准或GB/T28181-2016为例,该标准包括城市监控报警联网***中信息传输、交换、控制的互联结构、通信协议结构,传输、交换、控制的基本要求和安全要求,以及控制、传输流程和协议接口等技术要求,目前国内厂商积极响应,在各类项目中普遍推广使用。在针对基于GB/T28181-2011实时视频流播放质量的确定过程中,通常测试的指标包括连接是否正常;视频流播放是否卡顿,是否延迟,是否花屏,是否跳帧,目前针对实时视频流播放质量的测试,具体测试步骤如下:
1、通过web客户端视频播放插件或视频播放客户端通GB/T28181-2011与摄像机等视频流提供设备建立连接,拉取视频流并在客户端播放监控的实时视频,验证播放的视频是否有卡顿、延迟、花屏的现象。
2、在服务器、客户端通过抓包方式,抓取信令流、媒体流报文。分析信令的交互过程、媒体流的帧结构,来排查定位问题。当涉及多个信令、媒体级联时,需要逐一对级联的媒体、信令服务器进行排查。
当音视频传输设备包括多个级联的信令服务器所形成的级联服务器时,实时视频流播放质量往往取决于实时视频流传输质量信息,实时视频流传输质量信息的确定往往需要逐一对级联的媒体、信令服务器进行排查,需要在不同的级联服务器上进行报文抓取,分析报文的过程复杂,需要分析大量的报文来定位问题,测试效率低;测试人员需要对环境组网、SIP协议(Session Initiation Protocol,会话初始协议)、RTSP(Real Time StreamingProtocol,实时流传输协议)流媒体标准相当的熟悉,同时要熟练掌握抓包工具的使用,熟悉信令、媒体的报文结构,对于非专业人员或不太熟悉的人员,难以完成测试任务,对测试人员技能要求高,测试过程中,即便熟悉测试的人员,对单路视频的测试和定位,耗费大量人力,人力成本高。
因此,本申请实施例提出了一种视频流传输质量信息确定方法,请参阅图1,图1是本申请一种实施环境的示意图,该实施环境示意图包括视频流提供设备101、级联服务器102和视频流传输质量信息确定***103,视频流提供设备101、级联服务器102、视频流传输质量信息确定***103之间通过有线或者无线网络进行通信。级联服务器102包括一个或多个信令服务器。视频流提供设备101包括一个或多个摄像头等设备,每一个摄像头均可以包括一路或多路码流通道。
应该理解,图1中的视频流提供设备101、级联服务器102和视频流传输质量信息确定***103的数目仅仅是示意性的。根据实际需要,可以具有任意数目的视频流提供设备101、级联服务器102和视频流传输质量信息确定***103。
其中,视频流提供设备101可以是如IPC网络摄像头等设备,采集监控区域内的监控视频等,级联服务器102可以是依次级联,也可以是采用本领域技术人员所知晓的其他方式进行级联。视频流传输质量信息确定***103可部署于终端或服务器等位置,服务器可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
在本申请的一些实施例中,视频流传输质量信息确定方法可以由视频流传输质量信息确定***所在的服务器等实体结构进行执行。
结合上述实施环境示例,下面将对本申请中视频流传输质量信息确定方法进行介绍,请参阅图2,图2为本申请实施例提供的一种视频流传输质量信息确定方法的流程图,该方法可以是由搭载有视频流传输质量信息确定***的服务器或终端执行的,如图2所示,视频流传输质量信息确定方法至少包括步骤S201至步骤S203,详细介绍如下:
请参阅图2,本发明实施例提供的视频流传输质量信息确定方法,包括:
步骤S201:通过级联服务器向视频流提供设备发送初始请求消息。
其中,级联服务器包括多个级联的信令服务器。各信令服务器可以是如图1所示的相互依次级联,也可以采用本领域技术人员所知晓的其他方式实现级联。
步骤S202:接收通过级联服务器反馈的根据初始响应消息生成的转发响应消息。其中,初始响应消息由视频流提供设备根据初始请求消息生成,需要说明的是,该步骤所接收的转发响应消息为级联服务器中连接关系远离视频流提供设备一端的一个信令服务器所生成。
步骤S203:获取初始请求生成时刻、初始响应生成时刻,以及各信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数并确定视频流传输质量信息。
其中,初始请求生成时刻为初始请求消息生成的时刻,初始响应生成时刻为初始响应消息生成的时刻,请求转发时刻为信令服务器转发初始请求消息的时刻,响应转发时刻为信令服务器转发初始响应消息的时刻。
在一个实施例中,通过级联服务器向视频流提供设备发送初始请求消息之前,该方法还包括:
获取预设抓取报文存储路径和级联服务器中各信令服务器的信令服务器地址信息和信令服务器鉴权信息,根据预设抓取报文存储路径、信令服务器地址信息和信令服务器鉴权信息生成抓包消息并下发给信令服务器,其中,预设抓取报文存储路径可以由本领域技术人员根据需要进行设置,该预设抓取报文存储路径指向预设存储空间,待满足一定条件后,将指定信息根据预设抓取报文存储路径存储在预设存储空间中,信令服务器地址信息包括但不限于信令服务器的地址(ip_addr)和端口号(ip_port),信令服务器鉴权信息包括但不限于用户标识(username)和账户密钥(password),抓包消息还包括命令(command),命令(command)主要是下发抓包启动命令到信令服务器,同时内置抓取报文的预设抓取报文存储路径,当测试结束后,停止抓包并将抓取到的报文文件下载到测试本地(预设存储空间),可以理解抓包消息用于从各信令服务器中抓取信令服务器转发初始请求消息和初始响应消息所生成的转发请求消息和转发响应消息,并待一定条件(如接收到一个转发响应消息后)将每一个信令服务器中的报文(转发请求消息和转发响应消息)基于预设抓取报文存储路径存储到预设存储空间中;
基于抓包消息从信令服务器中抓取信令服务器转发初始请求消息所生成的转发请求消息(转发请求报文),以及基于抓包消息从信令服务器中抓取信令服务器转发初始响应消息所生成的转发响应消息(转发响应报文),初始请求消息通过级联服务器中的每一个信令服务器传输给视频流提供设备的过程中,每一个信令服务器都基于接收到的包括有初始请求消息的报文生成一个转发请求消息(转发请求报文),可选的,转发请求消息还包括该信令服务器的服务器标识(如地址或端口号等),以便后续对各报文的来源进行区分,相似的,转发响应消息与上述转发请求消息类似,在此不再赘述;
获取通过级联服务器传输的初始响应消息之后,将各信令服务器中抓取的转发请求消息和转发响应消息下载到抓取报文存储路径的预设存储空间,此时预设存储空间中存储有每一个级联服务器所发出和接收的转发请求消息、转发响应消息,以及初始请求消息和初始响应消息,便于后续有需要时及时从预设存储空间中提取数据进行分析。
在一个实施例中,视频流提供设备包括多个码流通道,该方法还包括:
通过级联服务器向视频流提供设备的各码流通道发送初始请求消息;
接收视频流提供设备中各码流通道通过级联服务器反馈的转发响应消息。
可选的,初始请求消息包括码流通道标识,初始响应消息包括码流通道标识,码流通道标识用于区分不同的码流通道。基于该码流通道标识可以知晓当前初始请求消息所针对的是哪一个码流通道,同时基于该码流通道标识可以知晓当前初始响应消息是来源于哪一个码流通道。转发响应消息根据初始响应消息生成。
可选的,转发请求消息可以是在初始请求消息的基础上增加一个新的报文头,该报文头包括有请求转发时刻的时间戳、转发服务器标识等信息。转发请求消息也可以是在原有初始请求消息的基础上进行改写,保留原有报文内容如命令等,将时间戳、发送方标识等更改为请求转发时刻的时间戳、转发服务器标识等信息。
在一个实施例中,转发请求消息根据初始请求消息生成,当级联服务器接收到初始请求消息后,第一个信令服务器1生成对应的转发请求消息1,并将该转发请求消息1转发为第二个信令服务器,相似的,第二个信令服务器2根据转发请求消息1生成转发请求消息2……直到最后一个信令服务器N+1根据其所接收到的转发请求消息N生成转发请求消息(N+1),并将其转发给视频流提供设备,触发视频流提供设备生成初始响应消息,最后一个信令服务器N+1接收到初始响应消息生成转发响应消息1,信令服务器N根据其所接收到的转发请求消息1生成转发请求消息2……信令服务器2根据其所接收到的转发请求消息(N-1)生成转发请求消息N,信令服务器1根据其所接收到的转发请求消息N生成转发请求消息(N+1)并将该转发请求消息(N+1)反馈给初始请求消息的发送端(或其他本领域技术人员所制定的设备)。
在一个实施例中,转发请求消息包括初始请求消息的码流通道标识等信息、请求时间戳、信令服务器标识、消息名称信息,转发响应消息包括初始响应消息的码流通道标识等信息、响应时间戳、信令服务器标识、消息名称信息,将各信令服务器中抓取的转发请求消息和转发响应消息下载到抓取报文存储路径的预设存储空间之后,请求转发时刻和响应转发时刻的确定方式包括:
根据关键消息名称和码流通道标识从各转发请求消息和各转发响应消息中确定各码流通道对应各信令服务器的转发请求消息中的请求时间戳,以及各码流通道对应各信令服务器的转发响应消息中的响应时间戳;
基于请求时间戳确定各码流通道对应各信令服务器的请求转发时刻,以及基于响应时间戳确定各码流通道对应各信令服务器的响应转发时刻。
可以理解,每一个转发请求消息(转发请求报文)以及每一个转发响应消息(转发响应报文)均包括其所生成时间的时间戳,通过解析各报文的时间戳,即可得到请求转发时刻、响应转发时刻。相似的,初始请求消息和初始响应消息中也包括有时间戳,通过对初始请求消息和初始响应消息进行解析,进而可以得到初始请求生成时刻、初始响应生成时刻。
在一个实施例中,确定传输耗时参数并确定视频流传输质量信息包括:
根据初始请求生成时刻和最终转发响应生成时刻确定传输总耗时,其中,最终转发响应生成时刻为级联服务器中各信令服务器对应的响应转发时刻最晚的时刻,也即级联服务器最终输出的一个转发响应消息的生成时刻;
根据初始请求生成时刻、初始响应生成时刻、各信令服务器的请求转发时刻和响应转发时刻确定传输子耗时,传输子耗时包括各信令服务器的传输耗时,以及视频流提供设备的传输耗时;
将传输总耗时和传输子耗时中至少之一确定为传输耗时参数;
根据传输耗时参数确定视频流传输质量信息。
可选的,当视频流提供设备包括多个码流通道,根据不同的码流通道分别可以确定得到相应的传输总耗时,也可以根据不同的码流通道对应的各信令服务器的请求转发时刻和响应转发时刻确定各信令服务器的传输耗时作为传输子耗时。
在一个实施例中,信令服务器的传输耗时的确定方式包括:
获取级联服务器中各信令服务器的级联关系,根据级联关系确定信令服务器的请求上游服务器和响应上游服务器;
获取信令服务器的请求转发时刻和响应转发时刻、请求上游服务器的请求转发时刻以及响应上游服务器的响应转发时刻,以确定信令服务器的传输耗时。
其中,请求上游服务器为在初始请求消息传输方向上,位于该信令服务器上游的信令服务器或初始请求消息发出方,响应上游服务器为在初始响应消息传输方向上,位于该信令服务器上游的信令服务器或初始响应消息发出方(视频流提供设备)。以下述图3为例,信令服务器Server2的响应上游服务器为信令服务器Server3,信令服务器Server2的请求上游服务器为信令服务器Server1,信令服务器Server1的响应上游服务器为信令服务器Server2,信令服务器Server1的请求上游服务器为测试装置。需要说明的是,当请求上游服务器为测试装置(初始请求消息发出方)或响应上游服务器为视频流提供设备时,请求上游服务器的请求转发时刻为初始响应生成时刻,响应上游服务器的响应转发时刻为初始响应生成时刻。
级联关系为某一个信令服务器的与其他服务器之间的连接关系,以及信令的传输方向。如,信令服务器A与信令服务器B、信令服务器C连接,在请求信令中消息(信令)从信令服务器B经由信令服务器A传递到信令服务器C,在响应信令中消息(信令)从信令服务器C经由信令服务器A传递到信令服务器B。
可选的,信令服务器的传输耗时=信令服务器的请求转发时刻-请求上游服务器的请求转发时刻+信令服务器的响应转发时刻-响应上游服务器的响应转发时刻。
可选的,传输总耗时=最终转发响应生成时刻-初始请求生成时刻。
可选的,根据传输耗时参数确定视频流传输质量信息包括但不限于以下至少之一:
若传输总耗时大于预设总耗时,视频流传输质量信息包括播放异常,否则,视频流传输质量信息包括播放正常;
若传输子总耗时中存在至少一个信令服务器的传输耗时大于预设耗时,视频流传输质量信息包括播放异常,否则,视频流传输质量信息包括播放正常;
还可以对不同耗时数值划分不同的层级,进而预设相应的视频流传输质量信息。
视频流传输质量信息还可以通过分数、等级等方式来表示播放正常程度或异常程度。
上述实施例提供的视频流传输质量信息确定方法,包括通过级联服务器向视频流提供设备发送初始请求消息,接收通过级联服务器反馈的根据初始响应消息生成的转发响应消息获取初始请求生成时刻、初始响应生成时刻,以及各信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,并确定视频流传输质量信息,能够提升视频流传输质量信息的确定效率,降低对人员的技能要求,人力成本低。
在一个实施例中,参见图3,以级联服务器包括三个信令服务器为例,三个信令服务器依次级联,初始请求消息由测试装置发出,初始响应消息由测试装置接收,上述实施例提供的方法的一种具体实现示例如下。
确定视频流提供设备,并确定该视频流提供设备所对应的级联服务器,获取级联服务器中信令服务器之间的级联状态(有哪些信令服务器,各服务器之间的连接关系等)。根据该级联状态在测试装置中添加信令服务器地址和信令服务器鉴权信息,用于与信令服务器的连接,同时添加需要在信令服务器上执行的脚本命令或选择预置的通用命令。
可选的,测试装置底层通过paramiko模块,读取测试装置中的参数传入远程连接函数(初始请求消息规则):server_connect_ssh(ip_addr(信令服务器地址),ip_port(信令服务器端口),username(用户名),password(密码),command(命令))。其中命令command主要是下发抓包启动命令到信令服务器,同时内置抓取报文(转发请求消息和转发响应消息)的存储路径,当测试结束后,停止抓包并将抓取到的报文文件下载到测试本地(预设存储空间)。
在启动视频流传输质量信息确定方法后,通过调用上述server_connect_ssh()函数,计算视频连接的信令连接是否成功,确定传输耗时参数。其中,计算视频连接的信令连接是否成功主要可以依据是否接收到初始响应消息,若接收到初始响应消息,则说明信令连接成功,否则,信令连接失败。
继续参见图3,通过测试装置发送初始请求消息(Post请求),经由信令服务器Server1、信令服务器Server2、信令服务器Server3将该初始请求消息转发至视频流提供设备(摄像机IPC),其中信令服务器Server1接收该Post请求经由HTTP(HyperText TransferProtocol,超文本传输协议)server生成转发请求消息(SIP:invite1),并将SIP:invite1发送至VMS(Virtual Memory System,虚拟内存***)server生成转发请求消息(SIP:invite2)转发至信令服务器Server2,信令服务器Server2生成转发请求消息(SIP:invite3)转发至信令服务器Server3,信令服务器Server3生成转发请求消息(SIP:invite4)转发至摄像机IPC,以实现将初始请求消息传输给到IPC,触发摄像机IPC发出初始响应消息(200OK1),经由信令服务器Server3(生成转发响应消息200OK2)、信令服务器Server2(生成转发响应消息200OK3)、信令服务器Server1中的VMS server(生成转发响应消息200OK4)、HTTP server(生成转发响应消息200OK)以实现将该初始响应消息反馈给测试装置。
由图3及上述方法的方案可以得到发起视频请求(初始请求消息)到收到200ok消息(初始响应消息)的传输总耗时的一种确定方式如下:
Request_time=200OK_time–post_time
其中,Request_time为传输总耗时,200OK_time为初始响应生成时刻,post_time为初始请求生成时刻。
获取到传输总耗时后,通过各级联服务器抓取的信令报文时间戳,计算信令连接过程中,在各级服务器的分别耗时。以三级级联为例(包括三个信令服务器,Server1、Server2和Server3),信令流转过程如下:
Server1传输耗时为:
time_server1=(invite2_time–post_time)+(200OK_time-200OK3_time);
其中,time_server1为Server1传输耗时,200OK_time为初始响应生成时刻,post_time为初始请求生成时刻,invite2_time为转发请求消息invite2的请求转发时刻,200OK3_time为转发响应消息invite3的请求转发时刻。
Server2传输耗时为:
time_server2=(invite3_time-invite2_time)+(200OK3_time-200OK2_time);
其中,time_server2为Server2传输耗时,invite2_time为转发请求消息invite2的请求转发时刻,invite3_time为转发请求消息invite3的请求转发时刻,200OK2_time为转发响应消息200OK 2的请求转发时刻,200OK3_time为转发响应消息200OK3的请求转发时刻。
Server3传输耗时为:
time_server3=(invite4_time-invite3_time)+(200OK2_time-200OK1_time);
其中,time_server3为Server3传输耗时,invite3_time为转发请求消息invite3的请求转发时刻,invite4time为转发请求消息invite4的请求转发时刻,200OK2_time为转发响应消息200OK 2的请求转发时刻,200OK1_time为转发响应消息200OK1的请求转发时刻。
可选的,以上请求转发时刻、请求响应时刻、初始请求生成时刻、初始响应生成时刻获取,基于测试装置内置的scapy库,通过analysis_pcap()函数实现对各server抓取报文文件(转发请求消息、转发响应消息、初始请求消息、初始响应消息)的解析,获取到指定报文的时间戳,从而计算出各消息在server中流转的耗时。一种可选的实现原理如下:
1、测试装置自动导入server端通过wireshark抓取到的pcap报文文件(下载得到的转发请求消息、转发响应消息、初始请求消息、初始响应消息)到analysis_pcap()函数。
2、按照GB/T28181-2011的协议定义(该协议仅为示例,也可以为本领域技术人员所知晓的其他协议),通过IPC的通道码、IPC的ip地址以及协议关键字SIP对文件中的报文进行筛选过滤。
3、将筛选过滤的报文进行解码,通过invite(请求)和ACK(响应)等关键消息名称获取到报文的时间戳。
4、通过测试装置的内置函数,将时间戳进行格式转换。
5、再通过以上各server的时间耗时计算公式计算出各server的耗时。
以上的算法,实现了GB/T28181-2011等协议信令在各级联服务器中的耗时计算,能快速定位到信令在流转过程中在哪一段(哪一个信令服务器)耗时较多,导致视频播放拉流延迟。
在一个实施例中,本发明实施例还提供了一种视频流传输质量信息确定方法,该方法可以实现在上述视频流传输方法中接收视频流提供设备通过级联服务器反馈的初始响应消息之后,也可以实现于与视频流提供设备建立连接之后,该方法包括:
接收视频流提供设备通过级联服务器发送的视频流报文;
对各信令服务器所接收到的视频流报文进行解析并获取所述信令服务器的视频帧质量参数,所述视频帧质量参数包括关键键帧数量及各连续关键帧之间的关键帧间隔数;
根据传输耗时参数和各信令服务器的视频帧质量参数确定视频流传输质量信息,或根据各信令服务器的视频帧质量参数确定视频流传输质量信息。
关键帧数量可以以I帧数量记,连续关键帧之间的关键帧间隔数可以为两个相邻的I帧之间的P帧的数量。由于一个视频流报文中可能存在多个I帧,故,连续关键帧之间的关键帧间隔数可以为一个数组。
通过上述方式,可以通过分析级联服务器中每一个信令服务器中的报文中关键帧的数量和关键帧间隔数,进而能够得到该信令服务器所接收到的视频流报文是否发生了报文丢失或视频帧丢失,以供后续进行视频传输质量的确定。
在一个实施例中,接收视频流提供设备通过级联服务器发送的视频流报文之前,该方法还包括:
获取视频流提供设备的视频流接口地址和视频拉流鉴权信息(如访问视频流提供设备的用户名和密码等可以使得视频流提供设备鉴别身份后提供视频流的信息),根据视频流接口地址和视频拉流鉴权信息生成并发送视频拉流消息,以触发所述视频流提供设备通过级联服务器发送的视频流报文。
在一个实施例中,对各信令服务器所接收到的视频流报文进行解析并确定视频帧质量参数包括:
获取各信令服务器的自身接收视频流报文数量和自身发出视频流报文数量,以及各信令服务器的上游报文发出端所发出的上游发出报文数量,若存在目标服务器,对目标服务器所接收到的视频流报文进行解析并确定视频帧质量参数,目标服务器包括符合预设条件的信令服务器,其中,预设条件包括以下至少之一,信令服务器的自身接收视频流报文数量和自身发出视频流报文数量不相等,信令服务器的自身接收视频流报文数量与信令服务器的上游报文发出端的上游发出报文数量不相等,上游报文发出端为视频流提供设备、初始请求报文发出端或信令服务器所接收的视频流报文的发出服务器。
理论上,每一个信令服务器所接收到的报文数量(自身接收视频流报文数量)与其所发出的报文数量(自身发出视频流报文数量)应该上相同的,一旦数量不相等,则说明报文在经由该信令服务器的处理过程中存在损失。相似的,每一个信令服务器的所接收到的报文数量(自身接收视频流报文数量)与其所接收到的视频流报文的发出端所发出的报文数量(上游发出报文数量)也应该是相等的,若两者不相等,则说明报文在信令服务器之间或信令服务器与初始请求报文发出端之间或信令服务器与视频流提供设备之间的传输路径上存在报文丢失。此时为了更加清晰的找出丢失的报文是什么类型的报文,以及丢失的报文数量,可以对目标服务器所接收到的视频流报文(其所接收到的全部视频流报文)进行解析并确定视频帧质量参数,进而依据视频帧质量参数来进一步确定视频流传输质量信息。通过上述方法,可以根据报文数量初步对级联服务器中的多个信令服务器进行筛选,确定到目标服务器后,再有目的的针对目标服务器进行进一步的分析,可以有效减少资源消耗,提升效率。
在一个实施例中,根据各信令服务器的视频帧质量参数确定视频流丢帧情况包括以下至少之一:
获取预设帧间隔数,若信令服务器存在至少一个关键帧间隔数小于预设帧间隔数,信令服务器的视频流丢帧情况包括存在丢普通帧(P帧)现象,此时丢失普通帧的数量(最小预估值)为第一目标差值之和,第一目标差值=预设帧间隔数-第一目标间隔数,第一目标间隔数为关键帧间隔数小于预设帧间隔数时的预设帧间隔数;
获取预设帧间隔数,若信令服务器存在至少一个关键帧间隔数大于预设帧间隔数,信令服务器的视频流丢帧情况包括存在丢关键帧(I帧)现象,此时,丢失关键帧的数量(最小预估值)为int(第二目标商值)(向上取整第二目标商值)之和,第二目标商值=第二目标间隔数/预设帧间隔数-1,第二目标间隔数为关键帧间隔数大于预设帧间隔数时的预设帧间隔数,丢失普通帧的数量(最小预估值)=(int(第二目标商值)-第二目标商值)*预设帧间隔数;
获取预设帧间隔数、视频流帧率和视频时长,并根据视频流帧率和视频时长确定理论关键帧数量,若信令服务器的关键帧数量不等于理论关键帧数量,根据预设帧间隔数、理论关键帧数量、理论总帧数和信令服务器的视频帧质量参数确定信令服务器的视频流丢帧情况。
由于一个码流通道的视频流的相邻两个关键帧之间的普通帧的帧间隔数量一般是固定的,也即预设帧间隔数,本领域技术人员可以预先获得预设帧间隔数,以评价各信令服务器所接收到的视频流报文解析得到的关键帧间隔数是否符合正常数量,若存在至少一个关键帧间隔数大于预设帧间隔数,则说明两个关键帧之间的帧数量较多,也即,存在至少丢失一个关键帧的情形(当然也不排除丢失普通帧的可能)。相反的,若存在至少一个关键帧间隔数小于预设帧间隔数,则说明两个关键帧之间的帧数量较少,也即,存在至少丢失一个普通帧的情形(当然也不排除丢失关键帧的可能)。此外,还可以通过预设帧间隔数和关键帧间隔数之间的倍数关系,得到关键帧的丢失数量,比如预设帧间隔数/关键帧间隔数=2,说明丢失一个关键帧,预设帧间隔数/关键帧间隔数=2.6,说明丢失2个关键帧,同时,还能说明丢失了一部分普通帧,丢失普通帧的数量可能为:丢失普通帧的数量=0.4*预设帧间隔数。可选的,关键帧为I帧,普通帧为P帧。
根据视频流帧率和视频时长确定理论关键帧数量的方式,根据视频流帧率和视频时长还能确定理论总帧数的方式可以采用本领域技术人员所知晓的方式实现,在此不做限定。
在一个实施例中,根据预设帧间隔数、理论关键帧数量、理论总帧数和信令服务器的视频帧质量参数确定信令服务器的视频流丢帧情况的方式包括:
若理论关键帧数量大于信令服务器的关键帧数量,则视频流丢帧情况包括存在丢I帧现象;
若理论关键帧数量大于信令服务器的关键帧数量,且理论总帧数大于所述信令服务器的关键帧间隔数之和与关键帧数量的总和,则视频流丢帧情况包括存在丢I帧现象和存在丢P帧现象。
可选的,丢失关键帧数量=理论关键帧数量-信令服务器的关键帧数量;
丢失普通帧数量=理论总帧数-信令服务器的关键帧数量-丢失关键帧数量-信令服务器的关键帧间隔数之和。
在一个实施例中,根据各信令服务器的视频帧质量参数确定视频流丢帧情况之后,该方法还包括:
根据预设帧间隔数和信令服务器的关键帧间隔数确定各信令服务器所丢失普通帧的数量或丢失关键帧的数量,或根据预设帧间隔数、理论关键帧数量、理论总帧数和信令服务器的视频帧质量参数确定各信令服务器所丢失普通帧的数量或丢失关键帧的数量;
将丢失普通帧的数量或丢失关键帧的数量确定为对应信令服务器的视频流丢帧情况。换句话说,此时不仅可以确定I帧或P帧的丢失情况,还可以确定I帧、P帧均丢失多少。具体的丢失普通帧的数量或丢失关键帧的数量的确定方式可以参考上述实施例,在此不再赘述。
在一个实施例中,对各信令服务器所接收到的视频流报文进行解析之后,该方法还包括:
获取信令服务器所接收到的视频流报文的首帧视频帧的帧类型,并将帧类型确定为视频帧质量参数,其中,帧类型包括普通帧和关键帧。
在一个实施例中,确定视频流传输质量信息之后,该方法还包括:
根据传输耗时参数和各信令服务器的视频流丢帧情况中至少之一生成测试报告。
可选的,测试报告包括包括但不限于各信令服务器的传输耗时、传输总耗时、各信令服务器所丢失普通帧的数量或丢失关键帧的数量、首帧的帧类型中至少之一。可选的,当信令服务器没有丢失帧时,可以标识为丢失0帧或未出现丢失关键(普通)帧。
在一个实施例中,若能够确定各信令服务器的视频流丢帧情况,还可以根据视频流丢帧情况确定丢帧时间,进而预判视频流在播放时可能存在跳秒、灰屏或花屏的时刻。一般来说,丢P帧,画面会跳秒。丢I帧,画面会灰屏或花屏。
下面通过一个具体的实施例对上述方法进行示例性的说明。为了验证视频流播放是否卡顿,跳帧,灰屏。当信令连接成功即视频播放客户端和摄像机通过SIP信令建立起连接后,摄像机开始发送视频流通过级联的服务器,传到视频播放客户端,客户端解码后进行视频播放。以H.264为例,H.264在网络传输的是NALU,NALU的结构是:NAL头+RBSP,实际传输中的数据流如图4所示。其中NAL头占用一个字节,其第5各bit位表示NAL type,具体如下表1所示。
表1
NAL type | NAL类型 |
0 | 未使用 |
1 | 非IDR的片 |
2 | 片数据A分区 |
3 | 片数据B分区 |
4 | 片数据C分区 |
5 | IDR图像的片 |
6 | 补充增强信息单元(SEI) |
7 | 序列参数集(SPS) |
8 | 图像参数集(PPS) |
9 | 分界符 |
10 | 序列结束 |
11 | 码流结束 |
12 | 填充 |
13..23 | 保留 |
24..31 | 不保留 |
当NAL type为5时,则此帧为I帧即关键帧,type为1时为非关键帧(P帧或B帧)。
I帧表示关键帧,又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。视频流拉取过程中,视频序列中的第一个帧始终都是I帧,所以播放客户端收到的首帧必须为关键帧。
P帧又称帧间预测编码帧,需要参考前面的帧才能进行编码。表示的是当前帧画面与前一帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。与I帧相比,P帧通常占用更少的数据位,但不足是由于P帧对前面的P和I参考帧有着复杂的依耐性,因此对传输错误非常敏感。
实时视频一般采用I帧、P帧进行视频传输,可以提高网络得适应能力,且能降低解码成本所以现阶段得视频解码都是采用I帧和P帧进行传输。关键帧间隔即两个I帧得间隔,就是一个画面组,在这一个画面组中,存在两个I帧和多个P帧,可以在摄像机设置好帧率和关键帧间隔数后,可以通过公式计算出有一个画面组GOP(关键帧间隔)中应该有多少时间。计算公式如下:
GOP=关键帧间隔数/帧率公式(1)。
在测试过程中,当建立好信令连接后,视频流的RTP报文(视频流报文)流转情况如下图5所示,图5中各结构与图3类似,在此不做赘述。
首先通过函数nal_type_check()校验收到得各信令服务器server收到得首帧是否为I帧。函数解析抓取得RTP报文,对第一个帧进行解析,校验帧头是否为5。若首帧非I帧,则会出现花屏、灰屏的视频播放质量问题。
其次通过统计视频播放时长内,关键帧间隔数是否正确,将设置的关键帧间隔数(预设帧间隔数)作为参数,传入函数fram_num_statistics(gop_num)。将解析的报文中的关键帧间隔数与传入的关键帧间隔数进行比较,若小于传入的参数,则表示丢P帧,画面会跳秒。若大于传入的参数,则表示丢I帧,画面会灰屏或花屏。
计算各server和节点收到的报文总数和帧总数,进行比较。正常情况下应相等。若上级节点总数大于下级节点,则说明上级节点有丢包。从而找到出问题的节点位置和原因。
可选的,结合图3和图5所示的方法的步骤,可以得到更为全面的视频流传输质量信息,可以将该视频流传输质量信息生成测试报告。测试报告可以根据预设excel模板生成,参见表2,表2为一种示例性的测试报告范本,本领域技术人员根据需要也可以设定其他格式表达方式的测试报告展现形式,其中,SIP信令时延测试结果也即传输耗时参数,拉流POST请求耗时也即传输总耗时,server1耗时也即信令服务器server1的传输耗时,server2耗时也即信令服务器server2的传输耗时,server3耗时也即信令服务器server3的传输耗时,IPC耗时为视频流提供设备的传输耗时,RTP视频流测试结果也即视频流丢帧情况。
表2
请参阅图6,本实施例提供了一种视频流传输质量信息确定***600,该***包括:
发送模块601,用于通过级联服务器向视频流提供设备发送初始请求消息,级联服务器包括多个级联的信令服务器;
接收模块602,用于接收通过级联服务器反馈的根据初始响应消息生成的转发响应消息,初始响应消息由视频流提供设备根据初始请求消息生成;
确定模块603,用于获取初始请求生成时刻、初始响应生成时刻,以及各信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,以确定视频流传输质量信息,初始请求生成时刻为初始请求消息生成的时刻,初始响应生成时刻为初始响应消息生成的时刻,请求转发时刻为信令服务器转发初始请求消息的时刻,响应转发时刻为信令服务器转发初始响应消息的时刻。
在一个实施例中,参见图7,视频流传输质量信息确定***可以为基于Python的pyqt5库实现图形界面的视频流播放质量测试装置(图7为一种示例的视频流播放质量测试装置的结构示意图,以下简称测试装置)。底层主要基于scapy库(wireshark报文解析模块)、paramiko库(远程服务器连接模块)、requsts库(HTTP连接请求)、soket库(网络连接模块)等其他模块。测试装置包括:视频请求模块,包括视频请求地址输入框、鉴权信息(cookie、session等);级联服务器设置模块,包括服务器地址输入框、用户名和密码(信令服务器鉴权信息)输入框、下发命令输入框(可动态增加级联服务器数量);测试启动模块,驱动测试装置各函数的执行,包括命令下发,发起视频流请求,抓包下载和分析,测试结果计算等;测试结果与测试报告导出模块,用于显示测试结果以及生成导出测试报告。其中:
视频请求模块,用于发起视频流请求的设置模块,设置视频流请求地址,以及请求的鉴权信息,作为参数传递给视频请求主函数。
级联服务器设置模块,用于设置级联视频服务器的地址,用户名密码,下发命令,作为参数传递给命令下发主函数。
测试启动模块,用于调用命令下发主函数,连接服务器,并下发对应的命令,成功完成后再调用视频请求主函数发起视频请求,并启用soket监听收到的视频流。选择视频码流协议:支持H.264和H.265,用于视频流解析报文,判断视频流的帧结构。设置关键帧间隔,用于判断视频流的帧数量,确定是否丢帧。
测试数据分析模块,用于视频流传输质量信息的确定。
测试结果模块,用于将测试结果(视频流传输质量信息)显示在显示框中,打印整个测试过程中的执行情况,以及测试的结果。通过测试报告导出按钮导出详细的测试报告。
通过上述实施例提供的方法及装置,实现快速完成视频流传输质量信息的确定,也即能够实现视频流媒体播放质量测试,自动准确定位视频播放质量较差(视频播放时延,卡顿,花屏等)的原因,按测试内容,自动生成测试结果报告。以测试50路视频,级联4级服务器的情况下,从原来的24小时,缩短到1小时,极大的提高了测试效率,节约了人力成本,同时降低了测试人员的技能要求。
通过引入实时视频流播放通过自动关联级联服务器,自动计算在整个链路的耗时,以及视频流的完整性(视频流丢帧情况)校验的方式,通过算法自动计算出视频流播放过程中是否正常,完成实时视频流播放的测试,能够:
摆脱了视频流测试(特别是视频流传输质量信息确定)过程中对各测试工具的依赖,如wireshark抓包工具,Postman接口测试工具,Xshell服务器连接工具等,该***和方法集合多种测试工具的能力,尤其是集成自动完成报文(视频流报文)的分析能力,极大的降低了测试人员的能力要求。
提升了测试效率,可以实现将上述***界面化设计,功能齐全,简单易用。可快速准确的完成多路视频的测试,50路视频测试从原来的24小时,缩短至1小时,效率提升24倍。
降低了视频流质量测试(特别是视频流传输质量信息确定)的成本,通过上述方法和***极大缩短被测视频流的时间,节约了人力投入成本。
在本实施例中,该***实质上是设置了多个模块用以执行上述任一实施例中的方法,具体功能和技术效果参照上述方法实施例即可,此处不再赘述。
参见图8,本发明实施例还提供了一种电子设备1300,包括处理器1301、存储器1302和通信总线1303;
通信总线1303用于将处理器1301和存储器连接1302;
处理器1301用于执行存储器1302中存储的计算机程序,以实现如上述实施例一中的一个或多个所述的方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
计算机程序用于使计算机执行如上述实施例一中的任一项所述的方法。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的实施例一所包含步骤的指令(instructions)。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (15)
1.一种视频流传输质量信息确定方法,其特征在于,所述方法包括:
通过级联服务器向视频流提供设备发送初始请求消息,所述级联服务器包括多个级联的信令服务器;
接收通过所述级联服务器反馈的根据所述初始响应消息生成的转发响应消息,所述初始响应消息由所述视频流提供设备根据所述初始请求消息生成;
获取初始请求生成时刻、初始响应生成时刻,以及各所述信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数并确定视频流传输质量信息,所述初始请求生成时刻为所述初始请求消息生成的时刻,所述初始响应生成时刻为所述初始响应消息生成的时刻,所述请求转发时刻为所述信令服务器转发所述初始请求消息的时刻,所述响应转发时刻为所述信令服务器转发所述初始响应消息的时刻。
2.如权利要求1所述的视频流传输质量信息确定方法,其特征在于,通过级联服务器向视频流提供设备发送初始请求消息之前,所述方法还包括:
获取预设抓取报文存储路径和所述级联服务器中各所述信令服务器的信令服务器地址信息和信令服务器鉴权信息,根据所述预设抓取报文存储路径、所述信令服务器地址信息和信令服务器鉴权信息生成抓包消息并下发给所述信令服务器;
基于所述抓包消息从所述信令服务器中抓取所述信令服务器转发所述初始请求消息所生成的转发请求消息,以及基于所述抓包消息从所述信令服务器中抓取所述信令服务器转发所述初始响应消息所生成的转发响应消息;
获取通过所述级联服务器传输的初始响应消息之后,将各所述信令服务器中抓取的所述转发请求消息和所述转发响应消息下载到所述抓取报文存储路径的预设存储空间。
3.如权利要求2所述的视频流传输质量信息确定方法,其特征在于,所述视频流提供设备包括多个码流通道,所述方法还包括:
通过级联服务器向视频流提供设备的各所述码流通道发送初始请求消息,所述初始请求消息包括码流通道标识;
接收所述视频流提供设备中各所述码流通道通过所述级联服务器反馈的所述转发响应消息,所述初始响应消息包括码流通道标识。
4.如权利要求3所述的视频流传输质量信息确定方法,其特征在于,所述转发请求消息包括码流通道标识、请求时间戳、信令服务器标识、消息名称信息,所述转发响应消息包括码流通道标识、响应时间戳、信令服务器标识、消息名称信息和码流通道标识,将各所述信令服务器中抓取的所述转发请求消息和所述转发响应消息下载到所述抓取报文存储路径的预设存储空间之后,所述请求转发时刻和响应转发时刻的确定方式包括:
根据关键消息名称和所述码流通道标识从各所述转发请求消息和各所述转发响应消息中确定各所述码流通道对应各所述信令服务器的所述转发请求消息中的请求时间戳,以及各所述码流通道对应各所述信令服务器的所述转发响应消息中的响应时间戳;
基于所述请求时间戳确定各所述码流通道对应各所述信令服务器的所述请求转发时刻,以及基于所述响应时间戳确定各所述码流通道对应各所述信令服务器的所述响应转发时刻。
5.如权利要求1所述的视频流传输质量信息确定方法,其特征在于,确定传输耗时参数并确定视频流传输质量信息包括:
根据所述初始请求生成时刻和最终转发响应生成时刻确定传输总耗时,所述最终转发响应生成时刻为所述级联服务器中各信令服务器对应的响应转发时刻最晚的所述响应转发时刻;
根据所述初始请求生成时刻、所述初始响应生成时刻、各所述信令服务器的所述请求转发时刻和所述响应转发时刻确定传输子耗时,所述传输子耗时包括各所述信令服务器的传输耗时,以及所述视频流提供设备的传输耗时;
将所述传输总耗时和所述传输子耗时中至少之一确定为所述传输耗时参数;
根据所述传输耗时参数确定所述视频流传输质量信息。
6.如权利要求5所述的视频流传输质量信息确定方法,其特征在于,所述信令服务器的传输耗时的确定方式包括:
获取所述级联服务器中各信令服务器的级联关系,根据所述级联关系确定所述信令服务器的请求上游服务器和响应上游服务器;
获取所述信令服务器的请求转发时刻和响应转发时刻、所述请求上游服务器的请求转发时刻以及响应上游服务器的响应转发时刻,以确定所述信令服务器的传输耗时。
7.如权利要求1所述的视频流传输质量信息确定方法,其特征在于,接收所述视频流提供设备通过所述级联服务器反馈的初始响应消息之后,所述方法还包括:
接收所述视频流提供设备通过所述级联服务器发送的视频流报文;
对各所述信令服务器所接收到的视频流报文进行解析并确定视频帧质量参数,所述视频帧质量参数包括关键帧数量及各连续关键帧之间的关键帧间隔数;
根据各所述信令服务器的视频帧质量参数确定视频流丢帧情况。
8.如权利要求7所述的视频流传输质量信息确定方法,其特征在于,对各所述信令服务器所接收到的视频流报文进行解析并确定视频帧质量参数包括:
获取各所述信令服务器的自身接收视频流报文数量和自身发出视频流报文数量,以及各所述信令服务器的上游报文发出端所发出的上游发出报文数量,若存在目标服务器,对所述目标服务器所接收到的视频流报文进行解析并确定视频帧质量参数,所述目标服务器包括符合预设条件的信令服务器,所述预设条件包括以下至少之一,所述信令服务器的所述自身接收视频流报文数量和所述自身发出视频流报文数量不相等,所述信令服务器的所述自身接收视频流报文数量与所述信令服务器的上游报文发出端的上游发出报文数量不相等,所述上游报文发出端为视频流提供设备、初始请求报文发出端或所述信令服务器所接收的所述视频流报文的发出服务器。
9.如权利要求7所述的视频流传输质量信息确定方法,其特征在于,根据各所述信令服务器的视频帧质量参数确定视频流丢帧情况包括以下至少之一:
获取预设帧间隔数,若信令服务器存在至少一个所述关键帧间隔数小于所述预设帧间隔数,所述信令服务器的所述视频流丢帧情况包括存在丢普通帧现象;
获取预设帧间隔数,若信令服务器存在至少一个所述关键帧间隔数大于所述预设帧间隔数,所述信令服务器的视频流丢帧情况包括存在丢关键帧现象;
获取预设帧间隔数、视频流帧率和视频时长,并根据所述视频流帧率和视频时长确定理论关键帧数量和理论总帧数,若所述信令服务器的关键帧数量不等于所述理论关键帧数量,根据所述预设帧间隔数、所述理论总帧数、所述理论关键帧数量和所述信令服务器的所述视频帧质量参数确定所述信令服务器的视频流丢帧情况。
10.如权利要求7所述的视频流传输质量信息确定方法,其特征在于,根据各所述信令服务器的视频帧质量参数确定视频流丢帧情况之后,所述方法还包括:
根据预设帧间隔数和信令服务器的关键帧间隔数确定各信令服务器所丢失普通帧的数量或丢失关键帧的数量,或根据预设帧间隔数、理论关键帧数量、理论总帧数和信令服务器的视频帧质量参数确定各信令服务器所丢失普通帧的数量或丢失关键帧的数量;
将所述丢失普通帧的数量或丢失关键帧的数量确定为对应信令服务器的视频流丢帧情况。
11.如权利要求7所述的视频流传输质量信息确定方法,其特征在于,对各所述信令服务器所接收到的视频流报文进行解析之后,所述方法还包括:
获取所述信令服务器所接收到的视频流报文的首帧视频帧的帧类型,并将所述帧类型确定为视频帧质量参数,所述帧类型包括普通帧和关键帧。
12.如权利要求7-11任一项所述的视频流传输质量信息确定方法,其特征在于,确定所述视频流传输质量信息之后,所述方法还包括:
根据所述传输耗时参数和各所述信令服务器的视频流丢帧情况中至少之一生成测试报告。
13.一种视频流传输质量信息确定***,其特征在于,所述***包括:
发送模块,用于通过级联服务器向视频流提供设备发送初始请求消息,所述级联服务器包括多个级联的信令服务器;
接收模块,用于接收通过所述级联服务器反馈的根据所述初始响应消息生成的转发响应消息,所述初始响应消息由所述视频流提供设备根据所述初始请求消息生成;
确定模块,用于获取初始请求生成时刻、初始响应生成时刻,以及各所述信令服务器的请求转发时刻和响应转发时刻,确定传输耗时参数,并确定视频流传输质量信息,所述初始请求生成时刻为所述初始请求消息生成的时刻,所述初始响应生成时刻为所述初始响应消息生成的时刻,所述请求转发时刻为所述信令服务器转发所述初始请求消息的时刻,所述响应转发时刻为所述信令服务器转发所述初始响应消息的时刻。
14.一种电子设备,其特征在于,包括处理器、存储器和通信总线;
所述通信总线用于将所述处理器和存储器连接;
所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求1-12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
所述计算机程序用于使所述计算机执行如权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515395.3A CN114900662A (zh) | 2022-05-11 | 2022-05-11 | 视频流传输质量信息确定方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210515395.3A CN114900662A (zh) | 2022-05-11 | 2022-05-11 | 视频流传输质量信息确定方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114900662A true CN114900662A (zh) | 2022-08-12 |
Family
ID=82721386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210515395.3A Pending CN114900662A (zh) | 2022-05-11 | 2022-05-11 | 视频流传输质量信息确定方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900662A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941573A (zh) * | 2022-12-07 | 2023-04-07 | 四川天邑康和通信股份有限公司 | 一种分析监控视频丢帧判断交换机性能的方法 |
CN117877343A (zh) * | 2023-06-02 | 2024-04-12 | 广东精天防务科技有限公司 | 伞降模拟训练信息处理***及伞降模拟训练*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005111A1 (en) * | 2001-06-29 | 2003-01-02 | International Business Machines Corporation | Service time analysis methods for the WSM QOS monitor |
US20060029016A1 (en) * | 2004-06-29 | 2006-02-09 | Radware Limited | Debugging application performance over a network |
CN104025549A (zh) * | 2012-12-18 | 2014-09-03 | 英特尔公司 | 与服务器事务延迟信息相关的技术 |
CN108881814A (zh) * | 2017-08-01 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 视联网终端与网络摄像头通信的方法、装置以及交互*** |
CN110519331A (zh) * | 2019-07-30 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种视联网资源处理方法及装置 |
CN113489789A (zh) * | 2021-07-06 | 2021-10-08 | 广州虎牙科技有限公司 | 云游戏耗时数据的统计方法、装置、设备及存储介质 |
CN113840160A (zh) * | 2021-09-29 | 2021-12-24 | 重庆紫光华山智安科技有限公司 | 事件数据传输方法、***、电子设备及可读存储介质 |
-
2022
- 2022-05-11 CN CN202210515395.3A patent/CN114900662A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005111A1 (en) * | 2001-06-29 | 2003-01-02 | International Business Machines Corporation | Service time analysis methods for the WSM QOS monitor |
US20060029016A1 (en) * | 2004-06-29 | 2006-02-09 | Radware Limited | Debugging application performance over a network |
CN104025549A (zh) * | 2012-12-18 | 2014-09-03 | 英特尔公司 | 与服务器事务延迟信息相关的技术 |
CN108881814A (zh) * | 2017-08-01 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 视联网终端与网络摄像头通信的方法、装置以及交互*** |
CN110519331A (zh) * | 2019-07-30 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种视联网资源处理方法及装置 |
CN113489789A (zh) * | 2021-07-06 | 2021-10-08 | 广州虎牙科技有限公司 | 云游戏耗时数据的统计方法、装置、设备及存储介质 |
CN113840160A (zh) * | 2021-09-29 | 2021-12-24 | 重庆紫光华山智安科技有限公司 | 事件数据传输方法、***、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
张巍巍;: "基于oSIP的信令服务器设计与实现", 电脑知识与技术, no. 33, 25 November 2017 (2017-11-25) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941573A (zh) * | 2022-12-07 | 2023-04-07 | 四川天邑康和通信股份有限公司 | 一种分析监控视频丢帧判断交换机性能的方法 |
CN117877343A (zh) * | 2023-06-02 | 2024-04-12 | 广东精天防务科技有限公司 | 伞降模拟训练信息处理***及伞降模拟训练*** |
CN117877343B (zh) * | 2023-06-02 | 2024-06-07 | 广东精天防务科技有限公司 | 伞降模拟训练信息处理***及伞降模拟训练*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114900662A (zh) | 视频流传输质量信息确定方法、***、设备及介质 | |
US8619588B2 (en) | System and method for predicting video transmission quality through a network | |
JP6743192B2 (ja) | ビデオサービス品質の評価方法及び装置 | |
CN105610824B (zh) | 一种基于屏幕镜像及rtsp流媒体框架的屏幕共享方法 | |
US11089076B1 (en) | Automated detection of capacity for video streaming origin server | |
US20200374333A1 (en) | Methods and systems for codec detection in video streams | |
CN110769310B (zh) | 一种基于视联网的视频处理方法和装置 | |
CN104735473A (zh) | 一种视频流播放的检测方法及装置 | |
TW201806380A (zh) | 動畫分割裝置及監視方法 | |
CN110769268A (zh) | 数据流监测方法及装置 | |
EP3325116A1 (de) | Verfahren und telekommunikationsnetz zum streamen und zur wiedergabe von anwendungen | |
CN111200760A (zh) | 一种数据处理方法、装置及电子设备 | |
CN110830763A (zh) | 一种监控视频巡检方法及装置 | |
CN114173087A (zh) | 视频数据获取及处理方法、边缘网关及存储介质 | |
CN111447407B (zh) | 一种监控资源的传输方法和装置 | |
CN113242437A (zh) | 一种rtsp协议视频无插件播放方法、***、装置及存储介质 | |
CN108810475A (zh) | 一种基于Onvif标准及Sip协议的Android视频监控装置 | |
CN110392275B (zh) | 一种文稿演示的共享方法、装置及视联网软终端 | |
CN113329080B (zh) | 基于WebSocket的视频播放方法、装置、电子设备及存储介质 | |
CN113660540B (zh) | 图像信息处理方法、***、显示方法、装置及存储介质 | |
CN114610605A (zh) | 测试方法、装置、终端设备和存储介质 | |
CN109547289B (zh) | 一种智能调度访客流量的方法、存储设备及*** | |
CN110545447B (zh) | 一种音视频同步的方法及装置 | |
CN110418105B (zh) | 一种视频监控方法和*** | |
CN112532719A (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 |