视频会议中视频延时的测试方法及装置与流程

文档序号:16815711发布日期:2019-02-10 14:28阅读:629来源:国知局
视频会议中视频延时的测试方法及装置与流程

本发明涉及视频会议技术领域,具体涉及一种视频会议中视频延时的测试方法及装置。



背景技术:

随着时代的发展和社会的进步,人们的沟通方式正发生着翻天覆地的变化。视频会议逐渐成为了一种主流的沟通方式,它方便快捷,直观形象深受大家的喜欢。其中,中心点模式的视频会议应用极为广泛。所谓的中心点模式即在视频会议中,音视频数据从源终端发向多点控制单元,经过多点控制单元的处理后发到目的终端。而音视频数据在多点控制单元的处理过程中必然会消耗一定的时间,造成源终端的视频画面和目的终端的视频画面存在不同步的现象,其中消耗的时间就是视频画面的时延,时延的大小对视频会议有着重要的影响。

为了解决上述技术问题,现有技术中一般采集源终端以及目的终端的视频画面,并对视频画面进行对比分析,以得到视频画面的延时。然而,源终端以及目的终端的视频画面的延时除了由于多点控制单元的处理所导致的,还包括网络传输过程中的延时。由于不同的网络环境下,网络传输过程中的延时不同,因此,该方法测试出延时的可靠性偏低。

另外,中国专利公开号为cn102158683a的专利文件中,公开了一种视频延时的测试方法,包括:获取数据报文,所述数据报文包括源终端发送到多点控制单元mcu的第一报文和所述mcu发送到远程终端的第二报文;分别在所述第一报文的视频码流报文中和第二报文的视频码流报文中获取同一帧图像;解析并获取所述两个报文中的同一帧图像的两个不同时间信息;根据所述两个不同时间信息的时间差计算得到视频延迟。然而,发明人发现,该方案中源终端发送到多点控制单元mcu的第一报文中图像的时间信息通常为源终端形成报文的时间,由于源终端与多点控制单元mcu之间存在网络延时,使得所检测出的多点控制单元mcu的延时中包含了网络延时时间,导致多点控制单元mcu的延时测试结果不准确。



技术实现要素:

有鉴于此,本发明实施例提供了一种视频会议中视频延时的测试方法及装置,以解决现有多点控制单元mcu延时测试结果不准确的问题。

根据第一方面,本发明实施例提供了一种视频会议中视频延时的测试方法,包括:

获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据及具有时间标记的待测试第二数据报文;其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有所述多点控制单元解码时添加的时间戳;所述待测试第二数据报文为所述多点控制单元对所述待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文;

对所述待测试第二数据报文进行解码,得到第二视频数据和所述时间标记;

基于所述第一视频数据的时间戳和所述第二视频数据对应的时间标记计算得到所述多点控制单元的延时。

本发明实施例提供的视频会议中视频延时的测试方法,其中,待测试第一数据包为源终端发送至多点控制单元的数据报文,多点控制单元在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

结合第一方面,在第一方面第一实施方式中,所述基于所述第一视频数据的时间戳和所述第二视频数据对应的时间标记计算得到所述多点控制单元的延时,包括:

同时开始播放所述第一视频数据和所述第二视频数据;

随机同时暂停所述第一视频数据和所述第二视频数据的播放,以得到所述第一视频数据对应的第一视频显示画面,以及所述第二视频数据对应的第二视频显示画面;

基于所述第一视频显示画面的时间戳以及第二视频显示画面上的所述时间标记,计算时间差;所述时间差为所述多点控制单元的延时。

本发明实施例提供的视频会议中视频延时的测试方法,通过同时播放同时暂停第一视频数据和第二视频数据,保证了两个视频数据播放与停止的统一,提高了视频延时测试的可靠性。

结合第一方面第一实施方式,在第一方面第二实施方式中,所述同时开始播放所述第一视频数据和所述第二视频数据,包括:

接收播放指令;

同时利用两个数据报文发送线程分别发送所述第一视频数据以及所述第二视频数据;

利用两个数据报文接收线程分别接收所述第一视频数据以及所述第二视频数据,以得到第一视频图像以及第二视频图像。

本发明实施例提供的视频会议中视频延时的测试方法,通过在同一终端同时利用数据报文发送线程分别发送两个待测试报文,减少了网络原因对测试结果的干扰,且更为准确的判断同一帧数据在经过多点控制单元处理前后的时间变化,提高延时测试的可靠性。

结合第一方面第二实施方式,在第一方面第三实施方式中,所述随机同时暂停所述第一视频数据以及所述第二视频数据,包括:

接收暂停指令;

同时暂停所述两个数据报文发送线程,以得到所述第一视频显示画面以及所述第二视频显示画面;其中,所述第一视频显示画面以及所述第二视频显示画面分别为所述两个数据报文接收线程收到的最后一帧画面。

本发明实施例提供的视频会议中视频延时的测试方法,在同时显示播放及暂停的情况下,第一视频显示画面以及第二视频显示画面的时间差,就是视频画面的延时;因此,通过同时发送同时暂停,提高了延时测试的可靠性。

结合第一方面、第一方面第一实施方式、第一方面第二实施方式或第一方面第三实施方式,在第一方面第四实施方式中,所述获取待测试第一数据报文以及待测试第二数据报文,包括:

获取预设信息;所述预设信息包括对应于所述源终端的解码通道号、媒体处理通道号、ip以及端口号;

利用所述源终端的解码通道号、媒体处理通道号提取媒体文件;所述媒体文件用于保存视频数据;

基于所述源终端的ip以及端口号对所述媒体文件进行分析,以得到所述第一视频数据以及所述待测试第二数据报文。

根据第二方面,本发明实施例还提供了一种视频会议中视频延时的测试方法,包括:

接收视频延时测试指令;其中,所述延时测试指令包括对应于源终端的解码通道号和媒体处理通道号;

对所述解码通道号的视频码流进行解码并添加时间戳,以得到第一视频数据;

对所述媒体处理通道号的解码后的所述视频码流进行媒体处理,以得到待测试第二数据报文;其中,所述待测试第二数据报文具有时间标记。

本发明实施例提供的视频会议中视频延时的测试方法,通过在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;后续对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

结合第二方面,在第二方面第一实施方式中,还包括:

创建媒体文件;其中,所述媒体文件用于保存视频码流;

将所述第一视频数据以及所述待测试第二数据报文分别写入所述媒体文件中;

判断延时测试是否结束;

当延时测试结束时,判断计数值是否为预设值;其中,所述计数值用于表示所述媒体文件的写入状态;

当所述计数值为所述预设值时,关闭所述媒体文件。

本发明实施例提供的视频会议中视频延时的测试方法,利用计数值对媒体文件的关闭进行同步处理,由于编码和媒体处理隶属于不同的线程,经过同步处理后能够避免先结束的线程关闭媒体文件所导致的后面线程的崩溃,提高了延时测试的可靠性。

根据第三方面,本发明实施例还提供了一种视频会议中视频延时的测试装置,应用测试设备中,包括:

获取模块,用于获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据以及具有时间标记的待测试第二数据报文;其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有所述多点控制单元解码时添加的时间戳;所述待测试第二数据报文为所述多点控制单元对所述待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文;

数据报文解码模块,用于对所述待测试第二数据报文进行解码,得到第二视频数据和所述时间标记;

延时计算模块,用于基于所述第一视频数据的时间戳和所述第二视频数据对应的时间标记计算得到所述多点控制单元的延时。

本发明实施例提供的视频会议中视频延时的测试装置,待测试第一数据包围为源终端发送至多点控制单元的数据报文,多点控制单元在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

根据第四方面,本发明实施例还提供了一种视频会议中视频延时的测试装置,应用于多点控制单元中,包括:

接收模块,用于接收视频延时测试指令;其中,所述延时测试指令包括对应于源终端的解码通道号和媒体处理通道号;

视频码流解码模块,用于对所述解码通道号的视频码流进行解码并添加时间戳,以得到第一视频数据;

媒体处理模块,用于对所述媒体处理通道号的解码后的所述视频码流进行媒体处理,以得到待测试第二数据报文;其中,所述待测试第二数据报文具有时间标记。

本发明实施例提供的视频会议中视频延时的测试装置,通过在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;后续对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

根据第五方面,本发明实施例还提供了一种电子设备,包括:

存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明第一方面,或第一方面任一项实施方式中所述的视频会议中视频延时的测试方法,或本发明第二方面,或第二方面任一项实施方式中所述的视频会议中视频延时的测试方法。

根据第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行本发明第一方面,或第一方面任一项实施方式中所述的视频会议中视频延时的测试方法,或本发明第二方面,或第二方面任一项实施方式中所述的视频会议中视频延时的测试方法。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例中视频会议系统的结构图;

图2是根据本发明实施例的视频会议中视频延时的测试方法的流程图;

图3是根据本发明实施例的视频会议中视频延时的测试方法的流程图;

图4是根据本发明实施例的视频会议中视频延时的测试方法的流程图;

图5是根据本发明实施例的视频会议中视频延时的测试方法的流程图;

图6是根据本发明实施例的视频会议中视频延时的测试方法的流程图;

图7是根据本发明实施例的视频会议中视频延时的测试装置的结构框图;

图8是根据本发明实施例的视频会议中视频延时的测试装置的结构框图;

图9是本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,是本发明的实施例的应用场景示意图。视频会议系统中包括若干终端,以及多点控制单元;其中,会议终端将采集的视频数据编码后发送给多点控制单元,多点控制单元接收各个终端发送的数据,解码后进行媒体处理后再发送给各个终端。

具体地,会议终端对采集到视频数据编码之后发送给多点控制单元,接收到多点控制单元发送的数据需进行解码后播放;此外,多点控制单元在接收到终端发送的数据之后,首先需要进行解码得到具体数据再进行媒体处理后发送给各个终端。因此,在多点控制单元一侧,对应于每个终端具有解码通道以及媒体处理通道(每个解码通道具有唯一的解码通道号,每个媒体处理通道具有唯一的媒体处理通道号),其中解码通道可以用于传输终端编码后的数据,媒体处理通道用于传输多点控制单元经过媒体处理后的数据;即,多点控制单元对应于每个终端都可以具有解码器以及媒体处理器。

例如,请结合图1,对应于终端1,多点控制单元一侧具有解码通道以及媒体处理通道,对应的,解码通道号1,媒体处理通道号a;对应于终端2,多点控制单元一侧具有解码通道以及媒体处理通道,对应的,解码通道号2,媒体处理通道号b,……。

此外,本发明实施例提供的视频会议中视频延时的测试方法,可以在视频会议的进行过程中进行测试,也可以是离线进行测试。即,视频延时的测试方法并不影响视频会议的进行,当在视频会议的进行中进行测试时,多点控制单元一方面对各个终端发送的数据进行处理后发送给各个终端;另一方面基于实际测试需求,保存对应于某个终端的经过多点控制单元处理前后的数据报文,以用于视频延时的测试。其中,后续对视频延时的测试可以是在多点控制单元进行,也可以是在其他测试设备中进行。

根据本发明实施例,提供了一种视频会议中视频延时的测试方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种视频会议中视频延时的测试方法,可用于测试设备中,图2是根据本发明实施例的视频会议中视频延时的测试方法的流程图,如图2所示,该流程包括如下步骤:

s11,获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据以及具有时间标记的待测试第二数据报文。

其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有多点控制单元解码时添加的时间戳。所述待测试第二数据报文为多点控制单元对待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文。

具体地,在需要进行视频延时测试时,会议终端将数据报文发送给多点控制单元,多点控制单元对数据报文解码,且在解码时为数据报文中的每帧视频图像添加上时间戳;即,解码且添加时间戳得到第一视频数据。多点控制单元再对解码后得到的视频数据进行媒体处理后发送给会议终端,其中,多点控制单元在媒体处理时为每帧视频图像添加上时间标记;即媒体处理且添加时间标记得到第二待处理数据报文。

所述的时间戳以及时间标记存在于图像内容中,方便后续视频显示画面的播放显示时可以在视频显示画面上显示对应的时间戳以及时间标记,形成所见即所得。该时间戳或时间标记可以是通过摄像头采集秒表程序的图像,例如onlystopwatch;也可以在解码或媒体处理时叠加时间信息到图像上,例如获取当前本地时间再通过cario生成yuv数据等。其中,采集和叠加的时间进度一般精确到毫秒。

其中,测试设备所获取的第一视频数据以及待测试第二数据报文可以是实时采集到的数据报文,也可以是先将第一视频数据以及待测试第二数据报文保存为媒体文件形式,在需要进行延时测试时,测试设备从媒体文件中获取第一视频数据以及待测试第二数据报文即可;也可以是其他方式等等,只需保证测试设备能够获取到第一视频数据以及待测试第二数据报文即可。

s12,对待测试第二数据报文进行解码,得到第二视频数据和时间标记。

多点控制单元在媒体处理完成之后发送给会议终端,从媒体处理通道发送给会议终端的数据报文为编码后得到的。因此,需要对待测试第二数据报文进行解码,才可以得到第二视频数据和时间标记。

s13,基于第一视频数据的时间戳和第二视频数据对应的时间标记计算得到多点控制单元的延时。

其中,第一视频数据中的每帧视频图像上都存在有时间戳,第二视频数据中的每帧视频图像上都存在有时间标记,可以通过在第一视频数据以及第二视频数据中匹配到相同的视频图像,然后通过对比相同的视频图像上的时间戳与时间标记,即可得到多点控制单元的延时;或者同时播放同时暂停第一视频数据以及第二视频数据,通过暂停后得到的第一视频显示画面的时间戳以及第二视频显示画面的时间标记,即可得到多点控制单元的延时。其中,对于延时的计算可以是提取时间戳与时间标记进行比较,也可以是直接通过人眼进行比较等等。

在同时显示播放的情况下,第一视频显示画面以及第二视频显示画面的时间信息差(时间戳与时间标记的时间差)即为视频画面延时。例如,第一视频显示画面a中的时间戳为100,第二视频显示画面b中的时间标记为110,该时间戳与时间标记的差值即为视频画面的延时。

本实施例提供的视频会议中视频延时的测试方法,其中,待测试第一数据包围为源终端发送至多点控制单元的数据报文,多点控制单元在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

在本实施例中还提供了一种视频会议中视频延时的测试方法,可用于测试设备中,图3是根据本发明实施例的视频会议中视频延时的测试方法的流程图,如图3所示,该流程包括如下步骤:

s21,获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据以及具有时间标记的待测试第二数据报文。

其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有多点控制单元解码时添加的时间戳。所述待测试第二数据报文为多点控制单元对待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文。

详细请参见图2所示实施例的s11,在此不再赘述。

s22,对待测试第二数据报文进行解码,得到第二视频数据和时间标记。详细请参见图2所示实施例的s12,在此不再赘述。

s23,基于第一视频数据的时间戳和第二视频数据对应的时间标记计算得到多点控制单元的延时。

采用同时播放随机同时暂停的方法,计算得到多点控制单元的延时。

具体地,包括:

s231,同时开始播放第一视频数据和第二视频数据。

同时开始播放第一视频数据和第二视频数据,即在测试设备中可以呈现出对应于第一视频数据的第一视频图像,以及对应于第二视频数据的第二视频图像。例如,测试设备可以借助于视频播放软件,也可以是通过编码显示程序得到对应的第一视频图像以及第二视频图像。

测试设备分别利用两个数据报文发送线程以及两个数据接收线程,以第一视频数据以及第二视频数据中的视频显示画面。即,在测试设备上,同时对第一视频数据以及第二视频数据进行操作:发送、接收以及显示,就可以对比可视化的视频显示画面。

可选地,可以包括如下步骤:

(1)接收播放指令。

测试设备接收通过脚本程序发送的播放指令,以便于同时发送第一视频数据以及所述第二视频数据。

(2)同时利用两个数据报文发送线程分别发送第一视频数据以及所述第二视频数据。

测试设备同时利用两个数据报文发送线程分别发送第一视频数据以及所述第二视频数据;其中,由于播放指令是通过脚本程序发送的,能够保证待测试数据报文是同时发送的。由于是同时发送的,后续能够更为准确的判断同一帧数据在经过多点控制单元经过媒体处理前后的时间变化。

例如,数据报文发送线程可以是对应于编写的视频数据发送程序,即测试设备使用脚本程序控制视频数据发送程序,同时发送视频数据。

(3)利用两个数据报文接收线程分别接收第一视频数据以及所述第二视频数据,以得到第一视频图像以及第二视频图像。

其中,测试设备的数据报文接收线程可以是与数据报文发送程序对应的数据报文接收程序。测试设备使用脚本程序控制两个数据报文发送程序,同时发送待测试数据报文到上述两个数据报文接收程序,以得到第一视频图像以及第二视频图像;即在测试设备上同时显示第一视频图像以及第二视频图像。

s232,随机同时暂停第一视频数据和第二视频数据的播放,以得到第一视频数据对应的第一视频显示画面,以及第二视频数据对应的第二视频显示画面。

测试设备随机同时暂停第一视频图像以及第二视频图像,那么在测试设备上的视频图像会停止在第一视频显示画面以及第二视频显示画面。其中,第一视频显示画面对应于第一视频图像,第二视频显示画面对应于第二视频图像。

可选地,可以包括如下步骤:

(1)接收暂停指令。

(2)同时暂停两个数据报文发送线程。

其中,所述两个数据报文接收线程显示收到的最后一帧画面分别为第一视频显示画面以及第二视频显示画面。

测试设备使用脚本程序控制两个数据报文发送线程向数据接收线程发送视频数据,两个数据报文发送线程同时暂停发送视频数据,数据报文接收线程显示接收的最后一帧画面分别为第一视频显示画面以及第二视频显示画面;在第一视频显示画面上具有时间戳以及第二视频显示画面上具有时间标记。

s233,基于第一视频显示画面的时间戳以及第二视频显示画面上的时间标记,计算时间差。

其中,所述时间差为多点控制单元mcu的延时。同时随机暂停第一视频数据以及第二视频数据,分别得到对应的第一视频显示画面以及第二视频显示画面,在第一视频显示画面上具有时间戳,在第二视频显示画面上具有时间标记,通过对比时间戳与时间标记即可得到时间差。

与图2所示实施例相比,本实施例提供的视频会议中视频延时的测试方法,通过同时播放同时暂停第一视频数据和第二视频数据,保证了两个视频数据播放与停止的统一,提高了视频延时测试的可靠性。

作为本实施例的一种可选实施方式,可以进行多次的同时播放与随机同时暂停,以得到多个视频延时,再对多个视频延时进行平均,即可得到视频延时的平均值,提高了视频延时的可靠性。

在本实施例中还提供了一种视频会议中视频延时的测试方法,可用于测试设备中,图4是根据本发明实施例的视频会议中视频延时的测试方法的流程图,如图4所示,该流程包括如下步骤:

s31,获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据以及具有时间标记的待测试第二数据报文。

其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有多点控制单元解码时添加的时间戳。所述待测试第二数据报文为多点控制单元对待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文。

具体地,延时测试时,测试设备利用源终端的解码通道号、媒体处理通道号、ip以及端口号,从媒体文件中分析出第一视频数据以及待测试第二数据报文。具体地,包括以下步骤:

s311,获取预设信息。

其中,所述预设信息包括对应于源终端的解码通道号、媒体处理通道号、ip以及端口号。

具体地,测试设备可以是通过视频会议中的信息,分别获取源终端的解码通道号、媒体处理通道号、ip和端口号。后续测试设备利用ip和端口号即可从媒体文件中获取到第一视频数据以及待测试第二数据报文。

s312,利用源终端的解码通道号、媒体处理通道号提取媒体文件。

其中,所述媒体文件用于保存视频码流。具体地,在延时测试时,多点控制单元分别将媒体处理前后的视频码流保存在媒体文件中。媒体文件的命名可以采用解码通道号、编码通道号以及当时时间,以便于延时测试时区分不同的时间和终端信息。因此,利用源终端的解码通道号以及媒体处理通道号即可提取出相应的媒体文件。

s313,基于源终端的ip以及端口号对媒体文件进行分析,以得到第一视频数据以及待测试第二数据报文。

测试设备利用获取到的信息(ip和端口号),对媒体文件进行解析过滤,即可得到第一视频数据以及待测试第二数据报文。其中,第一视频数据是多点控制单元解码且添加上时间戳的视频数据,待测试第二数据报文是经过多点控制单元媒体处理(例如,重新解码合成编码)后的数据。

s32,对待测试第二数据报文进行解码,得到第二视频数据和时间标记。详细请参见图3所示实施例的s22,在此不再赘述。

s33,基于第一视频数据的时间戳和第二视频数据对应的时间标记计算得到多点控制单元的延时。详细请参见图3所示实施例的s23,在此不再赘述。

与图3所示实施例相比,本实施例提供的视频会议中视频延时的测试方法,通过利用会议终端的信息对媒体文件进行分析,即可得到没有经过多点控制单元的媒体处理的第一视频数据,以及经过多点控制单元的媒体处理后的待测试第二数据报文,提高了延时测试的效率。

作为本实施例的一种具体应用实例,本实施例提供了视频会议中视频延时的测试方法,包括如下步骤:

(1)利用会议中的信息,分别获取第一会议终端(源终端)以及第二会议终端(目的终端)的ip和端口。

(2)根据ip和端口信息,对媒体文件进行解析过滤,分别得到从源终端多点控制单元对接收到的源终端发送的数据报文进行解码且添加时间戳之后得到第一视频数据s和多点控制单元对解码后的视频数据进行媒体处理后得到的待测试第二数据报文d。在共同显示播放的情况下,s和d显示画面的时间信息差,就是视频画面延时。

(3)在测试设备上,打开两个数据报文发送工具分别设置不同的端口port1和port2(因为是在同一测试设备上,所以发送和接收的ip都是一样的),用于发送报文数据s和报文数据d。

(4)在测试设备上,打开两个数据报文接收工具,分别设置上述不同的端口port1和port2,用于接收报文数据s和报文数据d,并进行解码显示,将视频图像呈现出来。在同一测试设备上操作的目的是尽量减少网络原因对于测试结果的干扰。其中,数据报文发送工具的主要功能是通过设置ip和端口,将数据发送到指定的ip和端口。

(5)使用脚本程序控制上述两个数据报文发送工具,同时发送s视频报文数据和d视频报文数据到上述两个数据报文接收工具,显示视频画面。这一步骤的关键是脚本控制同时发送,因为只有同时发送,才能够更为准确的判断同一帧数据在经过多点控制单元处理前后的时间变化。其中,数据报文接收工具的主要功能是通过设置ip和端口,接收特定的数据报文,并对数据报文进行解码显示播放。数据报文发送工具和接收工具形成一个可以对数据报文可视化分析的系统。在同一测试设备上,同时对两个数据报文进行操作:发送、接收以及显示,然后就可以对比可视化的视频画面。

(6)随机暂停,对比视频显示画面,获取时间信息,并计算时间差。两个发送数据报文的工具同时暂停发送数据,接收数据报文的工具显示收到的最后一帧画面,对比两个视频画面的时间差异,就是视频画面延时。

在本实施例中提供了一种视频会议中视频延时的测试方法,可用于多点控制单元中,图5是根据本发明实施例的视频会议中视频延时的测试方法的流程图,如图5所示,该流程包括如下步骤:

s41,接收视频延时测试指令。

其中,所述延时测试指令包括对应于会议终端的解码通道号和媒体处理通道号。

多点控制单元在视频会议开始时,可以同时开启单独的线程用于接收视频延时测试指令。多点控制单元一方面在等待接收视频延时测试指令,另一方面进行解码。其中,延时测试指令可以包括对应于会议终端的解码通道号a,以及媒体处理通道号b,以便于区分不同的会议终端。可选地,延时测试指令中还可以包括有保存时长t等等。

s42,对解码通道号的视频码流进行解码并添加时间戳,以得到第一视频数据。

媒体处理单元在接收到终端发送的数据报文后,对其进行解码并添加上时间戳,即可得到第一视频数据。

s43,对媒体处理通道号的解码后的视频码流进行媒体处理,以得到待测试第二数据报文。

其中,所述待测试第二数据报文具有时间标记。媒体处理单元对解码后得到的视频数据进行媒体处理且添加时间标记,即可得到待测试第二数据报文。

所得到的第一视频数据以及待测试第二数据报文可以用于后续的视频延时的测试。

本实施例提供的视频会议中视频延时的测试方法,通过在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;后续对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

在本实施例中提供了一种视频会议中视频延时的测试方法,可用于多点控制单元中,图6是根据本发明实施例的视频会议中视频延时的测试方法的流程图,如图6所示,该流程包括如下步骤:

s51,接收视频延时测试指令。

其中,所述延时测试指令包括对应于会议终端的解码通道号和媒体处理通道号。详细请参见图5所示实施例的s41,在此不再赘述。

s52,对解码通道号的视频码流进行解码并添加时间戳,以得到第一视频数据。详细请参见图5所示实施例的s42,在此不再赘述。

s53,对媒体处理通道号的解码后的视频码流进行媒体处理,以得到待测试第二数据报文。

其中,所述待测试第二数据报文具有时间标记。详细请参见图5所示实施例的s43,在此不再赘述。

s54,创建媒体文件。

其中,所述媒体文件用于保存视频码流。多点控制单元在需要进行延时测试时,创建用于保存视频码流的媒体文件,例如asf文件。该媒体文件的命名可以采取解码通道号,媒体处理通道号和当前时间来命名。

s55,将第一视频数据以及待测试第二数据报文分别写入媒体文件中。

多点控制单元在创建媒体文件之后,将对应于解码通道号以及媒体处理通道号的视频码流(即,第一视频数据以及待测试第二数据报文)分别写入媒体文件。其中,可选地,多点控制单元可以保存关键帧,以便于在播放时快速地进行播放;同时,为了保证关键帧快速到达,需要在写入时去申请关键帧。

s56,判断延时测试是否结束。

多点控制单元在实时判断延时测试是否结束,例如,在延时测试指令中包括有保存时长时,可以通过比对保存时长来判断,若保存的时间超过则表示写入结束;也可以是通过判断是否接收测试结束指令来判断延时测试是否结束。其中,当延时测试结束时,执行s57;否则,执行s55。

s57,判断计数值是否为预设值。

其中,所述计数值用于表示所述媒体文件的写入状态。具体地,由于编码和媒体处理隶属于不同的线程,同时对文件进行操作,同时对文件进行关闭,操作写入时asf会自动进行同步,但是关闭需要自己进行同步处理,否则先结束的线程关闭文件后会导致后面的线程崩溃。因此,在媒体文件打开同时根据流的数目对计数值进行计数加一,比如一条流写入为count=1,两条流写入为count=2;关闭时进行计数减一,关闭文件时先减计数,比如此时计数为count=2,解码关闭计数减一即为count=1,此时判断count不为0,即初始值,那么并不关闭文件,后面媒体处理结束进行关闭,先计数减一则count=0,那么判断发现count=0后才真正关闭文件,即调用操作系统接口关闭。因此,只有在计数值为预设值时,才表示媒体文件能够关闭。当计数值为预设值时,执行s58;否则等待预设时间后,再次执行s57。

s58,关闭媒体文件。

多点控制单元关闭媒体文件,在媒体文件中则保存有第一视频数据以及待测试第二数据报文,可用于后续的视频延时测试。

与图5所示实施例相比,本实施例提供的视频会议中视频延时的测试方法,利用计数值对媒体文件的关闭进行同步处理,由于编码和媒体处理隶属于不同的线程,经过同步处理后能够避免先结束的线程关闭媒体文件所导致的后面线程的崩溃,提高了延时测试的可靠性。

作为本实施例的一个具体应用实例,该视频会议中视频延时的测试方法,包括以下步骤:

(1)视频会议开启,终端mtx加入会议,多点控制单元进行画面合成等媒体处理的常规功能,终端mtx在画面合成中。

(2)终端mtx向多点控制单元发送视频数据。

(3)多点控制单元对接收到的视频数据解密后准备进行下一步处理(8)。

(4)同时多点控制单元开启单独线程等待视频延时测试命令。

(5)多点控制单元判断是否收到了测试命令,不是的话一方面继续等待延时测试命令,一方面进行解码,是的话执行(6),收到的测试命令可以包含终端mtx对应的解码通道号a,媒体处理通道号b,保存时长t等。其中,会议终端在平台的信息可以通过会议的管理信息获取到。

(6)多点控制单元创建用于保存媒体的媒体文件比如asf文件,命名采取解码通道号,编码通道号和当时时间来命名,方便统计时进行区分不同的时间和终端信息。多媒体单元在进行解码时添加时间戳,该时间戳存在于图像内容中,方便在保存成媒体播放文件后进行播放显示,形成所见即所得。这种时间戳可以通过摄像头采集秒表程序的图像获取如常用的onlystopwatch,也可以在编码时叠加时间信息到图像上如获取当前本地时间再通过cario生成yuv数据等,采集和叠加的时间精度一般精确到毫秒。

(7)通知多点控制单元中对应于终端mtx的编码通道以及媒体处理通道进行数据的保存,执行(8)以及(13)。

(8)判断当前是否需要进行延时测试而写入文件,该判断来自于(4)的延时命令监视线程;一般可以通过设置标志位如biswrite=true进行判断。

(9)需要写入文件则多点控制单元生成本地时间戳,本地时间戳一般通过调用系统函数获取,如gettimeofday从linux获取本地时间,并将时间戳和解码后数据写入媒体文件,以形成第一视频数据(即,流a)。此外,为了能在播放时快速的进行播放,一般在关键帧来时进行保存。同时为了保证关键帧快速到达,需要在写入时去申请关键帧。这样实现了快速获取关键帧。

(10)判断延时测试是否结束,通常对比之前传入的保存时长t来判断,如果保存的时长超过则表示写入结束。

(11)延时测试结束关闭文件,清除有关的状态信息,比如写入标志位,时长等。

(12)无论延时测试是否开启或者结束都进入到该步骤,执行解码,合成,编码等媒体操作,保证正常的会议功能。

(13)编码结束同样需要判断是否在延时测试中,判断条件同(8)。

(14)需要写入文件则多点控制单元生成时间标记,并将时间标记和媒体处理后的数据写入媒体文件,以形成待测试第二数据报文(即,流b),同时为了播放顺利进行,直接编码一帧关键帧进行保存。

(15)判断延时测试是否结束,判断的原因同(10)。

(16)延时测试结束关闭文件,同样清除有关状态信息同(11)。由于编码和媒体处理隶属于不同的线程,同时对文件进行操作,同时对文件进行关闭,操作写入时asf会自动进行同步,但是关闭需要自己进行同步处理,否则先结束的线程关闭文件后会导致后面的线程崩溃。在文件打开同时根据流的数目对计数值进行计数加一,比如一条流写入为count=1,两条流写入为count=2,关闭时进行计数减一,关闭文件时先减计数,比如此时计数为count=2,解码关闭计数减一即为count=1,此时判断count不为0,即初始值。那么并不关闭文件,后面编码结束进行关闭,先计数减一则count=0,那么判断发现count=0后才真正关闭文件,即调用操作系统接口关闭。

(17)无论延时测试是否开启或者结束都将发送媒体处理后数据到对应的终端,保证会议正常进行。

至此,在多点控制单元中保存有媒体文件,该媒体文件包括第一视频数据(即,流a)以及待测试第二数据报文(即,流b)。

在本实施例中还提供了一种视频会议中视频延时的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种视频会议中视频延时的测试装置,应用于测试设备中,如图7所示,包括:

获取模块61,用于获取多点控制单元对待测试第一数据报文进行解码得到的第一视频数据以及具有时间标记的待测试第二数据报文;其中,所述待测试第一数据报文为源终端发送至多点控制单元的数据报文,所述第一视频数据中携带有所述多点控制单元解码时添加的时间戳;所述待测试第二数据报文为所述多点控制单元对所述待测试第一数据报文解码后得到的视频数据进行媒体处理后得到的数据报文。

数据报文解码模块62,用于对所述待测试第二数据报文进行解码,得到第二视频数据和所述时间标记。

延时计算模块63,用于基于所述第一视频数据的时间戳和所述第二视频数据对应的时间标记计算得到所述多点控制单元的延时。

本实施例提供的视频会议中视频延时的测试装置,待测试第一数据包围为源终端发送至多点控制单元的数据报文,多点控制单元在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

本实施例还提供一种视频会议中视频延时的测试装置,应用于多点控制单元中,如图8所示,包括:

接收模块71,用于接收视频延时测试指令;其中,所述延时测试指令包括对应于源终端的解码通道号和媒体处理通道号;

视频码流解码模块72,用于对所述解码通道号的视频码流进行解码并添加时间戳,以得到第一视频数据;

媒体处理模块73,用于对所述媒体处理通道号的解码后的所述视频码流进行媒体处理,以得到待测试第二数据报文;其中,所述待测试第二数据报文具有时间标记。

本发明实施例提供的视频会议中视频延时的测试装置,通过在对接收到的待测试第一数据报文进行解码时添加上时间戳,该时间戳为多点控制单元解码时对应的时间戳;此外,多点控制单元在对解码后的视频数据进行媒体处理时添加上时间标记,该时间标记为多点控制单元媒体处理时对应的时间,通过基于时间戳以及时间标记能够避免数据报文在网络中传输所导致的延时;后续对该数据报文进行延时测试所得出的延时即为多点控制单元的媒体处理所导致的延时,具有较高的可靠性。

本实施例中的视频会议中视频延时的测试装置是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本发明实施例还提供一种电子设备,具有上述图7或图8所示的视频会议中视频延时的测试装置。

请参阅图9,图9是本发明可选实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:至少一个处理器81,例如cpu(centralprocessingunit,中央处理器),至少一个通信接口83,存储器84,至少一个通信总线82。其中,通信总线82用于实现这些组件之间的连接通信。其中,通信接口83可以包括显示屏(display)、键盘(keyboard),可选通信接口83还可以包括标准的有线接口、无线接口。存储器84可以是高速ram存储器(randomaccessmemory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器84可选的还可以是至少一个位于远离前述处理器81的存储装置。其中处理器81可以结合图7或图8所描述的装置,存储器84中存储应用程序,且处理器81调用存储器84中存储的程序代码,以用于执行上述任一方法步骤。

其中,通信总线82可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。通信总线82可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器84可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器84还可以包括上述种类的存储器的组合。

其中,处理器81可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。

其中,处理器81还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。

可选地,存储器84还用于存储程序指令。处理器81可以调用程序指令,实现如本申请图1至图3实施例中所示的视频会议中视频延时的测试方法,或图4或图5实施例中所示的视频会议中视频延时的测试方法。

本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频会议中视频延时的测试方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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