DVB SI中的Network ID

项目需要从DVB-T码流的SI中获取Original Network ID,Transport Stream ID,Service ID,以这三个ID唯一确定一个节目,目的只是显示该节目的台标。理论依据来自这个网页中的一句话:

Every service in a DVB network can be uniquely identified by three values. These values are the original network ID (the ID of the network that originally broadcast the service), the transport stream ID (to identify a particular transport stream from that network) and a service ID to identify a service within that transport stream.

大多数时候这个方法是有效的,可是有的地区DVB-T SI中没有Original Network ID和Transport Stream ID,譬如台湾。所有节目的这两个ID值均为0。 我们认为是内容运行商制作时的不规范,使得SI信息部分缺失,只提供了Service ID。 再后来我们发现,有的地区DVB-T SI中,Transport Stream ID不为0,但是Original Network ID为0。这带来一个疑问,0是不是有效的Network ID? 查DVB Service网站,对Network ID有如下解释。

A Network is defined as a “collection of MPEG 2 Transport Stream (TS) multiplexes transmitted on a single delivery system, e.g. All digital channels on a specific cable system.” In the specific case of a terrestrial network, a specific Network_ID is associated with each major transmission point. Network_IDs are unique within the geographical region defined by the “country_code”. For satellite networks, this is a region spanning many countries. For a cable network, this is a single country. For terrestrial networks, this is a single country also, but it’s important that two adjacent countries NOT have the same block of Network_IDs, hence the concept of colour coding.

这看上去就很清楚了。网页上还有一张表,表里指出:

0x0000是保留的ID 0x0001 to 0x2000给Satellite Networks 0x2001 to 0x3000给Terrestrial Networks

但是,从这个网页的“allocation table”标签页里看到(网站也提供了下载这张表),0x2000之前也有ID分配给了Terrestrial Network,譬如0x0090。 再看Original Network ID的解释。

An Original_Network_ID (ONID) is defined as the “unique identifier of a network”. Its main use is in the unique identification of a service through the path Original_Network_ID, Transport_Stream_ID. Originally linked to Network_IDs, ONIDs should mainly be used for network operators, broadcasters and content producers.

下载Original Network ID分配表,可以看出Original Network ID定义的是内容运行商。0x0000也是保留ID。

但是,从igorfuna网站看到,有一些DVB-T网络的Network ID也在0x2000之前,譬如意大利的Mediaset,Original Network ID是0x0110,Network ID也是0x0110。这是怎么回事?

在西班牙的马德里,有一些节目的Transport Stream ID是0x1458,Original Network ID是0x0163,表里查不到这个ID值。这又是怎么回事?

还是在马德里,另一些节目的Transport Stream ID是0x3138,Original Network ID是0x0000,这是偷懒偷一半么?

posted on 2013-02-07 11:28  LoveIsBug  阅读(729)  评论(0编辑  收藏  举报

导航