CN103024515A - 一种可外部导入描述子格式的码流分析方法和系统 - Google Patents
一种可外部导入描述子格式的码流分析方法和系统 Download PDFInfo
- Publication number
- CN103024515A CN103024515A CN2012105271388A CN201210527138A CN103024515A CN 103024515 A CN103024515 A CN 103024515A CN 2012105271388 A CN2012105271388 A CN 2012105271388A CN 201210527138 A CN201210527138 A CN 201210527138A CN 103024515 A CN103024515 A CN 103024515A
- Authority
- CN
- China
- Prior art keywords
- code stream
- descriptor
- imports
- rule
- analysis
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种可外部导入描述子格式的码流分析方法和系统,其中,所述方法包括:首先,通过读取外部文件来导入描述子和表的规则;然后,分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。其采用外部导入的方式,用户可以在界面上直接输入、也可以通过编辑描述字配置文件的方式实现输入,实现了用户随意增减修改描述子和表规则的功能,使用户具备不修改码流分析软件而快速添加私有协议分析的能力。
Description
技术领域
本发明涉及码流分析技术领域,尤其涉及一种可外部导入描述子格式的码流分析方法和系统。
背景技术
目前国内的数字电视运营商大部分都采用DVB规范作为数字电视业务的传输标准。在数字电视网络搭建、服务端客户端设备研发、数字电视增值业务研发、数字电视系统故障分析的过程中都对码流进行分析。
然而,现有的大部分码流分析方法只能分析DVB标准中既有的表与描述子,不能分析用户私有的自定义格式的表与描述子,而现实的码流分析过程中,有半数的情况是需要分析私有格式的表与描述子,通用的码流分析软件已经不能满足实际需求。目前也有一些采用修改代码重新编译发布新版的码流分析方式来满足需求。但是这样的需要用户不断地向软件提供商提供描述子格式,软件提供商不断地修改软件、测试、发布版本,时间长、流程复杂、软件使用成本高。
有鉴于此,现有技术有待改进和提高。
发明内容
鉴于现有技术的不足,本发明目的在于提供一种可外部导入描述子格式的码流分析方法和系统。旨在解决现有技术的码流分析方法中存在的效率低下、流程复杂、成本高等问题。
本发明的技术方案如下:
一种可外部导入描述子格式的码流分析方法,其中,所述方法包括以下步骤:
S1、通过读取外部文件来导入描述子和表的规则;
S2、分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;
其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。
所述的可外部导入描述子格式的码流分析方法,其中,所述步骤S1中,描述子和表的规则以描述子的TAG值和表的PID与TableID来进行区分。
所述的可外部导入描述子格式的码流分析方法,其中,所述步骤S2中还包括将解析数据进行存储。
所述的可外部导入描述子格式的码流分析方法,其中,还包括步骤S3、构建基本PSI/SI信息 EPG NVOD 和基本节目信息、以及原始数据信息;并显示分析结果。
一种可外部导入描述子格式的码流分析系统,其中,包括:
数据流处理模块,用于将待分析码流读取到码流缓存里面;
码流预处理模块,用于按照DVB标准协议将码流缓存里面的待分析码流分割为表和描述子片段;
解析模块,用于根据码流片段的头信息在解析规则对应表里面查找对应的解析规则,并将解析结果存储在初步解析数据库内;
组合显示模块,用于对初步解析数据库里面的数据进行分析组合,进而生成包含EPG、NVOD和私有数据格式的解析结果信息,并将其显示出来。
优选地,所述的可外部导入描述子格式的码流分析系统,其中,所述码流预处理模块进一步包括:
校验单元,用于校验待分析码流是否有错误数据,如果有错误,则抛弃;
信息提取单元,用于提取片段头信息,其中,的头信息为TableID和PID,描述子的头信息为Tag。
优选地,所述的可外部导入描述子格式的码流分析系统,其中,所述解析模块进一步包括:
标准解析单元,用于在在已经和DVB标准的数据格式对应好的解析规则库里面查找,如果找到则调用相应的解析函数进行解析;
私有格式解析单元,用于在外部导入的来源于用户自定义私有数据格式对应的解析规则里面查找,如果找到则调用相应的解析函数进行解析;
存储单元,用于在解析完成后将解析结果存储在初步解析数据库内。
优选地,所述的可外部导入描述子格式的码流分析系统,其中,所述初步解析数据库内包括:一总控函数、一组关键字解析函数和辅助功能函数。
有益效果:
本申请的可外部导入描述子格式的码流分析方法和系统,采用外部导入的方式,用户可以在界面上直接输入、也可以通过编辑描述字配置文件的方式实现输入,实现了用户随意增减修改描述子和表规则的功能,使用户具备不修改码流分析软件而快速添加私有协议分析的能力。
附图说明
图1为本申请的可外部导入描述子格式的码流分析方法的流程图。
图2为本申请的可外部导入描述子格式的码流分析系统的结构框图。
图3为本申请的可外部导入描述子格式的码流分析方法的实施例中码流分析的流程图。
具体实施方式
本发明提供一种可外部导入描述子格式的码流分析方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本申请的可外部导入描述子格式的码流分析方法的流程图。如图所示,所述方法包括以下步骤:
S1、通过读取外部文件来导入描述子和表的规则;
S2、分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;
其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。
下面分别针对上述步骤进行具体描述:
所述步骤S1为通过读取外部文件来导入描述子和表的规则。本发明的关键在于,并不将描述子和表的规则内置在代码中,而是按照一定的格式存储在外部,软件初始化的时候通过读取外部文件来导入描述子和表解析规则,在本实施例中,各个规则以描述子的TAG值和表的PID与TableID来进行区分。
所述步骤S2为分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。具体来说,本发明的码流分析方法分析并组合出单个Section数据后根据其描述子的TAG值和表的PID与TableID,在导入的描述子规则的里面查找相应的规则来进行解析。其设计了描述子和表规则的简明编辑功能,在用户进行了描述子与表规则的编辑後,会重新导入新的规则库,从而实现了用户自定义规则功能。
进一步地,本发明的描述子与表规则描述语法尽可能地保留国内外DVB文献资料上对描述子与表规则同行的描述语法格式,这样,用户添加新的描述子与表规则的时候,基本不需要修改,用户可以快速使用本分析软件。
更进一步地,所述步骤S2中还包括将解析数据进行存储。另外,还包括步骤S3、构建基本PSI/SI信息 EPG NVOD 和基本节目信息、以及原始数据信息;并显示分析结果。本实施例中,其码流分析方法的分析过程可以如图3所示。
其具有以下好处:
一、传统的码流分析软件都是把描述子固化在代码里面,代码里面没有就不能解析,本软件采用外部导入的方式,用户可以在界面上直接输入、也可以通过编辑描述字配置文件的方式实现输入;
二、用户不需要对描述子做任何格式上的改动,直接原文输入即可,可以直接解析用标准语法表诉的描述子,给用户使用带来方便;
三、用户已经添加的描述子本软件会保存在配置文件里面,用户下次使用不需要再次输入,当然,用户可以查找、编辑、删除已经添加的描述字;也可以通过配置文件实现描述子的导入导出。
本发明还提供了一种可外部导入描述子格式的码流分析系统,如图2所示,包括:
数据流处理模块100,用于将待分析码流读取到码流缓存里面;其中,随着缓存减少,数据流处理模块会再次读取一定量码流到码流缓存里面;
码流预处理模块200,用于按照DVB标准协议将码流缓存里面的待分析码流分割为表和描述子片段;
解析模块300,用于根据码流片段的头信息在解析规则对应表里面查找对应的解析规则,并将解析结果存储在初步解析数据库内;在本实施例中,所述初步解析数据库(主要强调私有格式的解析)内包括:一总控函数、一组关键字解析函数和辅助功能函数。总控函数的地位和前面的DVB标准的数据格式解析规则库里面的某一解析函数地位相当,但是标准规则解析函数内部解析流程已经固化,就是按照其对应的某个标准数据格式来运行,但是该总控函数内部的解析步骤却是不定的,他是通过一步步分析用户外部填入(通过配置文件填入或者是软件界面填入)的私有数据规则的描述文档,分离出其中的关键字来来确定以何种顺序或者组合调用对应的关键字解析函数来逐步解析码流片段的。
组合显示模块400,用于对初步解析数据库里面的数据进行分析组合,进而生成包含EPG、NVOD和私有数据格式的解析结果信息,并将其显示出来。
进一步地,所述码流预处理模块进一步包括:
校验单元,用于校验待分析码流是否有错误数据,如果有错误,则抛弃;
信息提取单元,用于提取片段头信息,其中,的头信息为TableID和PID,描述子的头信息为Tag。
更进一步地,所述解析模块进一步包括:
标准解析单元,用于在在已经和DVB标准的数据格式对应好的解析规则库里面查找,如果找到则调用相应的解析函数进行解析;
私有格式解析单元,用于在外部导入的来源于用户自定义私有数据格式对应的解析规则里面查找,如果找到则调用相应的解析函数进行解析;
存储单元,用于在解析完成后将解析结果存储在初步解析数据库内。
为了方便理解,下面以私有描述子为例,来说明一下本发明的码流分析系统是如何从外部导入私有描述子的。
用户自定义描述子数据格式的实施例如下:
****RuleStart****
74
AVT_descriptor
transport_stream_id 16
original_network_id 16
service_id 16
if ( original_network_id == 0 )
{
newID 16
}
linkage_type 8
for
{
private_data_byte 8
}
*****RuleEnd*****
该描述子就以文本的形式存储于配置文件里面(用户在软件界面上直接填写的规则也会被以文本的形式自动写入配置文件里面)。上述总控函数就是通过逐词(以空格分开为一词)读取并识别出里面的关键字来决定调用对应的关键字解析函数来码流片段的。
以上述为例:
****RuleStart****:该关键字的意义表述这个描述子规则开始了,后面是其真正内容;
If:表示紧跟其后的是一个条件判断表达式,如果该条件成立,那么后面的数据要按照中括号里面的描述来解析,否则直接掉到中括号以后继续解析;
for :表示后面的数据需要按照中括号内的规则循环解释;
*****RuleEnd*****:表示描述子规则结束了,不用继续往下解析;
以上只是一些关键字举例,还有几十个关键字;例如:while
其它说明:“****RuleStart****“后面的“74”的表示该规则是用来解析前述码流片段的头信息中Tag为74的描述子;”AVT_descriptor”表示用户给该私有自定义描述子取的名字为AVT_descriptor;这两条是以固定位置固定格式出现的,不需要解析;
另外还有一些非关键字:(例如上述的transport_stream_id 、original_network_id 、service_id ),对于所有的非关键字,有着约定的统一解析规则:每个非关键字后面都紧跟一个数字,例如:“transport_stream_id 16”,意思就是:码流片段中对应位置的连续“16”个位的数据组合成一个值,并且用户为这个值取了个名字叫“transport_stream_id”。这个值和名字会在最后的用户界面中作为分析结果显示给用户。
应当理解地是,上述多个“关键字、非关键字”并非平等排列,也可能是嵌套的,即一个关键字中括号内部里面可能还有其它“关键字、非关键字”总空函数也是进行嵌套调用的。
概括来说,上述解析过程中私有格式的描述子解析过程如下:
S100、调用总控函数,并将已经提取的码流片段头信息传递给总控函数。
S200、总控函数调取自定义数据格式查找函数从配置文件中的众多自定义数据格式中找到和需解析的码流片段对应的那一个;
S300、总控函数调取自定义数据格式预处理函数对自定义数据格式描述文本做预处理;其中,所述预处理包括:
S310、关键字大小写统一化:因为关键字是不区分大小写的,但是用户输入的时候可能会用到大小写,现在统一处理为小写,以免后续匹配时因为大小写或者混合写导致匹配失败;
S320、基于基本逻辑的纠错:例如:中括号都是配对出现的,可以基于一些基本逻辑将中括号补齐;
S330、关键字与非关键字序列化:将关键字及其附属字段依序分离,并存储;
S400、总控函数依次读取序列化存储的关键字、非关键字并处理;其进一步包括:
S410、处理关键字时调用对应的关键字处理函数,将关键字附属字段(例如:关键字后的中括号、if条件判断后的条件表达式等)作为参数传递给处理函数;
S420、处理非关键字时,调用统一的非关键字处理函数,将非关键字后面的数字作为参数传递给非关键字统一处理函数;
S500、处理函数按照关键字代表的意义或统一的非关键字处理规则在码流片段里面顺序读取相应数量字节进行解析、处理;
S600、处理完毕后,回到流程S400、;直到“关键字、非关键字”和码流片段同时读取完毕(如果不是同时读取完毕,则代表有错误发生,提示用户。因为规则描述的码流长度和实际码流片段长度应是绝对相等的);
S700、总控函数将解析的结果存入前面提到的初步解析数据库;
S800、此码流片段解析完毕。
综上所述,本发明的可外部导入描述子格式的码流分析方法和系统,其中,所述方法包括:首先,通过读取外部文件来导入描述子和表的规则; 然后,分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。其采用外部导入的方式,用户可以在界面上直接输入、也可以通过编辑描述字配置文件的方式实现输入,实现了用户随意增减修改描述子和表规则的功能,使用户具备不修改码流分析软件而快速添加私有协议分析的能力。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种可外部导入描述子格式的码流分析方法,其特征在于,所述方法包括以下步骤:
S1、通过读取外部文件来导入描述子和表的规则;
S2、分析并组合出单个Section数据后,在导入的描述子和表的规则里面查找相应的规则来进行解析;
其中,所述相应的规则包括用户自定义格式的规则和标准DVB协议。
2.根据权利要求1所述的可外部导入描述子格式的码流分析方法,其特征在于,所述步骤S1中,描述子和表的规则以描述子的TAG值和表的PID与TableID来进行区分。
3.根据权利要求1所述的可外部导入描述子格式的码流分析方法,其特征在于,所述步骤S2中还包括将解析数据进行存储。
4.根据权利要求1所述的可外部导入描述子格式的码流分析方法,其特征在于,还包括步骤S3、构建基本PSI/SI信息 EPG NVOD 和基本节目信息、以及原始数据信息;并显示分析结果。
5.一种可外部导入描述子格式的码流分析系统,其特征在于,包括:
数据流处理模块,用于将待分析码流读取到码流缓存里面;
码流预处理模块,用于按照DVB标准协议将码流缓存里面的待分析码流分割为表和描述子片段;
解析模块,用于根据码流片段的头信息在解析规则对应表里面查找对应的解析规则,并将解析结果存储在初步解析数据库内;
组合显示模块,用于对初步解析数据库里面的数据进行分析组合,进而生成包含EPG、NVOD和私有数据格式的解析结果信息,并将其显示出来。
6.根据权利要求5所述的可外部导入描述子格式的码流分析系统,其特征在于,所述码流预处理模块进一步包括:
校验单元,用于校验待分析码流是否有错误数据,如果有错误,则抛弃;
信息提取单元,用于提取片段头信息,其中,的头信息为TableID和PID,描述子的头信息为Tag。
7.根据权利要求5所述的可外部导入描述子格式的码流分析系统,其特征在于,所述解析模块进一步包括:
标准解析单元,用于在在已经和DVB标准的数据格式对应好的解析规则库里面查找,如果找到则调用相应的解析函数进行解析;
私有格式解析单元,用于在外部导入的来源于用户自定义私有数据格式对应的解析规则里面查找,如果找到则调用相应的解析函数进行解析;
存储单元,用于在解析完成后将解析结果存储在初步解析数据库内。
8.根据权利要求5所述的可外部导入描述子格式的码流分析系统,其特征在于,所述初步解析数据库内包括:一总控函数、一组关键字解析函数和辅助功能函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105271388A CN103024515A (zh) | 2012-12-10 | 2012-12-10 | 一种可外部导入描述子格式的码流分析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105271388A CN103024515A (zh) | 2012-12-10 | 2012-12-10 | 一种可外部导入描述子格式的码流分析方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103024515A true CN103024515A (zh) | 2013-04-03 |
Family
ID=47972568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105271388A Pending CN103024515A (zh) | 2012-12-10 | 2012-12-10 | 一种可外部导入描述子格式的码流分析方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024515A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648036A (zh) * | 2015-07-27 | 2017-05-10 | 冠捷投资有限公司 | 电子设备文字输入的方法 |
CN111084612A (zh) * | 2019-12-30 | 2020-05-01 | 中国人民解放军陆军军医大学第一附属医院 | 组合式医疗数据采集系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929604A (zh) * | 2006-09-21 | 2007-03-14 | 青岛有线宽带数字电视发展有限公司 | 描述符的通用插入播出方法 |
EP1798999A1 (fr) * | 2005-12-14 | 2007-06-20 | Sagem Communication | Methode de gestion du comportement d'une application interactive lors de la diffusion d'un programme selon la norme DVB-H |
CN101035246A (zh) * | 2006-03-07 | 2007-09-12 | 中国科学院声学研究所 | 双向业务触发方法和具有双向业务触发的数字电视系统 |
CN101472165A (zh) * | 2007-12-27 | 2009-07-01 | 康佳集团股份有限公司 | 自助码流分析方法 |
-
2012
- 2012-12-10 CN CN2012105271388A patent/CN103024515A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1798999A1 (fr) * | 2005-12-14 | 2007-06-20 | Sagem Communication | Methode de gestion du comportement d'une application interactive lors de la diffusion d'un programme selon la norme DVB-H |
CN101035246A (zh) * | 2006-03-07 | 2007-09-12 | 中国科学院声学研究所 | 双向业务触发方法和具有双向业务触发的数字电视系统 |
CN1929604A (zh) * | 2006-09-21 | 2007-03-14 | 青岛有线宽带数字电视发展有限公司 | 描述符的通用插入播出方法 |
CN101472165A (zh) * | 2007-12-27 | 2009-07-01 | 康佳集团股份有限公司 | 自助码流分析方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648036A (zh) * | 2015-07-27 | 2017-05-10 | 冠捷投资有限公司 | 电子设备文字输入的方法 |
CN111084612A (zh) * | 2019-12-30 | 2020-05-01 | 中国人民解放军陆军军医大学第一附属医院 | 组合式医疗数据采集系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101207699B (zh) | 一种机顶盒升级的方法 | |
CN100483391C (zh) | 由下至上递增地构建数据文件 | |
US7707154B2 (en) | Method and devices for encoding/decoding structured documents, particularly XML documents | |
CN102141916B (zh) | 嵌入式设备及其在osd界面显示语言文字的方法 | |
US20120317136A1 (en) | Systems and methods for domain-specific tokenization | |
CN102065234B (zh) | 基于分布式字幕处理系统的字幕制播方法及系统 | |
CN103428525A (zh) | 网络视频和电视节目的在线查询和播放控制方法及系统 | |
CN102073534B (zh) | 数据解析方法及装置 | |
EP3790284A1 (en) | Interactive video generation | |
US20130069806A1 (en) | Method and apparatus for encoding and decoding structured data | |
US8683320B2 (en) | Processing module, a device, and a method for processing of XML data | |
CN105512182A (zh) | 语音控制方法及智能电视 | |
CN103533415A (zh) | 基于声控式人机交互技术的互联网电视系统及其实现方法 | |
CN109600646B (zh) | 语音定位的方法及装置、智能电视、存储介质 | |
JP5536790B2 (ja) | コンディショナルプロセッシング方法及び装置 | |
US7512955B2 (en) | Method and system for accessing and implementing declarative applications used within digital multi-media broadcast | |
CN101909047B (zh) | 一种多媒体节目的获取方法及装置 | |
CN103744987A (zh) | 基于dom树匹配的视频网站媒资聚合方法和系统 | |
CN104639956A (zh) | 一种通过终端追踪电视节目并遥控数字电视的系统 | |
CN102118643A (zh) | 一种网络字幕播放系统及其播放方法 | |
CN103024515A (zh) | 一种可外部导入描述子格式的码流分析方法和系统 | |
CN103888790A (zh) | 一种epg适配系统及方法 | |
CN103581761A (zh) | 基于应用层智能电视股票看盘个人化语音播报装置与方法 | |
CN102065230B (zh) | 一种网络化的字幕制播系统 | |
Lukic et al. | A java API interface for the search of DTV services in embedded multimedia devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130403 |
|
RJ01 | Rejection of invention patent application after publication |