视频测试文件生成方法、装置及播放器测试方法、装置与流程

文档序号:24056491发布日期:2021-02-26 11:25阅读:139来源:国知局
[0001]本申请涉及视频
技术领域
:,尤其涉及一种视频测试文件生成方法、装置及播放器测试方法、装置。
背景技术
::[0002]在播放器开发过程中,声音和画面是否同步是一个重要的测试点。但是目前的测试方式主要是依赖人工查看。主流的测试方法是播放几种比较容易能看出声音画面对得上对不上的测试范例片段来辅助测试,但是最终测试结果取决于人的反应速度、直觉感受,在有少量偏差或者偏差累积的时候,也难以分辨出来。技术实现要素:[0003]有鉴于此,现提供一种视频测试文件生成方法、播放器测试方法、计算机设备及计算机可读存储介质,实现了通过计算机设备来自动判定一个播放器的播放的速度是否正常、播放的声音和画面是否同步,解决了现有技术通过人工的方式来判定导致判定结果不准确的问题。[0004]本申请提供了一种视频测试文件生成方法,包括:[0005]获取视频文件,并对所述视频文件进行解析,以获取所述视频文件中包含的多个视频帧画面的视频时间戳,以及获取所述视频文件中包含的多个音频帧的音频时间戳;[0006]将获取到的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面;[0007]将获取到的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号对应替换各个音频帧,得到新的音频帧;[0008]对所述新的视频帧画面、各个视频时间戳、所述新的音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0009]可选地,当获取到各个音频时间戳时,采用频移键控的方式将获取到的各个音频时间戳转换为对应的音频信号。[0010]本申请还提供了一种视频测试文件生成方法,包括:[0011]获取多个视频帧画面,根据预先设定的待生成的视频测试文件的帧率生成各个视频帧画面的视频时间戳,将生成的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面;[0012]根据预先设定的待生成的视频测试文件的音频采样率生成多个音频帧的音频时间戳,将生成的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号作为音频帧;[0013]对所述新的视频帧画面、各个视频时间戳、所述音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0014]本申请还提供了一种播放器测试方法,包括:[0015]在播放器播放视频测试文件时,定时采集当前的播放画面、当前的播放声音,以及系统时间,其中,所述视频测试文件为通过如上所述的视频测试文件生成方法所生成的;[0016]依次对所述当前的播放画面中的标识码进行识别,以从所述播放画面中提取出第一时间戳,以及依次对所述当前的播放声音的频率进行识别,以从所述播放声音中提取出第二时间戳;[0017]根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量;[0018]根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常。[0019]可选地,所述根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量包括:[0020]计算提取出的相邻两个第一时间戳的第一时间差值,以及计算提取出的相邻两个第二时间戳的第二时间差值;[0021]计算采集到的相邻两个系统时间的第三时间差值;[0022]计算各个第一时间差值与对应的各个第三时间差值的第四时间差值,并将所述第四时间差值作为所述视频偏移量;[0023]计算各个第二时间差值与对应的各个第三时间差值的第五时间差值,并将所述第五时间差值作为所述音频偏移量。[0024]可选地,所述根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量包括:[0025]计算提取出的各个第一时间戳与从第一次采集的播放画面所提取出的时间戳的第六时间差值,以及计算提取出的各个第二时间戳与从第一次采集的播放声音所提取出的时间戳的第七时间差值;[0026]计算采集到的各个系统时间与第一次采集到的系统时间的第八时间差值;[0027]计算各个第六时间差值与对应的各个的第八时间差值的第九时间差值,并将所述第九时间差值作为所述视频偏移量;[0028]计算各个第七时间差值与对应的各个的第八时间差值的第十时间差值,并将所述第十时间差值作为所述音频偏移量。[0029]可选地,所述根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常包括:[0030]判断所述视频偏移量的变化值是否位于第一预设范围内,以及判断所述音频偏移量的变化值是否位于第二预设范围内,其中,在所述视频偏移量的变化值位于第一预设范围内,且所述音频偏移量的变化值位于第二预设范围内时,判定所述播放器是正常的。[0031]可选地,所述播放器测试方法还包括:[0032]根据计算得到的各个视频偏移量绘制视频偏移量图表;[0033]及/或根据计算得到的各个音频偏移量绘制音频偏移量图表。。[0034]本申请还提供了一种视频测试文件生成装置,包括:[0035]获取模块,用于获取视频文件,并对所述视频文件进行解析,以获取所述视频文件中包含的多个视频帧画面的视频时间戳,以及获取所述视频文件中包含的多个音频帧的音频时间戳;[0036]第一转换模块,用于将获取到的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面;[0037]第二转换模块,用于将获取到的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号对应替换各个音频帧,得到新的音频帧;[0038]封装模块,用于对所述新的视频帧画面、各个视频时间戳、所述新的音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0039]本申请还提供了一种视频测试文件生成装置,包括:[0040]获取模块,用于获取多个视频帧画面,根据预先设定的待生成的视频测试文件的帧率生成各个视频帧画面的视频时间戳,将生成的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面;[0041]生成模块,用于根据预先设定的待生成的视频测试文件的音频采样率生成多个音频帧的音频时间戳,将生成的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号作为音频帧;[0042]封装模块,用于对所述新的视频帧画面、各个视频时间戳、所述音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0043]本申请还提供了一种播放器测试装置,包括:[0044]采集模块,用于在播放器播放视频测试文件时,定时采集当前的播放画面、当前的播放声音,以及系统时间,其中,所述视频测试文件为通过如权利要求1至3任一项所述的视频测试文件生成方法所生成的;[0045]识别模块,用于依次对所述当前的播放画面中的标识码进行识别,以从所述播放画面中提取出第一时间戳,以及依次对所述当前的播放声音的频率进行识别,以从所述播放声音中提取出第二时间戳;[0046]计算模块,用于根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量;[0047]判断模块,用于根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常。[0048]本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。[0049]本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。[0050]上述技术方案的有益效果:[0051]本申请实施例通过计算机设备获取视频偏移量以及音频偏移量,而获取到的视频偏移量可以反映播放的画面与真实画面的偏移情况,获取到的音频偏移量可以反映播放的声音与真实声音的偏移情况。因此,结合视频偏移量与音频偏移量即可以判定一个播放器播放的速度是否正常、播放的声音和画面是否同步。此外,由于该视频偏移量以及音频偏移量是通过计算机设备根据采集的音频和视频数据自动计算得到的,其无需人工的干预,因而采样本实施例的方法得到的判定结果相对于人工的方式会更加准确。附图说明[0052]图1为本申请一实施例的应用环境示意图;[0053]图2为本申请视频测试文件生成方法一实施例的流程图;[0054]图3为本申请视频测试文件生成方法另一实施例的流程图;[0055]图4为本申请播放器测试方法一实施例的流程示意图;[0056]图5为本申请根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量的步骤流程细化示意图;[0057]图6为本申请根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量的步骤流程细化示意图;[0058]图7、图8、图9为本申请视频偏移量图表以及音频偏移量图表的示意图;[0059]图10为本申请视频测试文件生成装置一实施例的程序模块图;[0060]图11为本申请视频测试文件生成装置另一实施例的程序模块图;[0061]图12为本申请播放器测试装置一实施例的程序模块图;[0062]图13为本申请实施例提供的执行播放器测试方法或视频测试文件生成方法的计算机设备的硬件结构示意图。具体实施方式[0063]以下结合附图与具体实施例进一步阐述本申请的优点。[0064]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。[0065]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。[0066]应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。[0067]在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。[0068]图1示意性示出了本申请一实施例的应用环境示意图。参阅图1所示,计算机设备2上安装有视频测试文件生成工具,当接收到用户通过该生成工具上传的多媒体文件时,该生成工具可以生成视频测试文件。[0069]计算机设备4上安装有客户端app或者网页客户端,用户可以借由该客户端app或者网页客户端对视频测试文件进行播放,并在播放过程中对播放的视频画面和播放声音进行采集,以便根据采集到的视频画面和播放声音完成对播放器的测试。[0070]所述计算机设备2和计算机设备4可以是手机、平板个人计算机(tabletpersonalcomputer)、膝上型计算机(laptopcomputer)等具有数据发送功能的电子设备。需要说明的是,该计算机设备2和计算机设备4可以是同一个设备,也可以是不同的设备。[0071]实施例一[0072]参阅图2,其为本申请视频测试文件生成方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。[0073]如图2所示,所述视频测试文件生成方法包括:[0074]步骤s20、获取视频文件,并对所述视频文件进行解析,以获取所述视频文件中包含的多个视频帧画面的视频时间戳,以及获取所述视频文件中包含的多个音频帧的音频时间戳。[0075]具体地,本实施例中的视频文件可以为各种格式的视频文件,比如,可以为avi、wmv、mpeg、flash、mpeg-4等格式的视频文件。需要说明的是,本实施例中的视频文件中需要包含有音频文件。[0076]在本实施例中,当需要生成视频测试文件时,用户可以启动安装在计算机设备2上的视频测试文件生成工具,然后用户将可以选定一个视频文件,并将该视频文件导入至该视频测试文件生成工具中,以便可以通过该视频测试文件生成工具来生成视频测试文件。[0077]在获取到用户选定的视频文件时,可以对该视频文件进行解析,以便可以从该视频文件中获取到该视频文件中包含的各个视频帧画面的视频时间戳,以及可以从该视频文件中获取到该视频文件中包含的各个音频帧的音频时间戳。[0078]其中,时间戳记或称为时间标记(timestamp)是指字符串或编码信息用于辨识记录下来的时间日期。通俗地说,就像是寄信的时候、邮戳那样的东西,代表这封信是什么时候寄出的。在本实施例中,该视频时间戳指的是该视频帧画面的播放时间,该音频时间戳指的是该音频帧的播放时间。[0079]需要说明的是,本实施例中的音频帧指的是一个音频编码数据包,一般来说,一个音频帧包括1024个音频采样数据。[0080]步骤s21、将获取到的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0081]具体地,所述标识码为用于唯一标识视频时间戳的标识信息,在本实施例中,该标识码可以为二维条码,也可以为一维条码。其中,二维条码也称为二维码,是指在一维条码(也称条形码)的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。标识码的长度、宽度均记载着数据。标识码有一维条码没有的“定位点”和“容错机制”。容错机制在即使没有识别到全部的条码、或是说条码有污损时,也可以正确地还原条码上的信息。[0082]在本实施例中,在获取到多个视频时间戳之后,需要将获取到的各个视频时间戳转换为对应的标识码,该标识码中包含有视频时间戳信息,以便通过对该标识码进行识别可以得到视频时间戳。比如,获取到6个视频时间戳,则可以将每一个视频时间戳转换为一个对应的标识码,也即需要生成6个标识码,每一个标识码对应一个视频时间戳。[0083]在生成标识码之后,需要将标识码对应插入到各个视频帧画面中,比如,生成的第一个标识码为根据第一帧视频画面的视频时间戳所生成的,则需要将该第一个标识码插入到第一帧视频画面中,以使得该第一帧视频画面中包含有该标识码。又比如,生成的第二个标识码为根据第二帧视频画面的视频时间戳所生成的,则需要将该第二个标识码插入到第二帧视频画面中,以使得该第二帧视频画面中包含有该标识码。[0084]在本实施例中,标识码插入至视频帧画面中的位置不限,比如,可以插入到视频帧画面中的中间,也可以插入到视频帧画面中的左上角,右上角等。[0085]步骤s22、将获取到的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号对应替换各个音频帧,得到新的音频帧。[0086]具体地,当获取到各个音频时间戳时,可以采用频移键控的方式将获取到的各个音频时间戳转换为对应的音频信号。其中,频移键控是信息传输中的一种信号调制方式,它使用两个不同的频率(称为高音和低音)之间的关系来代表0和1:例如,高音信号比低音信号强的时候代表1、低音信号比高音信号强的时候代表0。[0087]在本实施例中,该音频时间戳可以由多位二进制数表示,在得到该音频时间戳之后,先将得到的音频时间戳转换为多位二进制数,该二进制的位数可以根据实际情况进行设定。在将该音频时间戳转换为多位二进制数之后,即可以采用频移键控的方式对该多位二进制数进行调制编码,以将每一个二进制数都调制成一路频移键控信号,在将所有的二进制数都转换为对应的一路频移键控信号之后,可以采用频分复用的方式将所有的频移键控信号合成音频信号。[0088]在本实施例中,由于得到的音频信号是一个模拟信号,而音频帧一般是一个包含有1024个音频采样数据的数据包。因此,本实施例中,在为了将该音频信号能够替换掉视频文件中的原有的音频帧,可以先对该音频信号进行采样,从而得到1024个音频采样数据,然后将采样得到的音频数据作为该新的音频帧。[0089]在一具体实施方式中,在将各个音频时间戳转换为移键控信号时,可以将每一个音频时间戳转换为40路频移键控信号,并采用频分复用的方式将40路频移键控信号合成所述音频信号,其中,32路频移键控信号用于表示所述音频时间戳,8路频移键控信号用于对所述32路频移键控信号进行校验。[0090]示例性的,假设获取到的音频时间戳为100ms,则可以先将该100ms转换为32位二进制数,即转换为二进制数“00000000000000000000000001100100”,然后对每一位二进制数采用频移键控的方式对其进行调制编码,以将每一位二进制数转换为对应的频移键控信号。[0091]在完成对表示音频视频戳的32位二进制数进行调制编码时,为了避免在对32路频移键控信号进行识别时,由于噪声的干扰,导致识别出错,在本实施例中,采用8路频移键控信号用于对所述32路频移键控信号进行校验。也就是说,在完成32位用于表示音频时间戳的二进制的调制编码后,还可以增设8位二进制数对该32位二进制数进行校验,在本实施例中,该用于校验的8位二进制可以为预先设定的值,比如,可以为“01000010”。[0092]需要说明的是,在对每一位二进制进行调制编码时,都是使用一组不同的频率来代表每一位数据中的“0”和“1”。比如,对于第一位二进制数,采用频率f1来代表“0”,采用f2来代表“1”。又比如,对于第二位二进制数,采用采用频率f3来代表“0”,采用f4来代表“1”。[0093]需要说明的是,在本申请其它实施方式中,也可以采用采用其它路数频移键控信号用于表示音频时间戳,比如,采用20路频移键控信号用于表示音频时间戳,相应的,需要采用20位二进制数用于表示音频时间戳,若只采用20位二进制数用于表示音频时间戳,则相对于采用32位二进制数用于表示音频时间戳时,可以表示的时间戳范围则会减少。又比如,采用40路频移键控信号用于表示音频时间戳,相应的,需要采用40位二进制数用于表示音频时间戳,若采用40位二进制数用于表示音频时间戳,则相对于采用32位二进制数用于表示音频时间戳时,可以表示的时间戳范围则会增加。在本申请其它实施方式中,也可以采用多于8路或者少于8路频移键控信号用于对所述32路频移键控信号进行校验。当然,也可以不采用频移键控信号对所述32路频移键控信号进行校验,即只使用32路频移键控信号用于表示所述音频时间戳。[0094]步骤s23、对所述新的视频帧画面、各个视频时间戳、所述新的音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0095]具体地,在得到各个新的视频帧画面,新的音频帧,各个视频时间戳以及各个音频时间戳之后,需要对这些获取到的数据进行重新封装,以得到视频测试文件。[0096]在本实施例中,该封装方法为现有技术,在本实施例中不再赘述。[0097]本申请实施例中,使用现有的视频文件的框架,并通过替换掉现有视频文件中的视频帧画面数据以及音频帧数据的方式来生成视频测试文件,从而可以方便地生成的测试文件,而无需通过专门的视频测试片段来生成。[0098]实施例二[0099]参阅图3,其为本申请视频测试文件生成方法另一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。[0100]如图3所示,所述视频测试文件生成方法包括:[0101]步骤s30,获取多个视频帧画面,根据预先设定的待生成的视频测试文件的帧率生成各个视频帧画面的视频时间戳,将生成的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0102]具体地,当需要生成视频测试文件时,用户可以启动安装在计算机设备2上的视频测试文件生成工具,然后用户将可以选定多个视频帧画面,并将该视频帧画面导入至该视频测试文件生成工具中,以便可以通过该视频测试文件生成工具来生成视频测试文件。在导入视频帧画面之后,用户还可以通过该工具设定待生成测试文件的帧率以及音频采样率,比如,设定帧率为40fps,也就是说,每秒钟需要播放40帧画面,因此,我们可以知道每一帧画面的播放时间依次为0ms,25ms,50ms,…,975ms,…,即第一帧视频帧画面的视频时间戳为0ms,第二帧视频帧画面的视频时间戳为25ms,第三帧视频帧画面的视频时间戳为50ms,…,第40帧视频帧画面的视频时间戳为975ms。[0103]本申请实施例中,在生成每一帧视频帧画面的视频时间戳之后,即可以将该视频时间戳转换为对应的标识码,然后将标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0104]在本申请实施例中,具体生成标识码的方法以及将标识码插入到视频帧画面中的方法在实施例一中已详细描述,在本实施例中不再赘述。[0105]步骤s31,根据预先设定的待生成的视频测试文件的音频采样率生成多个音频帧的音频时间戳,将生成的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号作为音频帧。[0106]具体地,视频测试文件中预先存储有音频采样率与每一个音频帧包含的音频样本数据的对应关系,比如,音频采样率为44.1khz时,对应的每一个音频帧包含有1024个音频样本数据。因而,当预先设定的音频采样率为44.1khz,也就是说,每秒钟需要采样44100个音频样本数据,而一个音频帧包含有1024个音频样本数据,因此,我们可以知道每一个音频帧的播放时间依次为0ms,1024/44100ms,2048/44100ms,3072/44100ms,…,44032/44100ms,…,即第一个音频帧的音频时间戳为0ms,第二个音频帧的音频时间戳为1024/44100ms,第三个音频帧的音频时间戳为2048/44100ms,…,第44个音频帧的音频时间戳为44032/44100ms。[0107]在本申请实施例中,在得到音频时间戳之后,可以采用频移键控的方式将各个音频时间戳转换为对应的音频信号。在本实施中,具体的转换方法在实施例一中已详细描述,在本实施例中不再赘述。[0108]本申请实施例中,由于仅仅获取了视频帧画面,而没有音频数据,因此,在得到音频信号之后,即可以将该得到的音频信号作为待生成视频测试文件的音频帧。[0109]步骤s32,对所述新的视频帧画面、各个视频时间戳、所述音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0110]具体地,在得到各个新的视频帧画面,各个视频时间戳、所述音频帧以及各个音频时间戳之后,需要对这些获取到的数据进行重新封装,以得到视频测试文件。[0111]在本实施例中,该封装方法为现有技术,在本实施例中不再赘述。[0112]本申请实施例中,仅仅通过获取多个视频帧画面,即可以生成视频测试文件,生成方法非常简单。[0113]实施例三[0114]参阅图4,其为本申请播放器测试方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备4为执行主体进行示例性描述。[0115]如图4所示,所述播放器测试方法包括:[0116]步骤s40,在播放器播放视频测试文件时,定时采集当前的播放画面、当前的播放声音,以及系统时间。[0117]具体地,所述视频测试文件为通过上述实施例一或实施例二中的视频测试文件生成方法所生成的。[0118]当使用播放器播放视频测试文件时,可以定时采集当前的播放画面、播放时间,以及系统时间,比如,可以每隔20ms采集一次。[0119]其中,采集的系统时间为系统当前的真实时间。[0120]本申请实施例中,在播放器放出的声音和展示的画面时,可以通过系统提供的api、或者播放器自己提供的接口来对当前的播放画面、播放时间进行采集。[0121]步骤s41,依次对所述当前的播放画面中的标识码进行识别,以从所述播放画面中提取出第一时间戳,以及依次对所述当前的播放声音的频率进行识别,以从所述播放声音中提取出第二时间戳。[0122]具体的,由于当前的播放画面中包含有标识码,而标识码中包含有该播放画面对应的视频帧画面的视频时间戳,因此,在采集到当前的播放画面时,通过对画面中的标识码进行识别,即可以得到第一时间戳,也即得到该播放画面对应的视频帧画面的视频时间戳。[0123]由于当前的播放声音是由多路频移键控信号组成的音频信号,而每一路频键控信号代表音频时间戳中的一位二进制数据,此外,不同路的频键控信号代表着音频时间戳中的不同位的二进制数据。比如,第一路频键控信号代表音频时间戳中的第一位二进制数据,第二路频键控信号代表音频时间戳中的第二位二进制数据,第三路频键控信号代表音频时间戳中的第三位二进制数据等。此外,由于不同路的频键控信号为使用不同的频率进行调制编码得到的。[0124]因此,在采集到当前的播放声音时,可以对当前的播放声音中所包含的频率进行识别,从而识别出当前的播放声音中有哪些频率。比如,识别出当前的播放声音中包含有频率f1、f2、f3、f4、f5、f6。在识别出上述6个频率后,可以根据预先存储的各个频率值与各路频键控信号的对应关系来确定该6个频率值分别属于哪一路的频键控信号,比如,确定频率f1、f2、f3、f4、f5、f6分别属于第一路的频键控信号、第二路的频键控信号、第三路的频键控信号、第四路的频键控信号、第五路的频键控信号、第六路的频键控信号。在得到该6个频率值分别属于哪一路的频键控信号之后,可以根据各路频键控信号与音频时间戳中各位二进制数据的对应关系来确定所述第二时间戳,比如频率f1、f2、f3、f4、f5、f6分别对应着音频时间戳中的第一位二进制数据“0”,音频时间戳中的第二位二进制数据“1”,音频时间戳中的第三位二进制数据“0”,音频时间戳中的第四位二进制数据“0”,音频时间戳中的第五位二进制数据“0”,音频时间戳中的第六位二进制数据“1”,则可以确定该第二时间戳为“100010”,即第二时间戳为34ms。[0125]步骤s42,根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量。[0126]具体地,在得到各个第一时间戳、各个第二时间戳以及系统时间之后,即可以将各个第一时间戳、各个第二时间戳分别与对应的系统时间进行对比,以计算得到视频偏移量与音频偏移量。[0127]在一示例性的实施例中,参照图5,所述根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量包括:[0128]步骤s50,计算提取出的相邻两个第一时间戳的第一时间差值,以及计算提取出的相邻两个第二时间戳的第二时间差值。[0129]步骤s51,计算采集到的相邻两个系统时间的第三时间差值。[0130]步骤s52,计算各个第一时间差值与对应的各个第三时间差值的第四时间差值,并将所述第四时间差值作为所述视频偏移量;[0131]步骤s53,计算各个第二时间差值与对应的各个第三时间差值的第五时间差值,并将所述第五时间差值作为所述音频偏移量。[0132]具体地,假设总共提取到6个第一时间戳、6个第二时间戳,采集到6个系统时间,其中,6个第一时间戳分别为t1、t2、t3、t4、t5、t6;6个第二时间戳分别为t7、t8、t9、t10、t11、t12,6个系统时间分别为t13、t14、t15、t16、t17、t18,则可以计算相邻的两个第一时间差值的差,得到5个第一时间差值,分别为δt1=t2-t1、δt2=t3-t2、δt3=t4-t3、δt4=t5-t4、δt5=t6-t5;可以计算相邻两个第二时间戳的差,得到5个第二时间差值,分别为δt6=t8-t7、δt7=t9-t8、δt8=t10-t9、δt9=t11-t10、δt10=t12-t11;可以计算相邻两个系统时间的差,得到5个第三时间差值,分别为δt11=t14-t13、δt12=t15-t14、δt13=t16-t15、δt14=t17-t16、δt15=t18-t17。[0133]在得到5个第一时间差值、5个第二时间差值以及5个第三时间差值之后,可以再次计算各个第一时间差值与对应的各个第三时间差值的差,得到5个第四时间差值,分别为:δt1=δt11-δt1、δt2=δt12-δt2、δt3=δt13-δt3、δt4=δt14-δt4、δt5=δt15-δt5;可以计算各个第二时间差值与对应的各个第三时间差值的差,得到5个第五时间差值,分别为:δt6=δt11-δt6、δt7=δt12-δt7、δt8=δt13-δt8、δt9=δt14-δt9、δt5=δt15-δt10。[0134]在得到各个第四时间差值之后,即可以将得到的各个第四时间差值作为所述视频偏移量,即所述视频偏移量包含5个,分别为δt1、δt2、δt3、δt4、δt5。[0135]在得到各个第五时间差值之后,即可以将得到的各个第五时间差值作为所述音频偏移量,即所述视频偏移量也包含5个,分别为δt6、δt7、δt8、δt9、δt10。[0136]本申请实施例中,通过将各个第一时间差值与对应的各个第三时间差值的第四时间差值作为视频偏移量,将各个第二时间差值与对应的各个第三时间差值的第五时间差值作为音频偏移量,从而可以方便地根据得到的各个视频偏移量以及各个音频偏移量的大小来确定播放器在播放视频测试文件时音频和视频画面是否发生了偏移。[0137]在另一示例性的实施例中,参照图6,所述根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量包括:[0138]步骤s60,计算提取出的各个第一时间戳与从第一次采集的播放画面所提取出的时间戳的第六时间差值,以及计算提取出的各个第二时间戳与从第一次采集的播放声音所提取出的时间戳的第七时间差值;[0139]步骤s61,计算采集到的各个系统时间与第一次采集到的系统时间的第八时间差值;[0140]步骤s62,计算各个第六时间差值与对应的各个的第八时间差值的第九时间差值,并将所述第九时间差值作为所述视频偏移量;[0141]步骤s63,计算各个第七时间差值与对应的各个的第八时间差值的第十时间差值,并将所述第十时间差值作为所述音频偏移量。[0142]具体地,假设总共提取到6个第一时间戳、6个第二时间戳,采集到6个系统时间,其中,6个第一时间戳分别为t1、t2、t3、t4、t5、t6;6个第二时间戳分别为t7、t8、t9、t10、t11、t12,6个系统时间分别为t13、t14、t15、t16、t17、t18,则可以计算各个第一时间戳与第一次采集的播放画面所提取出的时间戳的差,得到6个第六时间差值,分别为δt1=t1-t1=0、δt2=t2-t1、δt3=t3-t1、δt4=t4-t1、δt5=t5-t1、δt6=t6-t1;可以计算各个第二时间戳与从第一次采集的播放声音所提取出的时间戳的差,得到6个第七时间差值,分别为δt7=t7-t7=0、δt8=t8-t7、δt9=t9-t7、δt10=t10-t7、δt11=t11-t7、δt12=t12-t7;计算采集到的各个系统时间与第一次采集到的系统时间的差,得到6个第八时间差值,分别为δt13=t13-t13=0、δt14=t14-t13、δt15=t15-t13、δt16=t16-t13、δt17=t17-t13、δt18=t18-t13。[0143]在得到6个第六时间差值、6个第七时间差值以及6个第八时间差值之后,可以再次计算各个第六时间差值与对应的各个的第八时间差值的第九时间差值的差,得到6个第九时间差值,分别为:δt1=δt13-δt1、δt2=δt14-δt2、δt3=δt15-δt3、δt4=δt16-δt4、δt5=δt17-δt5、δt6=δt18-δt6;可以计算各个第七时间差值与对应的各个的第八时间差值的的差,得到6个第十时间差值,分别为:δt7=δt13-δt7、δt8=δt14-δt8、δt9=δt15-δt9、δt10=δt16-δt10、δt11=δt17-δt11、δt12=δt18-δt12。[0144]在得到各个第九时间差值之后,即可以将得到的各个第九时间差值作为所述视频偏移量,即所述视频偏移量包含6个,分别为δt1、δt2、δt3、δt4、δt5、δt6。[0145]在得到各个第十时间差值之后,即可以将得到的各个第十时间差值作为所述音频偏移量,即所述视频偏移量也包含6个,分别为δt7、δt8、δt9、δt10、δt11、δt12。[0146]本申请实施例中,通过将各个提取到的或采集到的时间戳全部平移一个恒定的值,使得第一帧的时间戳为0,从而可以方便地根据得到的各个视频偏移量以及各个音频偏移量的变化情况来确定播放器在播放视频测试文件时音频和视频画面是否发生了偏移。[0147]步骤s43,根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常。[0148]具体地,由于视频偏移量反映了播放的视频画面的偏移情况,而音频偏移量反映了播放的声音的偏移情况,因此,在得到所述视频偏移量以及所述音频偏移量之后,即可以根据得到的视频偏移量以及音频偏移量来判断所述播放器是否正常。[0149]本申请实施例通过计算机设备获取视频偏移量以及音频偏移量的方式来判断声音和画面是不是同步,而无需通过人直觉感受的方式来判别声音和画面是否同步,从而可以准确地判定播放器在播放视频测试文件时,声音和画面是否是同步的,进而可以声音与画面的同步情况来判定播放器是否正常。[0150]在一示例性的实施例中,所述根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常包括:[0151]判断所述视频偏移量的变化值是否位于第一预设范围内,以及判断所述音频偏移量的变化值是否位于第二预设范围内,其中,在所述视频偏移量的变化值位于第一预设范围内,且所述音频偏移量的变化值位于第二预设范围内时,判定所述播放器是正常的。[0152]具体地,所述第一预设范围与第二预设范围为预先设定的值,比如,设定所述第一预设范围为0-5ms,第二预设范围为0-10ms。[0153]在本实施例中,所述视频偏移量的变化值可以为最大的视频偏移量与最小的视频偏移量的差值,也可以为所有的两两相邻的视频偏移量的差值的平均值。[0154]在本申请实施例中,所述音频偏移量的变化值也可以最大的音频偏移量与最小的音频偏移量的差值,也可以为所有的两两相邻的音频偏移量的差值的平均值。[0155]本申请实施例中,在得到多个视频偏移量与多个音频偏移量之后,即可以判断视频偏移量的变化值是否在第一预设范围内,且音频偏移量的变化值是否在第二预设范围内,当所述视频偏移量的变化值位于第一预设范围内,且所述音频偏移量的变化值位于第二预设范围内时,即可以判定该播放器是正常的,即播放器在播放视频测试文件时,不会发生音频和画面不同步;当不能同时满足上述两个条件时,则可以判定该播放器不是正常的,即播放器在播放视频测试文件时,存在音频和画面不同步的情况。[0156]本申请实施例通过视频偏移量的变化值以及音频偏移量的变化值可以准确地判断出播放器是否正常。[0157]在一示例性的实施例中,所述播放器测试方法还包括:[0158]根据计算得到的各个视频偏移量绘制视频偏移量图表;[0159]及/或根据计算得到的各个音频偏移量绘制音频偏移量图表。[0160]具体地,为了更加直观地了解到播放器在播放视频测试文件时,声音和画面具体差了多少,声音和画面是什么时候开始对不上的、到底对不上多长时间、是突然对不上还是逐渐对不上、后面会不会又突然对上了等各种情况。可以根据计算得到的各个视频偏移量绘制视频偏移量图表,以及根据计算得到的各个音频偏移量绘制音频偏移量图表。[0161]在一示例性的实施例中,假设绘制得到的视频偏移量图表以及音频偏移量图表如图7所示。从图7中可知,播放器在播放视频测试文件时,最高的时候声音和画面偏了280毫秒,分别是400的视频偏移和120的音频偏移。[0162]在另一示例性的实施例中,假设绘制得到的视频偏移量图表以及音频偏移量图表如图8所示。从图8中可知,播放器在播放视频测试文件时,视频以相对正常的速度播放,但是音频在不断偏移。[0163]在另一示例性的实施例中,假设绘制得到的视频偏移量图表以及音频偏移量图表如图9所示。从图9中可知,播放器在播放视频测试文件时,虽然音频和视频都是越播越快(速度不正常)的,但是两者能对上。[0164]本申请实施例通过图表的方式可以直观地了解到播放器在播放视频测试文件时,音频与视频画面是否同步。[0165]为了便于理解本申请,下面结合两个具体实例对本申请进行描述:[0166]当本申请中的播放器为web端播放器时,可以采用如下方式进行测试:使用obs直播软件的“浏览器源”功能,加载测试页面;测试页面里事先嵌入了被测播放器,并通过javascript控制其加载后自动开播;obs里安装了自制插件,该插件能够捕获obs的浏览器源所产生的画面和声音数据,并进行识别和检测,记录每次采样的数据,供生成报告,即供绘制视频偏移量图表以及音频偏移量图表。[0167]采用obs插件在载入时提取obs启动的命令行参数,自动加载被测页面、自动开始测试、收集数据之后自动退出,可完成无人值守的播放器音画同步测试。[0168]当本申请中的播放器为移动端播放器时,可以采用如下方式进行测试:在移动端(以手机为例)上,安卓10系统提供了mediaprojection服务和audiorecord服务能够录制手机屏幕和系统声音。测试时,手机上启动测试控制程序,开始捕捉屏幕和声音;然后启动被测播放器,并播放被测视频。此时测试控制程序不断检测手机播放器上放出来的画面和声音所代表的的时间戳,并连同手机系统时间一起记录下来,完成测试流程。[0169]在测试时,若采用androiddebugbridge连接手机,可以使用发起intent的方式启动被测播放器、启动测试控制程序,可以使用模拟按键的方式点击系统的询问是否允许录屏的对话框,可以使用activitymanager实用程序停止测试流程,可以使用adbpull命令获取测试日志文件生成报告,即绘制视频偏移量图表以及音频偏移量图表,从而完成无人值守的播放器音画同步测试。[0170]需要说明的是,上述所述的自制插件以及所述测试控制程序为根据本申请实施例中的播放器测试方法所开发的程序代码。[0171]实施例四[0172]参阅图10所示,是本申请视频测试文件生成装置700一实施例的程序模块图。[0173]本实施例中,所述播放器测试装置700包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的视频测试文件生成方法功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,视频测试文件生成装置700可以被划分为一个或多个模块。例如,在图10中,所述视频测试文件生成装置700可以被分割成获取模块701、第一转换模块702、第二转换模块703及封装模块704。其中:[0174]获取模块701,用于获取视频文件,并对所述视频文件进行解析,以获取所述视频文件中包含的多个视频帧画面的视频时间戳,以及获取所述视频文件中包含的多个音频帧的音频时间戳。[0175]具体地,本实施例中的视频文件可以为各种格式的视频文件,比如,可以为avi、wmv、mpeg、flash、mpeg-4等格式的视频文件。[0176]在本实施例中,当需要生成视频测试文件时,用户可以启动安装在计算机设备2上的视频测试文件生成工具,然后用户将可以选定一个视频文件,并将该视频文件导入至该视频测试文件生成工具中,以便可以通过该视频测试文件生成工具来生成视频测试文件。[0177]在获取到用户选定的视频文件时,可以对该视频文件进行解析,以便可以从该视频文件中获取到该视频文件中包含的各个视频帧画面的视频时间戳,以及可以从该视频文件中获取到该视频文件中包含的各个音频帧的音频时间戳。[0178]其中,时间戳记或称为时间标记(timestamp)是指字符串或编码信息用于辨识记录下来的时间日期。通俗地说,就像是寄信的时候、邮戳那样的东西,代表这封信是什么时候寄出的。在本实施例中,该视频时间戳指的是该视频帧画面的播放时间,该音频时间戳指的是该音频帧的播放时间。[0179]需要说明的是,本实施例中的音频帧指的是一个音频编码数据包,一般来说,一个音频帧包括1024个音频采样数据。[0180]第一转换模块702,用于将获取到的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0181]具体地,所述标识码为用于唯一标识视频时间戳的标识信息,在本实施例中,该标识码可以为二维条码,也可以为一维条码。其中,二维条码也称为二维码,是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。标识码的长度、宽度均记载着数据。标识码有一维条码没有的“定位点”和“容错机制”。容错机制在即使没有识别到全部的条码、或是说条码有污损时,也可以正确地还原条码上的信息。[0182]在本实施例中,在获取到多个视频时间戳之后,需要将获取到的各个视频时间戳转换为对应的标识码,该标识码中包含有视频时间戳信息,以便通过对该标识码进行识别可以得到视频时间戳。比如,获取到6个视频时间戳,则可以将每一个视频时间戳转换为一个对应的标识码,也即需要生成6个标识码,每一个标识码对应一个视频时间戳。[0183]在生成标识码之后,需要将标识码对应插入到各个视频帧画面中,比如,生成的第一个标识码为根据第一帧视频画面的视频时间戳所生成的,则需要将该第一个标识码插入到第一帧视频画面中,以使得该第一帧视频画面中包含有该标识码。又比如,生成的第二个标识码为根据第二帧视频画面的视频时间戳所生成的,则需要将该第二个标识码插入到第二帧视频画面中,以使得该第二帧视频画面中包含有该标识码。[0184]在本实施例中,标识码插入至视频帧画面中的位置不限,比如,可以插入到视频帧画面中的中间,也可以插入到视频帧画面中的左上角,右上角等。[0185]第二转换模块703,用于将获取到的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号对应替换各个音频帧,得到新的音频帧。[0186]具体地,当获取到各个音频时间戳时,可以采用频移键控的方式将获取到的各个音频时间戳转换为对应的音频信号。其中,频移键控是信息传输中的一种信号调制方式,它使用两个不同的频率(称为高音和低音)之间的关系来代表0和1:例如,高音信号比低音信号强的时候代表1、低音信号比高音信号强的时候代表0。[0187]在本实施例中,该音频时间戳可以由多位二进制数表示,在得到该音频时间戳之后,先将得到的音频时间戳转换为多位二进制数,该二进制的位数可以根据实际情况进行设定。在将该音频时间戳转换为多位二进制数之后,即可以采用频移键控的方式对该多位二进制数进行调制编码,以将每一个二进制数都调制成一路频移键控信号,在将所有的二进制数都转换为对应的一路频移键控信号之后,可以采用频分复用的方式将所有的频移键控信号合成音频信号。[0188]在本实施例中,由于得到的音频信号是一个模拟信号,而音频帧一般是一个包含有1024个音频采样数据的数据包。因此,本实施例中,在为了将该音频信号能够替换掉视频文件中的原有的音频帧,可以先对该音频信号进行采样,从而得到1024个音频采样数据,然后将采样得到的音频数据作为该新的音频帧。[0189]在一具体实施方式中,在将各个音频时间戳转换为移键控信号时,可以将每一个音频时间戳转换为40路频移键控信号,并采用频分复用的方式将40路频移键控信号合成所述音频信号,其中,32路频移键控信号用于表示所述音频时间戳,8路频移键控信号用于对所述32路频移键控信号进行校验。[0190]示例性的,假设获取到的音频时间戳为100ms,则可以先将该100ms转换为32位二进制数,即转换为二进制数“00000000000000000000000001100100”,然后对每一位二进制数采用频移键控的方式对其进行调制编码,以将每一位二进制数转换为对应的频移键控信号。[0191]在完成对表示音频视频戳的32位二进制数进行调制编码时,为了避免在对32路频移键控信号进行识别时,由于噪声的干扰,导致识别出错,在本实施例中,采用8路频移键控信号用于对所述32路频移键控信号进行校验。也就是说,在完成32位用于表示音频时间戳的二进制的调制编码后,还可以增设8位二进制数对该32位二进制数进行校验,在本实施例中,该用于校验的8位二进制可以为预先设定的值,比如,可以为“01000010”。[0192]需要说明的是,在对每一位二进制进行调制编码时,都是使用一组不同的频率来代表每一位数据中的“0”和“1”。比如,对于第一位二进制数,采用频率f1来代表“0”,采用f2来代表“1”。又比如,对于第二位二进制数,采用采用频率f3来代表“0”,采用f4来代表“1”。[0193]需要说明的是,在本申请其它实施方式中,也可以采用采用其它路数频移键控信号用于表示音频时间戳,比如,采用20路频移键控信号用于表示音频时间戳,相应的,需要采用20位二进制数用于表示音频时间戳,若只采用20位二进制数用于表示音频时间戳,则相对于采用32位二进制数用于表示音频时间戳时,可以表示的时间戳范围则会减少。又比如,采用40路频移键控信号用于表示音频时间戳,相应的,需要采用40位二进制数用于表示音频时间戳,若采用40位二进制数用于表示音频时间戳,则相对于采用32位二进制数用于表示音频时间戳时,可以表示的时间戳范围则会增加。在本申请其它实施方式中,也可以采用多于8路或者少于8路频移键控信号用于对所述32路频移键控信号进行校验。当然,也可以不采用频移键控信号对所述32路频移键控信号进行校验,即只使用32路频移键控信号用于表示所述音频时间戳。[0194]封装模块704,用于对所述新的视频帧画面、各个视频时间戳、所述新的音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0195]具体地,在得到各个新的视频帧画面,新的音频帧,各个视频时间戳以及各个音频时间戳之后,需要对这些获取到的数据进行重新封装,以得到视频测试文件。[0196]在本实施例中,该封装方法为现有技术,在本实施例中不再赘述。[0197]本申请实施例中,使用现有的视频文件的框架,并通过替换掉现有视频文件中的视频帧画面数据以及音频帧数据的方式来生成视频测试文件,从而可以方便地生成的测试文件,而无需通过专门的视频测试片段来生成。[0198]实施例五[0199]参阅图11所示,是本申请视频测试文件生成装置800一实施例的程序模块图。[0200]本实施例中,所述视频测试文件生成装置800包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请实施例的视频测试文件生成方法功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,视频测试文件生成装置800可以被划分为一个或多个模块。例如,在图11中,所述视频测试文件生成装置800可以被分割成获取模块801、生成模块802及封装模块803。其中:[0201]所述获取模块801,用于获取多个视频帧画面,根据预先设定的待生成的视频测试文件的帧率生成各个视频帧画面的视频时间戳,将生成的各个视频时间戳转换为对应的标识码,并将转换得到的标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0202]具体地,当需要生成视频测试文件时,用户可以启动安装在计算机设备2上的视频测试文件生成工具,然后用户将可以选定多个视频帧画面,并将该视频帧画面导入至该视频测试文件生成工具中,以便可以通过该视频测试文件生成工具来生成视频测试文件。在导入视频帧画面之后,用户还可以通过该工具设定待生成测试文件的帧率以及音频采样率,比如,设定帧率为40fps,也就是说,每秒钟需要播放40帧画面,因此,我们可以知道每一帧画面的播放时间依次为0ms,25ms,50ms,…,975ms,…,即第一帧视频帧画面的视频时间戳为0ms,第二帧视频帧画面的视频时间戳为25ms,第三帧视频帧画面的视频时间戳为50ms,…,第40帧视频帧画面的视频时间戳为975ms。[0203]本申请实施例中,在生成每一帧视频帧画面的视频时间戳之后,即可以将该视频时间戳转换为对应的标识码,然后将标识码对应插入到各个视频帧画面中,得到新的视频帧画面。[0204]在本申请实施例中,具体生成标识码的方法以及将标识码插入到视频帧画面中的方法在实施例一中已详细描述,在本实施例中不再赘述。[0205]生成模块802,用于根据预先设定的待生成的视频测试文件的音频采样率生成多个音频帧的音频时间戳,将生成的各个音频时间戳转换为对应的音频信号,并将转换得到的音频信号作为音频帧。[0206]具体地,视频测试文件中预先存储有音频采样率与每一个音频帧包含的音频样本数据的对应关系,比如,音频采样率为44.1khz时,对应的每一个音频帧包含有1024个音频样本数据。因而,当预先设定的音频采样率为44.1khz,也就是说,每秒钟需要采样44100个音频样本数据,而一个音频帧包含有1024个音频样本数据,因此,我们可以知道每一个音频帧的播放时间依次为0ms,1024/44100ms,2048/44100ms,3072/44100ms,…,44032/44100ms,…,即第一个音频帧的音频时间戳为0ms,第二个音频帧的音频时间戳为1024/44100ms,第三个音频帧的音频时间戳为2048/44100ms,…,第44个音频帧的音频时间戳为44032/44100ms。[0207]在本申请实施例中,在得到音频时间戳之后,即可以采用频移键控的方式将各个音频时间戳转换为对应的音频信号。在本实施中,具体的转换方法在实施例一中已详细描述,在本实施例中不再赘述。[0208]本申请实施例中,由于仅仅获取了视频帧画面,而没有音频数据,因此,在得到音频信号之后,即可以将该得到的音频信号作为待生成视频测试文件的音频帧。[0209]封装模块803,用于对所述新的视频帧画面、各个视频时间戳、所述音频帧以及各个音频时间戳进行封装,得到所述视频测试文件。[0210]具体地,在得到各个新的视频帧画面,各个视频时间戳、所述音频帧以及各个音频时间戳之后,需要对这些获取到的数据进行重新封装,以得到视频测试文件。[0211]在本实施例中,该封装方法为现有技术,在本实施例中不再赘述。[0212]本申请实施例中,仅仅通过获取多个视频帧画面,即可以生成视频测试文件,生成方法非常简单。[0213]实施例六[0214]参阅图12所示,是本申请播放器测试装置900一实施例的程序模块图。[0215]本实施例中,所述播放器测试装置900包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的播放器测试方法功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,播放器测试装置900可以被划分为一个或多个模块。例如,在图12中,所述播放器测试装置900可以被分割成采集模块901、识别模块902、计算模块903及判断模块904。其中:[0216]采集模块901,用于在播放器播放视频测试文件时,定时采集当前的播放画面、当前的播放声音,以及系统时间。[0217]具体地,所述视频测试文件为通过上述实施例一或实施例二中的视频测试文件生成方法所生成的。[0218]当使用播放器播放视频测试文件时,可以定时采集当前的播放画面、播放时间,以及系统时间,比如,可以每隔20ms采集一次。[0219]其中,采集的系统时间为系统当前的真实时间。[0220]本申请实施例中,在播放器放出的声音和展示的画面时,可以通过系统提供的api、或者播放器自己提供的接口来对当前的播放画面、播放时间进行采集。[0221]识别模块902,用于依次对所述当前的播放画面中的标识码进行识别,以从所述播放画面中提取出第一时间戳,以及依次对所述当前的播放声音的频率进行识别,以从所述播放声音中提取出第二时间戳。[0222]具体的,由于当前的播放画面中包含有标识码,而标识码中包含有该播放画面对应的视频帧画面的视频时间戳,因此,在采集到当前的播放画面时,通过对画面中的标识码进行识别,即可以得到第一时间戳,也即得到该播放画面对应的视频帧画面的视频时间戳。[0223]由于当前的播放声音是由多路频移键控信号组成的音频信号,而每一路频键控信号代表音频时间戳中的一位二进制数据,此外,不同路的频键控信号代表着音频时间戳中的不同位的二进制数据。比如,第一路频键控信号代表音频时间戳中的第一位二进制数据,第二路频键控信号代表音频时间戳中的第二位二进制数据,第三路频键控信号代表音频时间戳中的第三位二进制数据等。此外,由于不同路的频键控信号为使用不同的频率进行调制编码得到的。[0224]因此,在采集到当前的播放声音时,可以对当前的播放声音中所包含的频率进行识别,从而识别出当前的播放声音中有哪些频率。比如,识别出当前的播放声音中包含有频率f1、f2、f3、f4、f5、f6。在识别出上述6个频率后,可以根据预先存储的各个频率值与各路频键控信号的对应关系来确定该6个频率值分别属于哪一路的频键控信号,比如,确定频率f1、f2、f3、f4、f5、f6分别属于第一路的频键控信号、第二路的频键控信号、第三路的频键控信号、第四路的频键控信号、第五路的频键控信号、第六路的频键控信号。在得到该6个频率值分别属于哪一路的频键控信号之后,可以根据各路频键控信号与音频时间戳中各位二进制数据的对应关系来确定所述第二时间戳,比如频率f1、f2、f3、f4、f5、f6分别对应着音频时间戳中的第一位二进制数据“0”,音频时间戳中的第二位二进制数据“1”,音频时间戳中的第三位二进制数据“0”,音频时间戳中的第四位二进制数据“0”,音频时间戳中的第五位二进制数据“0”,音频时间戳中的第六位二进制数据“1”,则可以确定该第二时间戳为“100010”,即第二时间戳为34ms。[0225]计算模块903,用于根据提取出的各个第一时间戳与对应采集到的系统时间计算所述播放器的视频偏移量,以及根据提取出的各个第二时间戳与对应采集到的系统时间计算所述播放器的音频偏移量。[0226]具体地,在得到各个第一时间戳、各个第二时间戳以及系统时间之后,即可以将各个第一时间戳、各个第二时间戳分别与对应的系统时间进行对比,以计算得到视频偏移量与音频偏移量。[0227]在一示例性的实施例中,计算模块903,还用于计算提取出的相邻两个第一时间戳的第一时间差值,以及计算提取出的相邻两个第二时间戳的第二时间差值;计算采集到的相邻两个系统时间的第三时间差值;计算各个第一时间差值与对应的各个第三时间差值的第四时间差值,并将所述第四时间差值作为所述视频偏移量;计算各个第二时间差值与对应的各个第三时间差值的第五时间差值,并将所述第五时间差值作为所述音频偏移量。[0228]具体地,假设总共提取到6个第一时间戳、6个第二时间戳,采集到6个系统时间,其中,6个第一时间戳分别为t1、t2、t3、t4、t5、t6;6个第二时间戳分别为t7、t8、t9、t10、t11、t12,6个系统时间分别为t13、t14、t15、t16、t17、t18,则可以计算相邻的两个第一时间差值的差,得到5个第一时间差值,分别为δt1=t2-t1、δt2=t3-t2、δt3=t4-t3、δt4=t5-t4、δt5=t6-t5;可以计算相邻两个第二时间戳的差,得到5个第二时间差值,分别为δt6=t8-t7、δt7=t9-t8、δt8=t10-t9、δt9=t11-t10、δt10=t12-t11;可以计算相邻两个系统时间的差,得到5个第三时间差值,分别为δt11=t14-t13、δt12=t15-t14、δt13=t16-t15、δt14=t17-t16、δt15=t18-t17。[0229]在得到5个第一时间差值、5个第二时间差值以及5个第三时间差值之后,可以再次计算各个第一时间差值与对应的各个第三时间差值的差,得到5个第四时间差值,分别为:δt1=δt11-δt1、δt2=δt12-δt2、δt3=δt13-δt3、δt4=δt14-δt4、δt5=δt15-δt5;可以计算各个第二时间差值与对应的各个第三时间差值的差,得到5个第五时间差值,分别为:δt6=δt11-δt6、δt7=δt12-δt7、δt8=δt13-δt8、δt9=δt14-δt9、δt5=δt15-δt10。[0230]在得到各个第四时间差值之后,即可以将得到的各个第四时间差值作为所述视频偏移量,即所述视频偏移量包含5个,分别为δt1、δt2、δt3、δt4、δt5。[0231]在得到各个第五时间差值之后,即可以将得到的各个第五时间差值作为所述音频偏移量,即所述视频偏移量也包含5个,分别为δt6、δt7、δt8、δt9、δt10。[0232]本申请实施例中,通过将各个第一时间差值与对应的各个第三时间差值的第四时间差值作为视频偏移量,将各个第二时间差值与对应的各个第三时间差值的第五时间差值作为音频偏移量,从而可以方便地根据得到的各个视频偏移量以及各个音频偏移量的大小来确定播放器在播放视频测试文件时音频和视频画面是否发生了偏移。[0233]在另一示例性的实施例中,计算模块903,还用于计算提取出的各个第一时间戳与对应采集到的各个系统时间的第六时间差值,并将所述第六时间差值作为所述视频偏移量;计算提取出的各个第二时间戳与对应采集到的各个系统时间的第七时间差值,并将所述第七时间差值作为所述音频偏移量。[0234]具体地,假设总共提取到6个第一时间戳、6个第二时间戳,采集到6个系统时间,其中,6个第一时间戳分别为t1、t2、t3、t4、t5、t6;6个第二时间戳分别为t7、t8、t9、t10、t11、t12,6个系统时间分别为t13、t14、t15、t16、t17、t18,则可以计算各个第一时间戳与对应采集到的各个系统时间的差,得到6个第六时间差值,分别为δt1=t13-t1、δt2=t14-t2、δt3=t15-t3、δt4=t16-t4、δt5=t17-t5、δt6=t18-t6;可以计算各个第二时间戳与对应采集到的各个系统时间的差,得到6个第七时间差值,分别为δt7=t13-t7、δt8=t14-t8、δt9=t15-t9、δt10=t16-t10、δt11=t17-t11、δt12=t18-t12。[0235]在得到各个第六时间差值之后,即可以将得到的各个第六时间差值作为所述视频偏移量,即所述视频偏移量包含6个,分别为δt1、δt2、δt3、δt4、δt5、δt6。[0236]在得到各个第七时间差值之后,即可以将得到的各个第七时间差值作为所述音频偏移量,即所述视频偏移量也包含6个,分别为δt7、δt7、δt9、δt10、δt11、δt12。[0237]本申请实施例中,通过将各个第一时间戳与对应采集到的各个系统时间的第六时间差值作为视频偏移量,将各个第二时间戳与对应采集到的各个系统时间的第七时间差值作为音频偏移量,从而可以方便地根据得到的各个视频偏移量以及各个音频偏移量的变化情况来确定播放器在播放视频测试文件时音频和视频画面是否发生了偏移。[0238]判断模块904,用于根据所述视频偏移量以及所述音频偏移量判断所述播放器是否正常。[0239]具体地,由于视频偏移量反映了播放的视频画面的偏移情况,而音频偏移量反映了播放的声音的偏移情况,因此,在得到所述视频偏移量以及所述音频偏移量之后,即可以根据得到的视频偏移量以及音频偏移量来判断所述播放器是否正常。[0240]本申请实施例通过计算机设备获取视频偏移量以及音频偏移量的方式来判断声音和画面是不是同步,而无需通过人直觉感受的方式来判别声音和画面是否同步,从而可以准确地判定播放器在播放视频测试文件时,声音和画面是否是同步的,进而可以声音与画面的同步情况来判定播放器是否正常。[0241]在一示例性的实施例中,所述判断模块904,还用于判断所述视频偏移量的变化值是否位于第一预设范围内,以及判断所述音频偏移量的变化值是否位于第二预设范围内,其中,在所述视频偏移量的变化值位于第一预设范围内,且所述音频偏移量的变化值位于第二预设范围内时,判定所述播放器是正常的。[0242]具体地,所述第一预设范围与第二预设范围为预先设定的值,比如,设定所述第一预设范围为0-5ms,第二预设范围为0-10ms。[0243]在本实施例中,所述视频偏移量的变化值可以为最大的视频偏移量与最小的视频偏移量的差值,也可以为所有的两两相邻的视频偏移量的差值的平均值。[0244]在本申请实施例中,所述音频偏移量的变化值也可以最大的音频偏移量与最小的音频偏移量的差值,也可以为所有的两两相邻的音频偏移量的差值的平均值。[0245]本申请实施例中,在得到多个视频偏移量与多个音频偏移量之后,即可以判断视频偏移量的变化值是否在第一预设范围内,且音频偏移量的变化值是否在第二预设范围内,当所述视频偏移量的变化值位于第一预设范围内,且所述音频偏移量的变化值位于第二预设范围内时,即可以判定该播放器是正常的,即播放器在播放视频测试文件时,不会发生音频和画面不同步;当不能同时满足上述两个条件时,则可以判定该播放器不是正常的,即播放器在播放视频测试文件时,存在音频和画面不同步的情况。[0246]本申请实施例通过视频偏移量的变化值以及音频偏移量的变化值可以准确地判断出播放器是否正常。[0247]在一示例性的实施例中,所述播放器测试装置还包括:绘制模块。[0248]所述绘制模块,用于根据计算得到的各个视频偏移量绘制视频偏移量图表;及/或用于根据计算得到的各个音频偏移量绘制音频偏移量图表。[0249]具体地,为了更加直观地了解到播放器在播放视频测试文件时,声音和画面具体差了多少,声音和画面是什么时候开始对不上的、到底对不上多长时间、是突然对不上还是multipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。[0259]需要指出的是,图13仅示出了具有部件01~03的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。[0260]在本实施例中,存储于存储器01中的播放器测试方法或视频测试文件生成方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器02)所执行,以完成本申请。[0261]实施例八[0262]本申请实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的播放器测试方法的步骤或实现上述实施例中的视频测试文件生成方法的步骤。[0263]本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如上述实施例中的播放器测试方法或视频测试文件生成方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。[0264]以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0265]通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可获取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。[0266]最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1