CN116781975B - 一种媒体流检测方法、装置、终端设备和存储介质 - Google Patents
一种媒体流检测方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN116781975B CN116781975B CN202311039343.4A CN202311039343A CN116781975B CN 116781975 B CN116781975 B CN 116781975B CN 202311039343 A CN202311039343 A CN 202311039343A CN 116781975 B CN116781975 B CN 116781975B
- Authority
- CN
- China
- Prior art keywords
- preset
- media stream
- stream data
- detection
- time period
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 239
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种媒体流检测方法、装置、终端设备和存储介质,应用于通信技术领域。所述方法包括:通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种媒体流检测方法、装置、终端设备和存储介质。
背景技术
随着网络技术的不断发展,IP(Internet Protocol,因特网协议)音视频网络在网络上传输的也越来越多,但是由于IP网络特性,数据包在传输过程中存在不确定地延时,这样,接收端在接收数据包就会出现一定程度的抖动,或者信号源也会发生抖动,严重时,在接收端上查看音视频流时,就会出现音视频流不稳定的现象。
目前,可采用两种方式对音视频流进行检测,来判断音视频流的质量情况,一种方式是采用专业的检测产品,提供专用硬件接口和检测平台,这种方式实时性好,可以在线分析,但是该检测产品费用较高。
另一种方式是采用软件的方式,利用pcap(Packet Capture library,数据包捕获函数库)抓取数据包,并保存为数据文件,然后用软件读取数据文件,逐包解析码流数据,得到质量检测数据,但是,这种方式只能应用于离线状态的音视频数据,可以用于后期故障分析,不能适应专业播总控、直播等领域对实时性要求高的场合,因此,如何能够对实时性要求高的音视频流进行质量检测,而且还能节省费用,是目前急需解决的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种媒体流检测方法、装置、终端设备和存储介质。
第一个方面,本发明实施例提供一种媒体流检测方法,所述方法包括:
获取预设时间段内的媒体流数据包;
根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
根据所述检测信息,对所述预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。
可选地,所述检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
可选地,所述根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息,包括:
若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息;
或
若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息;
或
若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息。
可选地,所述若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息,包括:
获取预设时间段内的每一个媒体流数据包的到达时间;
根据所述到达时间,计算相邻两个媒体流数据包的时间间隔;
根据所述时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息。
可选地,所述根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息,包括:
若所述最大间隔时间大于第一预设值和/或所述最小间隔时间小于第二预设值,统计在预设时间段内最大间隔时间大于第一预设值和/或最小间隔时间小于第二预设值的突发次数;
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度。
可选地,所述若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息,包括:
对获取的媒体流数据包进行逐层解析,得到RTP数据包;
根据所述RTP数据包的序列号,确定丢包信息,其中,所述丢包信息至少包括丢包序列号、帧内丢包率和每秒丢包率。
可选地,所述若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息,包括:
获取预设时间段内的媒体流数据包的数量以及接收媒体流数据包所消耗的流量;
根据所述媒体流数据包的数量和所述所消耗的流量,确定预设时间段内的平均流量。
第二个方面,本发明实施例提供一种媒体流检测装置,所述装置包括:
获取模块,用于获取预设时间段内的媒体流数据包;
确定模块,用于根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
检测模块,用于根据所述检测信息,对所述预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。
可选地,所述检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
可选地,所述确定模块用于:
若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息;
或
若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息;
或
若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息。
可选地,所述确定模块,用于:
获取预设时间段内的每一个媒体流数据包的到达时间;
根据所述到达时间,计算相邻两个媒体流数据包的时间间隔;
根据所述时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息。
可选地,所述确定模块用于:
若所述最大间隔时间大于第一预设值,并且所述最小间隔时间小于第二预设值,统计在预设时间段内最大间隔时间大于第一预设值和/或最小间隔时间小于第二预设值的突发次数;
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度。
可选地,所述确定模块用于:
对获取的媒体流数据包进行逐层解析,得到RTP数据包;
根据所述RTP数据包的序列号,确定丢包信息,其中,所述丢包信息至少包括丢包序列号、帧内丢包率和每秒丢包率。
可选地,所述确定模块用于:
获取预设时间段内的媒体流数据包的数量以及接收媒体流数据包所消耗的流量;
根据所述媒体流数据包的数量和所述所消耗的流量,确定预设时间段内的平均流量。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的媒体流检测方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的媒体流检测方法。
本发明实施例包括以下优点:
本发明实施例提供的媒体流检测方法、装置、终端设备和存储介质,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
附图说明
图1是本发明的一种媒体流检测方法实施例的步骤流程图;
图2是本发明的另一种媒体流检测方法实施例的步骤流程图;
图3是本发明的又一种媒体流检测方法实施例的步骤流程图;
图4是本发明的一种媒体流检测装置实施例的结构框图;
图5是本发明的一种终端设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明一实施例提供一种媒体流检测方法,用于对媒体流的质量进行实时检测。本实施例的执行主体为媒体流检测装置,设置在终端设备上,其中,终端设备可以为计算机、平板电脑和手机终端等。
参照图1,示出了本发明的一种媒体流检测方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、获取预设时间段内的媒体流数据包;
具体地,终端设备实时获取媒体流数据包,作为一种可选地的实施方式,终端设备利用网卡厂家提供的网卡驱动接口来获取媒体流数据包,作为另一种可选地实施方式,终端设备可以创建socket(套接字),通过该socket从系统中获取媒体流数据包,这样,可以快速获取到媒体流数据。
其中,媒体流数据至少包括音频数据和视频数据中的一种。
终端设备获取每一个媒体流数据包到达的时间,即PTP(Precision TimeProtocol,精确时间协议)时间,根据每一个媒体流数据包的到达时间,统计预设时间段内的媒体流数据包。
示例性地,获取1s内接收到的媒体流数据包。
S102、根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
具体地,根据需求,预先在终端设备上设置检测参数,检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种。
终端设备根据设置的不同的检测参数,确定预设时间段内的媒体流数据包的检测信息,检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
示例性地,若设置的检测参数为预设抖动参数,则需要确定预设时间段内的媒体流数据包的抖动信息;
若设置的检测参数为预设丢包参数,则需要确定预设时间段内的媒体流数据包的丢包信息;
若设置的检测参数为预设流量参数,则需要确定预设时间段内的媒体流数据包的流量信息。
在具体的实施过程中,可以根据需要设置一项参数或多项参数,从而确定对应的检测信息。
S103、根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。
具体地,终端设备在获取的检测信息后,对一项或多项参数进行质量检测,例如对于抖动信息来说,若终端设备在预设时间段内,接收到每一个媒体流数据包的时间间隔都不相同,或者是两个媒体流数据包的间隔时间大于抖动时间阈值的最大值,或是两个媒体流数据包的间隔时间小于抖动时间阈值的最小值,说明在媒体流数据传输的过程中发生了抖动,传输质量不高;
若终端设备在预设时间段内,接收到的相邻的任意两个媒体流数据包的间隔时间相同,且间隔时间在抖动时间阈值范围内,说明媒体流数据在传输的过程中发生抖动,传输质量较高。
终端设备还可以对丢包信息进行判断,若在预设时间段内的丢包数量大于丢包预设值,说明网络传输质量不好。若在预设时间段内的丢包数量小于等于丢包预设值,说明网络传输质量较好。
终端设备还可以对预设时间段内的消耗的流量信息进行判断,若消耗的流量信息大于流量预设值,说明网络传输质量不好。若消耗的流量信息小于等于流量预设值,说明网络传输质量较好。
本发明实施例通过实时获取媒体流数据包,根据需要,确定媒体流数据包预设时间段内的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,得到媒体流数据的质量报告,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本发明实施例提供的媒体流检测方法,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本发明又一实施例对上述实施例提供的媒体流检测方法做进一步补充说明。
如图2所示,示出了本发明的另一种媒体流检测方法实施例的步骤流程图,该媒体流检测方法包括:
S201、获取预设时间段内的媒体流数据包;
具体地,终端设备实时获取媒体流数据包,作为一种可选地的实施方式,终端设备利用网卡厂家提供的网卡驱动接口来获取媒体流数据包,作为另一种可选地实施方式,终端设备可以创建socket,通过该socket从系统中获取媒体流数据包,这样,可以快速获取到媒体流数据。
其中,媒体流数据至少包括音频数据和视频数据中的一种。
终端设备获取每一个媒体流数据包到达的时间,即PTP时间,根据每一个媒体流数据包的到达时间,统计预设时间段内的媒体流数据包。
示例性地,获取1s内接收到的媒体流数据包。
S202、若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息;
包括:
步骤A1、获取预设时间段内的每一个媒体流数据包的到达时间;
媒体流数据包的到达时间即为PTP时间。
示例性地,终端设备获取1s内的接收到每一个媒体流数据包的到达时间。
步骤A2、根据到达时间,计算相邻两个媒体流数据包的时间间隔;
示例性地,相邻两个媒体流数据包的时间间隔为10ms或50ms等。
步骤A3、根据时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
示例性地,终端设备在1s内,获取最大间隔时间为50ms,最小间隔时间为10ms。
步骤A4、根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息。
具体地,在数据包传输过程中,会存在一定的抖动,在本申请中采用最大间隔时间、最小间隔时间来确定媒体流数据包发生抖动的严重程度,因此,终端设备对最大间隔时间和最小间隔时间中的一种或多种进行判断,若最大间隔时间大于第一预设值,则统计在预设时间段内最大间隔时间大于第一预设值的第一次数,并将第一次数作为突发次数;若最小间隔时间小于第二预设值,则统计在预设时间段内最小间隔时间小于第二预设值的第二次数,并将第二次数作为突发次数;若最大间隔时间大于第一预设值,并且最小间隔时间小于第二预设值,则分别统计在预设时间段内最大间隔时间大于第一预设值的第一次数,以及在预设时间段内最小间隔时间小于第二预设值的第二次数,并将第一次数和第二次数之间的和值作为突发次数。
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度,也就是说在本申请中的抖动信息为发生抖动的严重程度。
其中,Burst中文是“突发”,指一些数据相距很短的时间内集中发出,可能是发送端没有控制发出时间造成的。终端设备对接收到每个数据包的包时间间隔进行判断,若包时间间隔时间小于预设值,连续多次小于这个预设值统计为1次突发,检测结果用每秒发生的次数来衡量,也就是突发次数。对于时间间隔时间大于预设值,连续多次大于这个预设值统计为1次突发。
具体地,终端设备上可以预先设置检测参数,检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
用户可以根据需要,选择检测参数,终端设备确定检测参数,例如预设抖动参数、预设丢包参数和预设流量参数中的一项或多项。
终端设备根据所选择的检测参数,确定与检测参数对应的预设时间段内的媒体流数据包的检测信息,检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
S203、若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息;
具体包括:
步骤B1、对获取的媒体流数据包进行逐层解析,得到RTP(Real-time TransportProtocol,实时传输协议)数据包;
步骤B2、根据RTP数据包的序列号,确定丢包信息,其中,丢包信息至少包括丢包序列号、帧内丢包率和每秒丢包率。
具体地,一帧数据可以包括多个数据包,需要发送多个数据包,在多个数据包传输过程中,会出现丢包现象,根据预设时间段内传输的全部数据包的数量和丢失的数据包的数量,可以确定帧内丢包率。
每秒丢包率是指根据1秒内接收到全部数据包的数量和丢失的数据包的数量确定的丢包率。
S204、若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息。
获取预设时间段内的媒体流数据包的数量以及接收媒体流数据包所消耗的流量;
根据媒体流数据包的数量和所消耗的流量,确定预设时间段内的平均流量。
终端设备在计算得到预设时间段内的平均流量后,将该平均流量与预设平均流量进行比较,其中,预设平均流量是确定值,可以根据需要进行设定,若计算得到的平均流量与预设平均流量不相同,则确定在传输过程中发生了丢包。
S205、根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。
具体地,终端设备在获取的检测信息后,对一项或多项参数进行质量检测,例如对于抖动信息来说,若终端设备在预设时间段内,接收到每一个媒体流数据包的时间间隔都不相同,或者是两个媒体流数据包的间隔时间大于抖动时间阈值的最大值,或是两个媒体流数据包的间隔时间小于抖动时间阈值的最小值,说明在媒体流数据传输的过程中发生的抖动较大,传输质量不高;
若终端设备在预设时间段内,接收到的相邻的任意两个媒体流数据包的间隔时间相同,且间隔时间在抖动时间阈值范围内,说明媒体流数据在传输的过程中发生的抖动较小,传输质量较高。
终端设备还可以对丢包信息进行判断,若在预设时间段内的丢包数量大于丢包预设值,说明网络传输质量不高。若在预设时间段内的丢包数量小于或等于丢包预设值,说明网络传输质量较高。
终端设备还可以对预设时间段内的消耗的流量信息进行判断,若消耗的流量信息大于流量预设值,说明网络传输质量不高。若消耗的流量信息小于或等于流量预设值,说明网络传输质量较高。
图3是本发明的又一种媒体流检测方法实施例的步骤流程图,如图3所示,所述媒体流检测方法包括:
S301、获取视频流数据包、音频流数据包、辅助数据流数据包;
其中,终端设备获取视频流数据包,该视频流数据包可以是SMPTE2110的视频流数据包,即SMPTE2110支持无压缩或浅压缩视音频信号,不限于某种分辨率和颜色空间。
数据报到达时间应是网卡硬件写入的数据包到达时刻系统的PTP时间。
S302、终端设备上安装有网卡驱动,该网卡驱动用于接收媒体流数据包。
具体地,获取数据包的方法利用网卡厂家提供的网卡驱动接口,也可以是利用AF_PACKET, SOCK_RAW创建socket从系统提取。
终端设备获取每一个媒体流数据包的到达时间、包大小、包头部数据,具体为:
socket(PF_INET,SOCK_RAW);
rmax_in_get_next_chunk(RMAX_RAW_PACKET)。
S303、流类型判断;
终端设备在获取到媒体流数据包后,先对媒体流数据包的流类型进行判断,判断流类型是UDP(User Datagram Protocol,用户数据报协议)数据包或者是RTP数据包。
同时,终端设备还需要确定统计时间周期,然后依据需要的检测项启动相关软件模块;例如,预先设置的检测参数,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种。
S304、进行基本数据统计,包括统计包数和字节数;
终端设备对预设时间段内接收到的媒体流数据包进行基本数据统计,即检测信息,该检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
S305、提取数据包附加信息,进行抖动计算;其中,数据包附加信息为抖动信息。
具体地,终端设备记录媒体流数据包到达时间,并根据到达时间计算相邻两个数据包之间的时间间隔,在确定每一帧之间的间隔时间(Gapped PRS)的过程中,首先需要识别每一帧对应的起始时间,然后将每一帧对应的起始时间与偏移时间(Troffset)之间的差值确定为每一帧之间的间隔时间。每当到达统计时间周期即预设时间段的情况下,统计平均数据流量、最小间隔时间和最大间隔时间;
S306、提取RTP协议头和RTP协议扩展头,进行丢包统计;
比较相邻包RTP序列号,检查是否有丢包和包顺序错误;
依据RTP时间戳划定帧边界,准确统计帧内丢包率、每秒丢包率;
S307、指定统计时间周期内,累加包大小,记录计算平均流量;
具体地,终端设备在1s内接收到多少个数据包,并计算接收这些数据包所需要的平均流量,即总流量除以数据包的总数量。
S308、得到预期的实时检测IP音视频流结果。
具体地,终端设备在获取的检测信息后,对一项或多项参数进行质量检测,例如对于抖动信息来说,若终端设备在预设时间段内,接收到每一个媒体流数据包的时间间隔都不相同,或者是两个媒体流数据包的间隔时间大于抖动时间阈值的最大值,或是两个媒体流数据包的间隔时间小于抖动时间阈值的最小值,说明在媒体流数据传输的过程中发生了抖动,传输质量不高;
若终端设备在预设时间段内,接收到的相邻的任意两个媒体流数据包的间隔时间相同,且间隔时间在抖动时间阈值范围内,说明媒体流数据在传输的过程中发生抖动,传输质量较高。
终端设备还可以对丢包信息进行判断,若在预设时间段内的丢包数量大于丢包预设值,说明网络传输质量不高。若在预设时间段内的丢包数量小于或等于丢包预设值,说明网络传输质量较高。
终端设备还可以对预设时间段内的消耗的流量信息进行判断,若消耗的流量信息大于流量预设值,说明网络传输质量不高。若消耗的流量信息小于或等于流量预设值,说明网络传输质量较高。
根据上述的比较结果得到预期的实时检测IP音视频流结果。
本发明实施例利用PTP时钟记录记录包到达时间,采集数据包包头,再依次分析到达时间、UDP包头、RTP包头、RTP扩展头、比较包间隔时间和序列号计数、计算包抖动(到达时间,平均间隔稳定)、包丢失(序列号)、流量数据,最后评估码流的健康情况,通过本发明实施例实时软件解决方案,占用资源少,系统消耗低,以模块化实现,容易集成到多画面、检测仪、播放器、远程管理的服务器等设备中,应用范围广,可实现IP播控系统精细管理。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的媒体流检测方法,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本发明另一实施例提供一种媒体流检测装置,用于执行上述实施例提供的媒体流检测方法。
参照图4,示出了本发明的一种媒体流检测装置实施例的结构框图,该装置具体可以包括如下模块:获取模块401、确定模块402和检测模块403,其中:
获取模块401用于获取预设时间段内的媒体流数据包;
确定模块402用于根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
检测模块403用于根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。
本发明实施例提供的媒体流检测装置,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本发明又一实施例对上述实施例提供的媒体流检测装置做进一步补充说明。
可选地,检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种。
可选地,确定模块用于:
若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息;
或
若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息;
或
若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息。
可选地,确定模块,用于:
获取预设时间段内的每一个媒体流数据包的到达时间;
根据到达时间,计算相邻两个媒体流数据包的时间间隔;
根据所述时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息。
可选地,确定模块用于:
若所述最大间隔时间大于第一预设值和/或所述最小间隔时间小于第二预设值,统计在预设时间段内最大间隔时间大于第一预设值和/或最小间隔时间小于第二预设值的突发次数;
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度。
可选地,确定模块用于:
对获取的媒体流数据包进行逐层解析,得到RTP数据包;
根据RTP数据包的序列号,确定丢包信息,其中,丢包信息至少包括丢包序列号、帧内丢包率和每秒丢包率。
可选地,确定模块用于:
获取预设时间段内的媒体流数据包的数量以及接收媒体流数据包所消耗的流量;
根据媒体流数据包的数量和所消耗的流量,确定预设时间段内的平均流量。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的媒体流检测装置,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的媒体流检测方法。
图5是本发明的一种终端设备的结构示意图,如图5所示,该终端设备包括:至少一个处理器501和存储器502;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的媒体流检测方法。
本实施例提供的终端设备,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的媒体流检测方法。
根据本实施例的计算机可读存储介质,通过获取预设时间段内的媒体流数据包;根据预先设置的检测参数,确定预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;根据检测信息,对预设时间段内的媒体流数据包进行质量检测,得到质量检测结果。通过实时获取媒体流数据包的检测信息,例如,抖动信息、丢包信息和流量信息等,对预设时间段内的媒体流数据包的检测信息进行判断,从而针对专业播总控、直播等领域对实时性要求高的场合,实现实时对媒体流数据进行质量检测,得到质量检测结果,不仅节省费用,还能提高质量检测效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程度代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
以上对本发明所提供的一种媒体流检测方法和一种媒体流检测装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种媒体流检测方法,应用于终端设备,其特征在于,所述方法包括:
获取预设时间段内的媒体流数据包;
根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
根据所述检测信息,对所述预设时间段内的媒体流数据包进行质量检测,得到质量检测结果;
其中,所述检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种;
所述根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息,包括:
若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息,包括:
获取预设时间段内的每一个媒体流数据包的到达时间;
根据所述到达时间,计算相邻两个媒体流数据包的时间间隔;
根据所述时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息,包括:
若所述最大间隔时间大于第一预设值和/或所述最小间隔时间小于第二预设值,统计在预设时间段内最大间隔时间大于第一预设值和/或最小间隔时间小于第二预设值的突发次数;
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度。
2.根据权利要求1所述的方法,其特征在于,所述根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息,还包括:
若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息;
或
若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息。
3.根据权利要求2所述的方法,其特征在于,所述若预先设置的检测参数为预设丢包参数,则确定预设时间段内的媒体流数据包的丢包信息,包括:
对获取的媒体流数据包进行逐层解析,得到RTP数据包;
根据所述RTP数据包的序列号,确定丢包信息,其中,所述丢包信息至少包括丢包序列号、帧内丢包率和每秒丢包率。
4.根据权利要求2所述的方法,其特征在于,所述若预先设置的检测参数为预设流量参数,则确定预设时间段内的媒体流数据包的流量信息,包括:
获取预设时间段内的媒体流数据包的数量以及接收媒体流数据包所消耗的流量;
根据所述媒体流数据包的数量和所述所消耗的流量,确定预设时间段内的平均流量。
5.一种媒体流检测装置,设置在终端设备,其特征在于,所述装置包括:
获取模块,用于获取预设时间段内的媒体流数据包;
确定模块,用于根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息;其中,预先设置的检测参数至少包括预设抖动参数、预设丢包参数和预设流量参数中的一种或多种;
检测模块,用于根据所述检测信息,对所述预设时间段内的媒体流数据包进行质量检测,得到质量检测结果;
其中,所述检测信息至少包括抖动信息、丢包信息和流量信息中的一种或多种;
所述根据预先设置的检测参数,确定所述预设时间段内的媒体流数据包的检测信息,包括:
若预先设置的检测参数为预设抖动参数,则确定预设时间段内的媒体流数据包的抖动信息,包括:
获取预设时间段内的每一个媒体流数据包的到达时间;
根据所述到达时间,计算相邻两个媒体流数据包的时间间隔;
根据所述时间间隔,确定预设时间段内的最大间隔时间和最小间隔时间;
根据所述最大间隔时间和所述最小间隔时间,确定预设时间段内的媒体流数据包的抖动信息,包括:
若所述最大间隔时间大于第一预设值和/或所述最小间隔时间小于第二预设值,统计在预设时间段内最大间隔时间大于第一预设值和/或最小间隔时间小于第二预设值的突发次数;
若所述突发次数大于第三预设值,则确定预设时间段内的媒体流数据包发生抖动的严重程度。
6.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1至4中任一项所述的媒体流检测方法。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1至4中任一项所述的媒体流检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311039343.4A CN116781975B (zh) | 2023-08-17 | 2023-08-17 | 一种媒体流检测方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311039343.4A CN116781975B (zh) | 2023-08-17 | 2023-08-17 | 一种媒体流检测方法、装置、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116781975A CN116781975A (zh) | 2023-09-19 |
CN116781975B true CN116781975B (zh) | 2024-02-06 |
Family
ID=88011908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311039343.4A Active CN116781975B (zh) | 2023-08-17 | 2023-08-17 | 一种媒体流检测方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116781975B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716945A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 媒体流服务质量检测方法 |
CN101521813A (zh) * | 2009-04-17 | 2009-09-02 | 杭州华三通信技术有限公司 | 一种处理媒体流的方法和装置 |
CN103167359A (zh) * | 2013-03-27 | 2013-06-19 | 华为技术有限公司 | Rtp媒体流的传输方法及装置 |
CN109889398A (zh) * | 2017-12-06 | 2019-06-14 | 中国移动通信有限公司研究院 | 一种检测媒体流业务质量的方法及装置、设备、存储介质 |
CN113099310A (zh) * | 2021-04-08 | 2021-07-09 | 李蕊男 | 基于安卓平台的实时媒体内视音频协调法 |
CN115118636A (zh) * | 2022-06-13 | 2022-09-27 | 北京达佳互联信息技术有限公司 | 网络抖动状态的确定方法、装置、电子设备及存储介质 |
CN116545929A (zh) * | 2023-05-06 | 2023-08-04 | 北京达佳互联信息技术有限公司 | 网络链路的拥塞状态检测方法、装置、服务器和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989236B (zh) * | 2017-05-31 | 2020-09-18 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
-
2023
- 2023-08-17 CN CN202311039343.4A patent/CN116781975B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716945A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 媒体流服务质量检测方法 |
CN101521813A (zh) * | 2009-04-17 | 2009-09-02 | 杭州华三通信技术有限公司 | 一种处理媒体流的方法和装置 |
CN103167359A (zh) * | 2013-03-27 | 2013-06-19 | 华为技术有限公司 | Rtp媒体流的传输方法及装置 |
CN109889398A (zh) * | 2017-12-06 | 2019-06-14 | 中国移动通信有限公司研究院 | 一种检测媒体流业务质量的方法及装置、设备、存储介质 |
CN113099310A (zh) * | 2021-04-08 | 2021-07-09 | 李蕊男 | 基于安卓平台的实时媒体内视音频协调法 |
CN115118636A (zh) * | 2022-06-13 | 2022-09-27 | 北京达佳互联信息技术有限公司 | 网络抖动状态的确定方法、装置、电子设备及存储介质 |
CN116545929A (zh) * | 2023-05-06 | 2023-08-04 | 北京达佳互联信息技术有限公司 | 网络链路的拥塞状态检测方法、装置、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116781975A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7864695B2 (en) | Traffic load density measuring system, traffic load density measuring method, transmitter, receiver, and recording medium | |
US8593947B2 (en) | Congestion detection method, congestion detection apparatus, and recording medium storing congestion detection program recorded thereon | |
US8665732B2 (en) | VoIP diagnosis | |
CN110475124B (zh) | 视频卡顿检测方法及装置 | |
CN112601072B (zh) | 视频业务质量评估的方法及装置 | |
EP3491784B1 (en) | Estimation of losses in a video stream | |
CN108391089B (zh) | 多路摄像机的监控流推送方法和装置以及监控系统 | |
CN109561300B (zh) | 业务质量检测方法及装置 | |
KR101846386B1 (ko) | 모바일 영상통화 품질측정 방법 및 시스템 | |
CN106911927B (zh) | 评估网络视频用户体验质量的方法、装置和dpi设备 | |
CN109889398B (zh) | 一种检测媒体流业务质量的方法及装置、设备、存储介质 | |
US20130326049A1 (en) | System and method for sequencing per-hop data in performance-monitored network environments | |
KR20110090596A (ko) | 지터 보정 방법 및 장치 | |
CN111385163A (zh) | 流量的分析、检测方法及装置 | |
CN112449252B (zh) | 视频流系统的维护方法、装置、无线网桥设备及存储介质 | |
CN111200760A (zh) | 一种数据处理方法、装置及电子设备 | |
GB2459814A (en) | Measuring method, measuring device, and computer program | |
US20130120652A1 (en) | Method and apparatus for evaluating time delay of mobile video service | |
CN116781975B (zh) | 一种媒体流检测方法、装置、终端设备和存储介质 | |
JP7105838B2 (ja) | 映像品質評価方法および装置 | |
CN112583659A (zh) | 视联网网络状态的检测方法、装置、终端设备和存储介质 | |
US20100322095A1 (en) | Packet analysis apparatus and method thereof | |
CN114513651A (zh) | 视频设备关键帧碰撞检测方法、数据传输方法及相关装置 | |
CN103338131A (zh) | 检测日志传输丢失率的方法和设备 | |
CN112565016A (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 |