CN107590071B - 机顶盒测试用的码流文件的数据修改方法及装置 - Google Patents
机顶盒测试用的码流文件的数据修改方法及装置 Download PDFInfo
- Publication number
- CN107590071B CN107590071B CN201710740779.4A CN201710740779A CN107590071B CN 107590071 B CN107590071 B CN 107590071B CN 201710740779 A CN201710740779 A CN 201710740779A CN 107590071 B CN107590071 B CN 107590071B
- Authority
- CN
- China
- Prior art keywords
- data
- code stream
- stream file
- new
- data table
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种机顶盒测试用的码流文件的数据修改方法,该方法包括如下步骤:原码流文件转换为节数据结构:将原码流文件的数据包解析为多个数据表,每个所述数据表均转化为节数据结构并放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表;将所述目标数据表的节数据结构的数据内容修改呈新节数据结构;新码流文件的生成:将所述新节数据结构转化为新数据包,并按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。本发明还提供了一种机顶盒测试用的码流文件的数据修改装置。相关技术相比,本发明的机顶盒测试用的码流文件的数据修改方法及装置测试效率高且准确性好。
Description
【技术领域】
本发明涉及机顶盒测试技术领域,尤其涉及一种机顶盒测试用的码流文件的数据修改方法及装置。
【背景技术】
目前,运营商的数字电视网络前端为向客户提供定制化的服务,需要机顶盒设计者在为运营商提供满足要求的软件时,对机顶盒的这些服务进行测试。机顶盒在测试过程中,多个测试项需要播放码流文件来进行测试。
然而,有些测试项目受到实际的码流文件的限制无法验证,例如,频道名称过长,节目名称过长等;有些测试项目受到实际传送的流码文件的限制会导致测试效率低,测试时间长,例如预约节目等。
相关技术中,虽然在机顶盒测试时能在码流文件中插入私有表,不能对码流文件中已经存在的数据表进行改动,严重影响了测试效率。
因此,有必要提供一种机顶盒测试用的码流文件的数据修改方法及装置以解决上述问题。
【发明内容】
本发明的目的在于提供一种测试效率高且准确性好的机顶盒测试用的码流文件的数据修改方法及装置。
为了达到上述目的,本发明提供了一种机顶盒测试用的码流文件的数据修改方法,该方法包括如下步骤:
原码流文件转换为节数据结构:将原码流文件的数据包解析为多个数据表,每个所述数据表均转化为节数据结构并放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表;
将所述目标数据表的节数据结构的数据内容修改呈新节数据结构;
新码流文件的生成:将所述新节数据结构转化为新数据包,并按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
优选的,所述将目标数据表的节数据结构的数据内容修改呈新节数据结构的步骤中,包括如下步骤:
目标数据表的修改:查找所述目标数据表所对应的所述全局节数据结构,按照该目标数据表的所述节数据结构的组成规则进行修改,将修改后的所述目标数据表的修改标志位值更新;
计算修改后的所述目标数据表的所述节数据结构的长度值是否大于最大值:
若是,则对所述目标数据表进行新增节数据结构并将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构;
若否,则直接将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构。
优选的,在所述新码流文件的生成的步骤中,包括如下步骤:
检测每个所述数据表的修改标志位值,若检测到至少一个所述数据表的修改标志位值存在更新,则计算对应的所述原码流文件中的所述目标数据表的发送间隔,并将所述原码流文件中的所述目标数据表的数据包插除;
获取所述目标数据表的所述新节数据结构,按所述原码流文件的数据包的组成规则将所述新节数据结构转换为所述新数据包;
按所述目标数据表的发送间隔将所述新数据包写入原码流文件,生成新码流文件。
优选的,在所述按所述目标数据表的发送间隔将所述新数据包写入原码流文件,生成新码流文件的步骤后,还包括:
将所述新码流文件中具有相同包标识符的所述数据包的计数器赋值。
优选的,在所述目标数据表的修改的步骤中,包括:对一个所述目标数据表进行修改或对多个所述目标数据表进行修改。
优选的,在所述目标数据表的修改的步骤中,还包括:
所述目标数据表的所述节数据结构由多个数据单元组成,所述目标数据表的修改包括新增数据单元、删除数据单元和修改数据单元的至少一种。
本发明还提供一种机顶盒测试用码流文件的数据修改装置,包括:
码流文件解析转换模块,用于将原码流文件的数据包解析为多个数据表,并将每个所述数据表转化为节数据结构,放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表;
数据表修改模块,用于将所述目标数据表的节数据结构的数据内容修改呈新节数据结构;
码流文件合成转换模块,用于将所述新节数据结构转化为新数据包;
新码流文件生成模块,用于按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
优选的,所述数据表修改模块对所述节数据结构的修改方式包括修改、删除和新增。
与相关技术相比,本发明的机顶盒测试用的码流文件的数据修改方法及装置通过直接对码流文件进行转化为节数据结构的数据表,直接完成单个所述节数据结构的修改或新增,且生成新的码率不变的码流文件,不仅修改码流文件的速度快,且一个码流文件可验证机顶盒多个功能项,使用效率高,节省成本;通过将码流文件修改成期望的测试码流文件,验证机顶盒功能时验证充分,准确率高,方便维护。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本发明机顶盒测试用的码流文件的数据修改方法流程框图;
图2为本发明机顶盒测试用的码流文件的数据修改方法步骤S2的子流程框图;
图3为图2对应的具体实施例的流程图;
图4为本发明机顶盒测试用的码流文件的数据修改方法步骤S3的子流程框图;
图5为本发明机顶盒测试用的码流文件的数据修改方法步骤S3的具体实施例的流程图;
图6为本发明机顶盒测试用的码流文件的数据修改装置的结构框图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,为本发明机顶盒测试用的码流文件的数据修改方法流程框图。本发明提供了一种机顶盒测试用的码流文件的数据修改方法,该方法包括如下步骤:
步骤S1、原码流文件转换为节数据结构:
将原码流文件(Transport Stream,TS文件)的数据包解析为多个数据表,每个所述数据表均转化为节数据结构(section结构)并放入对应的所述数据表的全局节数据结构。其中,为了方便说明,将需要修改的所述数据表定义为目标数据表。
步骤S2、将所述目标数据表的节数据结构的数据内容修改呈新节数据结构。
请结合参阅 图2、图 3,其中,图2为本发明机顶盒测试用的码流文件的数据修改方法步骤S2的子流程框图;图3为图2对应的具体实施例的流程图。本步骤中,包括对所述目标数据表的数据内容进行相应改动,包含修改、删除、增加。具体包括:
步骤S21、目标数据表的修改:
查找所述目标数据表所对应的所述全局节数据结构,按照该目标数据表的所述节数据结构的组成规则进行修改,将修改后的所述目标数据表的修改标志位值更新。
本步骤中,包括对一个所述目标数据表进行修改或对多个所述目标数据表进行修改。修改方式灵活多变,适用性强。
具体的,本实施方式中,所述目标数据表的所述节数据结构由多个数据单元组成,所述目标数据表的修改包括新增数据单元、删除数据单元和修改数据单元的至少一种。由于本方法可同时对多个所述目标数据表进行修改,因此,一个所述码流文件即可实现验证机顶盒的多个功能项的目的,使用效率高。
新增数据单元即增加所述目标数据表对应的所述节数据结构没有的数据单元;删除数据单元即删除所述目标数据表对应的所述节数据结构中已存在的数据单元;修改数据单元即对所述目标数据表对应的所述节数据结构的数据单元进行直接修改。当然,还需要将修改后的所述目标数据表的修改标志位值更新。
步骤S22、计算修改后的所述目标数据表的所述节数据结构的长度值是否大于最大值:
若是,则对所述目标数据表进行新增节数据结构并将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构;
若否,则直接将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构。
也就是说,步骤S2中,当测试机顶盒时,对于所述原码流文件解析出的所述数据表中,当需要修改某个或多个所述数据表时,找到该数据表对应的全局节数据结构(全局section数据结构),按照该数据表的节数据结构(section数据结构)的组成规则进行修改,包括对节数据结构的数据内容的修改、删除及增加中的至少一种。
步骤S3、新码流文件的生成:
将所述新节数据结构转化为新数据包,并按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
通过使用该机顶盒测试用码流文件的数据修改方法,可以生成期望的测试用码流文件,对机顶盒进行充分的功能验证,解决了由于实际信号的码流文件的受限性对机顶盒功能无法验证或者验证不充分的问题,即验证准确率高。
请结合参阅图4,为本发明机顶盒测试用的码流文件的数据修改方法步骤S3的子流程框图。本步骤中,具体包括:
步骤S31、检测每个所述数据表的修改标志位值,若检测到至少一个所述数据表的修改标志位值存在更新,则计算对应的所述原码流文件中的所述目标数据表的发送间隔,并将所述原码流文件中的所述目标数据表的数据包插除。
步骤S32、获取所述目标数据表的所述新节数据结构,按所述原码流文件的数据包的组成规则将所述新节数据结构转换为所述新数据包;
步骤S33、按所述目标数据表的发送间隔将所述新数据包写入原码流文件,生成新码流文件。
本发明的机顶盒测试用码流文件的数据修改方法修改码流文件速度快,且使用效率高,生成一个码流文件的时间小于1分钟,且修改后的码流文件的码率不变。
步骤S34、将所述新码流文件中具有相同包标识符(PID)的所述数据包的计数器赋值。
以下对步骤S3作进一步详细说明:
请结合参阅图5,为本发明机顶盒测试用的码流文件的数据修改方法步骤S3的具体实施例的流程图。
步骤a、检测到至少一个所述目标数据表的修改标志位值存在更新,即该目标数据表的节数据结构被修改;
步骤b、则计算并获取对应的所述原码流文件中的所述目标数据表的发送间隔X;
步骤c、将所述目标数据表的数据包的包标识符PID置为0x1fff;
步骤d、将修改后的新节数据结构的数据内容按原码流文件的数据包的组成规则重新封装为新数据包;
步骤e、判断新码流文件是否生成:若是,新码流文件生成结束;若否,则进入步骤f;
步骤f、读取所述新数据包;
步骤g、判断所述新数据包和包标识符PID与所述原数据包的包标识符PID是否相同:若是,则进入步骤h,若否则进入步骤i;
步骤h、重写所述新数据包的计数器的赋值,返回步骤e;
步骤i、判断所述新数据包的包标识符PID是否等于0x1fff:若否,则返回步骤e;若是,则进入步骤j;
步骤j、判断该新数据包是否为首包:若是,则进入步骤k;若否,则进入步骤l;
步骤k、将包标识符PID等于0x1fff写入首包,返回步骤e;
步骤l、判断该首包是否已包括所有新数据包:若否,则进入步骤m;若是,则进入步骤n;
步骤m、将包标识符PID等于0x1fff写入下一个新数据包,返回步骤 e;
步骤n、计算当前数据表的发送间隔Y;
步骤o、判断发送间隔X是否大于发送间隔Y:若是,则返回步骤e;若否,则进入步骤p;
步骤p、读取下一个当前文件的数据包;
步骤q、判断所述读取的下一个当前文件的数据包的包标识符PID是否与原数据包的包标识符相同:若是,则进入步骤r;若否,则返回步骤e;
步骤r、重写所述下一个当前文件的数据包的计数器的赋值;
步骤s、计算所述下一个当前文件的数据表的发送间隔Y,返回步骤o。
本发明同时提供了一种机顶盒测试用的码流文件的数据修改装置。
请参阅图6,为本发明机顶盒测试用的码流文件的数据修改装置的结构框图。本发明提供的所述机顶盒测试用的码流文件的数据修改装置100 包括:
码流文件解析转换模块1,用于将原码流文件的数据包解析为多个数据表,并将每个所述数据表转化为节数据结构,放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表。
数据表修改模块2,用于将所述目标数据表的节数据结构的数据内容修改呈新节数据结构。所述数据表修改模块2对所述节数据结构的修改方式包括修改、删除和新增。
码流文件合成转换模块3,用于将所述新节数据结构转化为新数据包。
新码流文件生成模块4,用于按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
当然,所述机顶盒测试用的码流文件的数据修改装置100可使用软件集成开发工具,提供操作界面(未图示),使用高级编程语言,包括但不限于C++、C#、JAVA等高级编程语言或其它开发工具进行码流文件的修改。
所述机顶盒测试用的码流文件的数据修改装置100可生成期望的测试码流文件,对机顶盒进行充分的功能验证,解决了因实际信号码流文件的受限性对机顶盒功能无法验证或验证不充分的问题。另外,通过机顶盒测试用的码流文件的数据修改装置100对机顶盒进行测试可节约成本,极大程度加快产品问题的发现与收敛,使被测试产品周期缩短,且方便后续维护。
与相关技术相比,本发明的机顶盒测试用的码流文件的数据修改方法及装置通过直接对码流文件进行转化为节数据结构的数据表,直接完成单个所述节数据结构的修改或新增,且生成新的码率不变的码流文件,不仅修改码流文件的速度快,且一个码流文件可验证机顶盒多个功能项,使用效率高,节省成本;通过将码流文件修改成期望的测试码流文件,验证机顶盒功能时验证充分,准确率高,方便维护。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
Claims (8)
1.一种机顶盒测试用的码流文件的数据修改方法,其特征在于,该方法包括如下步骤:
原码流文件转换为节数据结构:将原码流文件的数据包解析为多个数据表,每个所述数据表均转化为节数据结构并放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表;
将所述目标数据表的节数据结构的数据内容修改呈新节数据结构;
新码流文件的生成:将所述新节数据结构转化为新数据包,并按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
2.根据权利要求1所述的机顶盒测试用的码流文件的数据修改方法,其特征在于,将所述目标数据表的节数据结构的数据内容修改呈新节数据结构的步骤中,包括如下步骤:
目标数据表的修改:查找所述目标数据表所对应的所述全局节数据结构,按照该目标数据表的所述节数据结构的组成规则进行修改,将修改后的所述目标数据表的修改标志位值更新;
计算修改后的所述目标数据表的所述节数据结构的长度值是否大于最大值:
若是,则对所述目标数据表进行新增节数据结构并将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构;
若否,则直接将所述目标数据表中原有的节数据结构的内容更新为所述新节数据结构。
3.根据权利要求2所述的机顶盒测试用的码流文件的数据修改方法,其特征在于,在所述新码流文件的生成的步骤中,包括如下步骤:
检测每个所述数据表的修改标志位值,若检测到至少一个所述数据表的修改标志位值存在更新,则计算对应的所述原码流文件中的所述目标数据表的发送间隔,并将所述原码流文件中的所述目标数据表的数据包插除;
获取所述目标数据表的所述新节数据结构,按所述原码流文件的数据包的组成规则将所述新节数据结构转换为所述新数据包;
按所述目标数据表的发送间隔将所述新数据包写入原码流文件,生成新码流文件。
4.根据权利要求3所述的机顶盒测试用的码流文件的数据修改方法,其特征在于,在所述按所述目标数据表的发送间隔将所述新数据包写入原码流文件,生成新码流文件的步骤后,还包括:
将所述新码流文件中具有相同包标识符的所述数据包的计数器赋值。
5.根据权利要求2所述的机顶盒测试用的码流文件的数据修改方法,其特征在于,在所述目标数据表的修改的步骤中,包括:对一个所述目标数据表进行修改或对多个所述目标数据表进行修改。
6.根据权利要求5所述的机顶盒测试用的码流文件的数据修改方法,其特征在于,在所述目标数据表的修改的步骤中,还包括:
所述目标数据表的所述节数据结构由多个数据单元组成,所述目标数据表的修改包括新增数据单元、删除数据单元和修改数据单元的至少一种。
7.一种机顶盒测试用码流文件的数据修改装置,其特征在于,包括:
码流文件解析转换模块,用于将原码流文件的数据包解析为多个数据表,并将每个所述数据表转化为节数据结构,放入对应的所述数据表的全局节数据结构,其中,需要修改的所述数据表定义为目标数据表;
数据表修改模块,用于将所述目标数据表的节数据结构的数据内容修改呈新节数据结构;
码流文件合成转换模块,用于将所述新节数据结构转化为新数据包;
新码流文件生成模块,用于按所述目标数据表的发送间隔将所述新数据包写入所述原码流文件,生成新码流文件。
8.根据权利要求7所述的机顶盒测试用码流文件的数据修改装置,其特征在于,所述数据表修改模块对所述节数据结构的修改方式包括修改、删除和新增。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740779.4A CN107590071B (zh) | 2017-08-25 | 2017-08-25 | 机顶盒测试用的码流文件的数据修改方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740779.4A CN107590071B (zh) | 2017-08-25 | 2017-08-25 | 机顶盒测试用的码流文件的数据修改方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107590071A CN107590071A (zh) | 2018-01-16 |
CN107590071B true CN107590071B (zh) | 2021-05-11 |
Family
ID=61042674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710740779.4A Active CN107590071B (zh) | 2017-08-25 | 2017-08-25 | 机顶盒测试用的码流文件的数据修改方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107590071B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857799A (zh) * | 2012-09-14 | 2013-01-02 | 乐视网信息技术(北京)股份有限公司 | 基于机顶盒的故障诊断方法 |
US9326023B2 (en) * | 2008-03-17 | 2016-04-26 | Samsung Electronics Co., Ltd. | Method and apparatus for displaying electronic program guide of recorded transport stream file |
CN106534981A (zh) * | 2016-11-28 | 2017-03-22 | 湖南国科微电子股份有限公司 | 一种机顶盒测试用的码流文件的生成方法及生成装置 |
-
2017
- 2017-08-25 CN CN201710740779.4A patent/CN107590071B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9326023B2 (en) * | 2008-03-17 | 2016-04-26 | Samsung Electronics Co., Ltd. | Method and apparatus for displaying electronic program guide of recorded transport stream file |
CN102857799A (zh) * | 2012-09-14 | 2013-01-02 | 乐视网信息技术(北京)股份有限公司 | 基于机顶盒的故障诊断方法 |
CN106534981A (zh) * | 2016-11-28 | 2017-03-22 | 湖南国科微电子股份有限公司 | 一种机顶盒测试用的码流文件的生成方法及生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107590071A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141521B2 (en) | Method and apparatus for automatically generating a test script for a graphical user interface | |
KR20040098105A (ko) | 다양한 표준과 테스팅 수준을 지원하는 테스트 스트림생성 방법 및 장치 | |
KR100803581B1 (ko) | 테스트 데이터 자동 생성장치 및 방법 | |
CN109189379A (zh) | 代码生成方法和装置 | |
CN106982140B (zh) | 一种信息流仿真方法及系统 | |
CN104768025A (zh) | 一种视频坏帧修复方法及装置 | |
CN104836686B (zh) | 一种生成服务器的配置文件的方法及装置 | |
CN110098959B (zh) | 工控协议交互行为的建模方法、装置、系统及存储介质 | |
CN107590071B (zh) | 机顶盒测试用的码流文件的数据修改方法及装置 | |
US11347921B2 (en) | Signal integrity simulation method for encryption hybrid model | |
CN106326090A (zh) | 一种实现测试用例构建的方法及装置 | |
CN106202162B (zh) | 一种用于测试推荐房间数据列表的测试系统及方法 | |
CN114625407A (zh) | 一种ab实验的实现方法、系统、设备及存储介质 | |
CN102622292A (zh) | 一种基于标准化测试语言的Web应用功能测试方法 | |
CN111211939A (zh) | 一种基于网络处理器实现流表高效计数的装置和方法 | |
CN106131656A (zh) | 一种用于视频直播间准实时截图的系统及方法 | |
CN112015726B (zh) | 一种用户活跃度预测方法、系统及可读存储介质 | |
CN112084278B (zh) | 一种地图数据转换定制产品的检证方法及装置 | |
CN112817864A (zh) | 一种测试文件的生成方法、装置、设备及介质 | |
CN111494950B (zh) | 游戏语音处理方法及装置、存储介质及电子设备 | |
CN115543263A (zh) | 脚本生成方法、装置、设备及介质 | |
CN112799649A (zh) | 代码构建方法、装置、设备和存储介质 | |
CN106534981B (zh) | 一种机顶盒测试用的码流文件的生成方法及生成装置 | |
CN112272063B (zh) | 适用于卫星设备测试用的模拟器 | |
TWI785924B (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 |