1.为什么DVB-SI中的EIT 的section number值有的大多数<1,应该由什么决定? 1.1 EIT basic:
EIT (Event Information Table)
事件信息表用来传递当前的,将来的甚至
更远的未来的事件的信息。表示的是当前节目这个时间端的当前或者后续节目的描述(起始时间、持续时间、事件的简单描述)。
每个Service都有自己独立的EIT子表。因为一个service表示一个台的节目。用event把service划分成很多的时间段,每个单独的event可以用一个event_id去描述。
【hsy75案】在看了这么多EIT介绍后,感觉最重要的还是标准: EN300468,要去看看:
里面写的很清楚了:
1) actual TS, present/following event information = table_id = "0x4E";
2) other TS, present/following event information = table_id = "0x4F";
3) actual TS, event schedule information = table_id = "0x50" to "0x5F";
4) other TS, event schedule information = table_id = "0x60" to "0x6F".
从这个标准的描述看,显然EIT是分成
两大类的,然后再看一些网上介绍就很清楚了
一个是 present/following event information
一个是event schedule information
例如:19:00---19:30的新闻联播节目就可以作为一个event去描述。当前的事件都可以有当前/后续描述。
首先
present/following event information table_id=0x4e或0x4F,
表示这是一个现行或其他传送流的当前/后续事件信息。
section_number=0,表示是当前节目信息,section_number=1,表示是后续节目信息。
当事件发生变化时,version_number加1,表示当前/后续节目描述也发生了变化。
比如:
19:00----19:30 新闻联播 version_number=1 event_id=0x01
19:31----20:00 动画片 version_number=2 event_id=0x02
【hsy75案】所以,在这种事件下,section number 显然是<1的
其次:
event schedule information 当table_id=0x50-----0x5F,表示是现行传送流的节目表
当table_id=0x60-----0x6F,表示是其他传送流的节目表
这里要注意的是每个segment最多可以有8个section。一个segment最多可以持续3个小时,而并没有规定一个section的时间。
当一个segment不足8个section时,采用了标识segment_last_section_number的方式(看其他文档),
而每个section又可以有多个event_id,即可把时间段分成任意多个事件来描述。
【hsy75案】所以,在这种事件下,section number 显然>=1的,那么为什么也会出现=1 比较多的情况呢?
好,我们知道EIT 的 event schedule模式中
每个segment对应的
section num是固定的,第N(N大于等于0,小于...干这行的地球人都知道)个segment对应
section num为8N~8N+7的这几个section。
且规范中规定每个
segment 只大可以负责3个小时的节目,当然,大多出比3小时要少,好吧,那么我们知道EIT的用处
中国电我们知道一个segment 只含小于3小时信息,也就是在3个小时内,而三个小时往往只会发生很少的事件。
所以说大多数情况下一个segment中只需要一个 section就够用了,所以那个segment last section num 自然也是1了,因为只有一个section.
那么,一个最大的segment,对应的节目就是3*8 = 24hour.也就是一个section 最大对应一天的节目
咱们可以来算算,一个table中是32个segment 也就是负责32X3=96个小时,也就是4天的内容,那一个礼拜的节目只要table 0x50 0x51两个表就够用了。
ref:
.1
http://dvbmx.blog.sohu.com/.2 EIT
4.1 EIT Present/Following 信息(一下简称EIT P/F)
I${c cd*Dp51552
下列规则简化了EIT P/F信息的获得。SI规范规定EIT段最大部超过4096字节。中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客3SK;P)wS0p
SI 流中的每个Service都有两段来描述EIT Present/Following,section_number
0x00用来描述当前事件,section_number
0x01描述下一个事件。这些约束不适用于NVOD(准视频点播)引用的Service,这些Service在每段中可能有多个事件描述,并且在EIT
Present/Following中可能有更多的段。推荐提供事件描述event_id的升序排列。
hF`{R!C51552
在一个section中,SI可以用最多4096个字节来描述一个单独的事件。中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客H&U.G]f'Q!fgku
对于当前事件有如下规定:中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客SaC5z)Jp
a、同一时刻最多只有一个当前事件。中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客'sebG8~iW
pl
b、当存在一个当前事件时,该事件应当被描述在EIT Present/Following的section0中。
]$N2I@1O3y!^_51552
c、当前事件中的running_status应当被给出。
K5F8N
W3JH;a51552e、在同一时刻,最多有一个following event。
I-{*o&ze:u!dZv(L51552
f、如果following event存在,该事件应当在EIT Present/Following的section1中。中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客2Y7y(VdD~C
g、如果following event不存在,则传输一个section1为空的EIT Present/Following。
cQ#M9y6P6D$A51552
h、following event的running_status应当给出,如下表:
事件的持续时间和EIT持续时间一样,必须包含事件被置为“not running”或者“pausing”。事件的开始时间和EIT start_time一样,应当是整个事件的开始时间,而不是从pause恢复后的时间。中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客n?
hM Uc?5A
注 意:一个事件的开始时间加上它的持续时间可能比following
event的开始时间要小。换句话说,允许事件之间有间隔。在这种情况下,following
event被看作是间隔后的事件。这个事件应当编在EIT Present/Following的section1中。
Kf#{3k
J51552
注意:开始时间和持续时间都是预定的。一些广播服务提供商可能会更新这些信息。而另一些则更愿意保持开始时间不变。例如为了避免名为“8点新闻”的事件被误解,把信息中的开始时间从8:01:23改为8:00:00。
4.2 EIT Schedule信息中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客Sbn4o p!rC
1)EIT Schedule结构
-@5P|h,|/G51552
遵从如下规则:
Xp)[L'm5|2c%S51552
a、EIT/Schedule分配了16个table_id,0x50-0x5F给当前TS,0x60-0x6F给其它TS,这些id按照时间顺序排列;中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客8y9@
s@ ^0QRi1LW
b、子表下的256个section被分为32段(segment),每8个section一个段(segment)。Segment#1,从section0到7,segment#2,从section8到15,等等;中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客+T{be
v!x
c、每段包含三个小时内开始的事件信息;中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客
J+Jud*QM
d、段内事件信息按照时间排列;中国电子顶级开发网----最专业的电子论坛、最专业的电子工程师博客n8^7g