一种码流自动切换方法、智能电视及存储介质与流程

文档序号:19792106发布日期:2020-01-24 14:27阅读:593来源:国知局
一种码流自动切换方法、智能电视及存储介质与流程

本发明涉及tv自动化测试技术领域,尤其涉及一种码流自动切换方法、智能电视及存储介质。



背景技术:

随着h.264视频压缩(h.264是高度压缩数字视频编解码器标准)的普及应用,现有技术中对h.264码流控制(用于实现对视频流码流大小的控制)分别从多帧级别(multi-framelevel)、单帧级别(framelevel)及宏快级别(macro-blocklevel)展开了全方位广泛的研究,结合实际工程应用,把h.264码流控制算法做到芯片里,实现了h.264全高清产品化和工程化。

由于h.264这种极其高效的压缩技术能够在不影响图像质量的前提下,对大文件进行大比例压缩并降低比特率,因此有望提高百万像素摄像机的普及速度,虽然h.264能够节省网络带宽和存储成本,然而它却对网络摄像机和显示终端提出了更高的性能要求。

在tv的测试中,对码流的需求是必不可少,要实现对tv的自动化测试,就要实现对码流的自动切换,现有技术中,在对tv进行自动化测试时无法实现对码流的自动切换,不能满足在不同的码流信号下测试tv功能,无法达到不同类型的平台同时测试的功能。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种码流自动切换方法、智能电视及存储介质,旨在通过对码流的自动切换,在tv自动化测试中实现自动切换码流输入,满足不同场景的功能测试,实现tv客户端的自动化测试。

本发明解决技术问题所采用的技术方案如下:

一种码流自动切换方法,其中,所述码流自动切换方法包括:

启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数;

将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放;

当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接。

所述的码流自动切换方法,其中,所述启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数具体包括:

码流控制服务器启动sockect服务,开启多个协程等待tv客户端连接;

码流控制服务器接收至少一个tv客户端发送的sockect请求,并与至少一个tv客户端建立sockect连接;

当sockect连接建立后,码流控制服务器接收tv客户端通过网络tcp协议发送的播放参数和设置参数。

所述的码流自动切换方法,其中,所述tv客户端通过设置测试用例,调用码流播放接口,发送sockect请求给码流控制服务器。

所述的码流自动切换方法,其中,所述播放参数和设置参数包括:码流文件、次数、制式、频点、调制模式、保护间隔、带宽以及编码效率。

所述的码流自动切换方法,其中,所述将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放具体包括:

当码流控制服务器接收到tv客户端发送的消息后,查找当前是否有空闲的码流播放资源;

如果没有空闲的码流播放资源,则将所述tv客户端加入等待队列,当其他tv客户端将码流播放资源释放时,按照队列将释放的码流播放资源依次进行分配;

如果有空闲的码流播放资源,则分配一个空闲的码流播放资源,并继续解析tv客户端发送的消息;

当tv客户端分配到码流播放资源后,码流控制服务器继续解析客户端发送的消息,将播放参数和设置参数组装成脚本并执行,通过调用dektec相关sdk接口实现码流播放。

所述的码流自动切换方法,其中,所述如果有空闲的码流播放资源,则分配一个空闲的码流播放资源,并继续解析tv客户端发送的消息之后还包括:

查询当前所有正在播放的码流播放资源播放的频点,判断tv客户端发过来的频点是否有正在播放的码流播放资源;

如果有频点在使用,则将所述tv客户端加入等待队列,当所述频点的播放资源释放后,按照队列将释放的码流播放资源依次进行分配;

如果没有频点在使用,则所述tv客户端成功分配到了码流播放资源。

所述的码流自动切换方法,其中,所述当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接具体包括:

当码流播放成功后,码流控制服务器将播放成功的消息通过sockect连接返回给tv客户端;

当tv客户端收到播放成功的消息后,则继续执行测试用例,当测试用例执行完成后,码流控制服务器释放码流播放资源;

码流控制服务器将码流播放资源释放到空闲的码流播放资源池以供其他tv客户端使用;

当释放成功后,码流控制服务器端发送释放成功的消息给tv客户端,tv客户端收到码流释放成功的消息后,断开sockect连接。

所述的码流自动切换方法,其中,在测试用例中对于不同模块的测试场景,需要不同的码流文件、次数、制式、频点、调制模式、保护间隔、带宽以及编码效率。

一种智能电视,其中,所述智能电视包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的码流自动切换程序,所述码流自动切换程序被所述处理器执行时实现如上所述的码流自动切换方法的步骤。

一种存储介质,其中,所述存储介质存储有码流自动切换程序,所述码流自动切换程序被处理器执行时实现如上所述码流自动切换方法的步骤。

本发明公开了一种码流自动切换方法、智能电视及存储介质,所述方法包括:启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数;将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放;当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接。本发明通过对码流的自动切换,在tv自动化测试中实现自动切换码流输入,满足不同场景的功能测试,实现tv客户端的自动化测试。

附图说明

图1是本发明码流自动切换方法的较佳实施例的流程图;

图2是本发明码流自动切换方法的较佳实施例中步骤s10的流程图;

图3是本发明码流自动切换方法的较佳实施例中步骤s20的流程图;

图4是本发明码流自动切换方法的较佳实施例中步骤s30的流程图;

图5为本发明智能电视的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的码流自动切换方法,如图1所示,一种码流自动切换方法,其中,所述码流自动切换方法包括以下步骤:

步骤s10、启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数。

具体过程请参阅图2,其为本发明提供的码流自动切换方法中步骤s10的流程图。

如图2所示,所述步骤s10包括:

s11、码流控制服务器启动sockect服务,开启多个协程等待tv客户端连接;

s12、码流控制服务器接收至少一个tv客户端发送的sockect请求,并与至少一个tv客户端建立sockect连接;

其中,所述tv客户端通过设置测试用例,调用码流播放接口,发送sockect请求给码流控制服务器。

s13、当sockect连接建立后,码流控制服务器接收tv客户端通过网络tcp协议发送的播放参数和设置参数。

其中,所述播放参数和设置参数包括:码流文件、次数、制式、频点、调制模式、保护间隔、带宽以及编码效率等。

具体地,码流控制服务器(管理码流播放的服务器)启动sockect(计算机专业术语,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,中文名是套接字)服务,开启多个协程等待tv客户端连接,tv客户端的自动化用例中,设计码流播放用例(测试用例,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求),调用码流播放接口,发送sockect请求给码流控制服务器,码流控制服务器端收到tv客户端发过来的sockect请求,建立sockect连接(码流控制服务器端同时可以与多个tv客户端建立多个sockect连接)。

步骤s20、将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放。

具体的过程请参阅图3,其为本发明提供的码流自动切换方法中步骤s20的流程图。

如图3所示,所述步骤s20包括:

s21、当码流控制服务器接收到tv客户端发送的消息后,查找当前是否有空闲的码流播放资源;

s22、如果没有空闲的码流播放资源,则将所述tv客户端加入等待队列,当其他tv客户端将码流播放资源释放时,按照队列将释放的码流播放资源依次进行分配;

s23、如果有空闲的码流播放资源,则分配一个空闲的码流播放资源,并继续解析tv客户端发送的消息;

s24、当tv客户端分配到码流播放资源后,码流控制服务器继续解析客户端发送的消息,将播放参数和设置参数组装成脚本并执行,通过调用dektec相关sdk接口实现码流播放。

具体地,所述步骤s23之后还包括:查询当前所有正在播放的码流播放资源播放的频点,判断tv客户端发过来的频点是否有正在播放的码流播放资源;如果有频点在使用,则将所述tv客户端加入等待队列,当所述频点的播放资源释放后,按照队列将释放的码流播放资源依次进行分配;如果没有频点在使用,则所述tv客户端成功分配到了码流播放资源。

码流控制服务器端接收到tv客户端发过来的消息,首先,查找当前是否有空闲的码流播放资源(可以播放码流文件的服务),如果没有空闲的码流播放资源则将该tv客户端加入等待队列,当其他用户将码流播放资源释放时,从队列中依次取出再分配码流播放资源,如果有空闲的码流播放资源则分配一个空闲的码流播放资源;然后,解析客户端发过来的消息,并查询出当前所有正在播放的码流播放资源播放的频点,判断tv客户端发过来的频点是否有正在播放的码流播放资源,如果有频点在使用则将该tv客户端加入等待队列,当该频点的播放资源释放后,代表该频点已无人使用,从等待队列中依次取出tv客户端,该tv客户端成功分配到了码流播放资源,如果没有则表明该tv客户端成功分配到了码流播放资源。

进一步地,tv客户端分配到码流播放资源后,码流控制服务器继续解析tv客户端发过来的消息,将码流播放的播放参数和设置参数(如:码流文件、次数、制式、频点、调制模式、保护间隔、带宽、编码效率等)组装成脚本并执行,通过调用dektec(德克泰克)相关sdk(softwaredevelopmentkit,软件开发工具包,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合)接口实现码流播放。

步骤s30、当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接。

具体过程请参阅图4,其为本发明提供的码流自动切换方法中步骤s30的流程图。

如图4所示,所述步骤s30包括:

s31、当码流播放成功后,码流控制服务器将播放成功的消息通过sockect连接返回给tv客户端;

s32、当tv客户端收到播放成功的消息后,则继续执行测试用例,当测试用例执行完成后,码流控制服务器释放码流播放资源;

s33、码流控制服务器将码流播放资源释放到空闲的码流播放资源池以供其他tv客户端使用;

s34、当释放成功后,码流控制服务器端发送释放成功的消息给tv客户端,tv客户端收到码流释放成功的消息后,断开sockect连接。

具体地,码流播放成功后码流控制服务器将成功的消息通过sockect连接返回给tv客户端,tv客户端收到播放成功的消息后,则继续执行测试用例,在过程中可以通过控制该码流播放资源的暂停、停止、播放和切换设置等,当针对该模块的的测试用例执行完成后,tv客户端发送消息给码流控制服务器,释放码流播放资源,码流控制服务器端收到该消息后,将该码流播放资源释放到空闲的码流播放资源池以供其他tv客户端使用,释放成功后,码流控制服务器端发送释放成功的消息给tv客户端,tv客户端收到码流释放成功的消息后,断开sockect连接。

在测试用例中针对不同模块的测试场景,需要不同的码流文件、次数、制式、频点、调制模式、保护间隔、带宽、编码效率等参数,通过以上流程说明实现自动切换码流,从而实现tv客户端的自动化测试。

如图5所示,基于上述码流自动切换方法,本发明还相应提供了一种智能电视,所述智能电视包括处理器10、存储器20及显示器30。图5仅示出了智能电视的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述智能电视的内部存储单元,例如智能电视的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能电视的外部存储设备,例如所述智能电视上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器20还可以既包括所智能电视的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能电视的应用软件及各类数据,例如所述安装智能电视的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有码流自动切换程序40,该码流自动切换程序40可被处理器10所执行,从而实现本申请中码流自动切换方法。

所述处理器10在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述码流自动切换方法等。

所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能电视的信息以及用于显示可视化的用户界面。所述智能电视的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中码流自动切换程序40时实现以下步骤:

启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数;

将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放;

当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接。

所述启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数具体包括:

码流控制服务器启动sockect服务,开启多个协程等待tv客户端连接;

码流控制服务器接收至少一个tv客户端发送的sockect请求,并与至少一个tv客户端建立sockect连接;

当sockect连接建立后,码流控制服务器接收tv客户端通过网络tcp协议发送的播放参数和设置参数。

所述将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放具体包括:

当码流控制服务器接收到tv客户端发送的消息后,查找当前是否有空闲的码流播放资源;

如果没有空闲的码流播放资源,则将所述tv客户端加入等待队列,当其他tv客户端将码流播放资源释放时,按照队列将释放的码流播放资源依次进行分配;

如果有空闲的码流播放资源,则分配一个空闲的码流播放资源,并继续解析tv客户端发送的消息;

当tv客户端分配到码流播放资源后,码流控制服务器继续解析客户端发送的消息,将播放参数和设置参数组装成脚本并执行,通过调用dektec相关sdk接口实现码流播放。

所述如果有空闲的码流播放资源,则分配一个空闲的码流播放资源,并继续解析tv客户端发送的消息之后还包括:

查询当前所有正在播放的码流播放资源播放的频点,判断tv客户端发过来的频点是否有正在播放的码流播放资源;

如果有频点在使用,则将所述tv客户端加入等待队列,当所述频点的播放资源释放后,按照队列将释放的码流播放资源依次进行分配;

如果没有频点在使用,则所述tv客户端成功分配到了码流播放资源。

所述当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接具体包括:

当码流播放成功后,码流控制服务器将播放成功的消息通过sockect连接返回给tv客户端;

当tv客户端收到播放成功的消息后,则继续执行测试用例,当测试用例执行完成后,码流控制服务器释放码流播放资源;

码流控制服务器将码流播放资源释放到空闲的码流播放资源池以供其他tv客户端使用;

当释放成功后,码流控制服务器端发送释放成功的消息给tv客户端,tv客户端收到码流释放成功的消息后,断开sockect连接。

本发明还提供一种存储介质,其中,所述存储介质存储有码流自动切换程序,所述码流自动切换程序被处理器执行时实现如上所述码流自动切换方法的步骤;具体如上所述。

综上所述,本发明提供一种码流自动切换方法、智能电视及存储介质,所述方法包括:启动sockect服务,与至少一个tv客户端建立sockect连接,发送码流播放的播放参数和设置参数;将空闲的码流播放资源分配给tv客户端,将播放参数和设置参数组装成脚本并执行,通过调用接口实现码流播放;当码流播放成功且测试用例执行完成后,释放码流播放资源,发送释放成功的消息到tv客户端,断开sockect连接。本发明通过对码流的自动切换,在tv自动化测试中实现自动切换码流输入,满足不同场景的功能测试,实现tv客户端的自动化测试。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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