The Analyzer Window

The TS Analyzer gives you a deep insight in what is broadcasted on a transponder. The right side of the Analyzer Window lists all streams that are present, the corresponding PIDs, stream types, plus statistics like packet count and data rate. The tree view on the left side reflects the content of the broadcasted Service Information (SI) Tables The Analyzer evaluates them bit by bit and translates them into a readable structure, thus providing all available information about networks, transponders, services, bouquets, events etc.

PID List | Hex View | SI Table Tree | Introduction to SI Tables

The PID List

All streams on a transponder are multiplexed to one transport stream. Each stream within the transport stream is broadcasted as a series of data packets with a fixed size of 188 bytes, commencing with a four byte header, that contains a Packet Identifier (PID) – a number in the range from 0 to 8191. It indicates to which stream a packet belongs.

The PID List on the right side of the Analyzer Window shows all PIDs that are used on a transponder, plus the corresponding stream type, the stream's data rate and its percentage of the overall data rate. Encrypted streams are displayed in red. The „Missing“ column displays the number of missing data packets (each 188 bytes). They are detected by keeping track of the continuity counter in the TS packet header. Missing data packets are caused by bad reception, driver problems or overall transponder data rates exceeding the maximum data rate of a DVB device.

This part of the TS Analyzer offers the following possibilities:

The buttons below the PID List provide some more commands:

When the end of an analyzed TS file is reached, the Restart function additionally resets the read position to the beginning of the file. Reading the file again from the beginning can be forced by holding the Shift Key down while clicking the Restart Button.

CSV means „Comma Separated Values“. It is a text format that can be read by data base applications. However, the Analyzer does not use commas to separate the values resp, columns, but tab control characters (#9). Data base applications should be able to handle this as well. It enables displaying the list as a structured table in a text editor, provided the editor allows to set a sufficient tab size (e. g. 14 characters). Notepad does not, which makes the table look a bit orderless...

After a recording has been started, the button's caption changes to Stop Recording. On the right the Analyzer displays the recording time and the file size.

The „Select PIDs“ and „Add PIDs to Selection“ commands in the treeview context menu facilitate selecting PIDs that belong to a certain channel resp. service (see below).

A word about the overall data rate that is displayed at the lower right, and null packets. A DVB Transponder has a fixed data rate, and an unused portion must be stuffed somehow. This is done by inserting null packets with PID 8191 (0x1FFF). However, some DVB devices filter them out, so the Analyzer does not receive them. In this case the displayed overall data rate is not the transponder's true data rate, but just the sum of the listed streams. If null packets are displayed (as last stream in the list), the overall data rate is the measured data rate of the whole transponder.

contents | to the top | preceding chapter | next chapter

The Hex View Window

Sometimes it is necessary for developers and DVB professionals to inspect the raw content of a stream, as it is displayed in the Hex View Window. Open it by right-clicking the stream in the PID List and selecting „Hex View“ in the context menu.

The Hex View Window captures a number of data packets from the stream (188 bytes each), displays the bytes as hex numbers, and additionally on the right as ASCII characters, so you can see if there is readable text inside. Some data sections are marked with a background color:

The bottom panel elements have the following meaning:

If the „Wait for payload unit start“ checkbox is ticked, but the stream does not contain such a packet, the Hex View Window will display nothing, even after waiting some time. In this case change the settings and click „Apply“.

contents | to the top | preceding chapter | next chapter

The SI Table Tree

The TS Analyzer reads all Service Information (SI) Tables that are broadcasted on a transponder and displays them as a treeview on the left side. The tables contain tons of information about DVB networks, transponders, services, bouquets, events etc. DVB applications and receivers read at least parts of it, particularly when scanning, dynamically updating channels or collecting EPG data.

The SI tables are broadcasted as special binary streams, not as human-friendly textual information. They have to be translated in order to become readable, and that's what the TS Analyzer does for you. The „Introduction to SI Tables“ section explains important elements like PAT, PMT, NIT, SDT, EIT, ES and Descriptors. But let us first have a look at the functions that are available on the left side of the TS Analyzer:

These two functions are useful for selecting streams that shall be recorded as TS file. These commands are only available if a node represents a service or a stream (specifying a PID).The selection mechanism examines all parent and child nodes of the selected node – brothers, uncles, cousins etc. are not included – and checks if they specify a PID. If yes, it is added to the selection. The PAT node contains the most important information about services and streams. The Analyzer redirects a service node outside the PAT to the corresponding service entry within the PAT, when these functions are executed.

The XML format is a textual representation of a tree structure, or with other words, a text format that follows certain syntax rules, thus being readable for humans and robots . XML files can be opend with Notepad or a XML-capable browser like Internet Explorer. Please note: Saving the whole tree as XML may create such a large file, that it can not be digested by the Internet Explorer anymore, at least not without paralyzing your PC.

The area below the treeview provides shortcuts for the „Save as XML“ and „Preview“ functions, plus additional elements:

contents | to the top | preceding chapter | next chapter

Introduction to SI Tables

Now let's have a look at the different kind of data that is displayed in the treeview, and what can be found where.

The right side of the tree node's captions – after the hyphen – is not part of the original SI Table entries, but added by the Analyzer to make them comprehensible. Partly the descriptions originate from Analyzer tables, that translate values into names, partly from a special name-giver instance, that collects all IDs and names from the SI Tables (e.g. from Service Descriptors) and assigns them to each other.

The most important section is the PAT (Program Association Table). Its structure is quite simple. The first entry is a Transportstream ID, that allows to identify the transponder within the network (e. g. a satellite position), followed by a list of all services resp. channels that are broadcasting on the transponder. A Service ID is assigned to each service, that is unique within the transponder.

Each service entry contains a PMT PID. That is a kind of „link“ to another table, the PMT (Program Map Table) of the corresponding service. Though the PMTs are broadcasted in separate streams, the Analyzer puts them into the PAT section, in order to show which PMT belongs to which service.

The PMT basically lists all Elementary Streams (ES), that belong to a service resp. channel, and their corresponding PIDs. The list is usually seasoned with some Descriptors. That are sub-structures within SI tables, specifying properties of services, streams etc. in detail, for example the language of an audio stream, or the teletext initial page.

You will find scores of descriptors in the SI tables. The Analyzer decodes and translates most of them into text, except those, that are unknown to the internal translator yet, or that are user defined, which means, used by the broadcasters for „private“ purpose, without following official specifications. In this case the Analyzer displays the content as a number of hex bytes, and (sometimes) additionally as characters, so you can see if there is text hidden inside.

The CAT (Conditional Access Table) contains Conditional Access Descriptors, providing information about the encryption systems (e.g. Viaccess or Cryptoworks) that are used on the transponder, and the packet identifiers (PIDs) of the corresponding ECM/EMM streams. These “Entitlement Control Messages” and “Entitlement Management Messages” provide information about the authority a viewer has to acquire reception.

Another important section is the NIT (Network Information Table). It lists transport streams that are available in a network, e. g. a cable network, a terrestrial region, a satellite position, or a subdivision that is occupied by a certain provider. A transport stream is the sum of all streams that are broadcasted on a transponder. Within the network it is identified by its Transportstream ID.

The NIT also contains descriptors, of course. Linkage Descriptors point to services that provide additional information about the network and specify where they are located. Within the transport stream nodes there are Satellite / Cable / Terrestrial Delivery System Descriptors, providing technical information about the transponder, e. g. its frequency, symbol rate, modulation etc. TransEdit reads them, if you use the Update Function for updating a transponder list.

The amount of information in Network Information Tables varies. A DVB-T transponder may only provide a description of itself, due to the limited terrestrial data rate – saving bits and bytes is mandatory. On major satellite positions like Astra the NIT usually lists all active transponders. And even more: There may be an additional NIT present that refers to other networks. e. g. to Astra 23° East on Astra 19° East. In this case the Analyzer displays two separate entries: NIT – Actual Network for the actual network and NIT – Other Network for other networks.

The next one: SDT. Service Descriptor Table. Again a list of services, like the one in the PAT, but providing additional information. E. g. whether a service is running at the time (Running Status). Whether it only provides EPG information about the present and following broadcast (EIT Present-Following Flag) or a more comprehensive EPG for several days (EIT Schedule Flag). Whether one or more streams of the service are encrypted (Free CA mode is 1 in this case). And most important: Service Descriptors containing the service and provider names. Now you know why the TransEdit scanner must read the PAT, PMT and SDT. Without the SDT information found channels would only appear as „Service xxxx“.

Besides the SDT – Actual TS, the Analyzer may list a SDT – Other TS, that informs about services in other networks resp. on other transponders. The channels belonging to a provider may be spread over several transponders, or be present in more than one network. The whole collection is nicely called a Bouquet. The provider may use the SDT–Other sub-table to provide information about all its activities on each transponder.

That brings us to the next table: BAT. Bouquet Association Table. Besides Bouquet Name Descriptors you may find there Linkage Descriptors – links to other transponders, where parts of a bouquet are present – and a list of Transportstream IDs, denoting associated transponders. Each list entry may contain a Service List Descriptor, enumerating which services of the bouquet can be found in that transport stream. Quite nested, as you can see.

However, it can even get worse. The EIT (Event Information Table) is the most extensive DVB data collection. In order to make it more handy it is divided into four sub-tables:

After expanding a EIT – Actual TS node you will first see a list of services. Within each service entry, a list of events, identified by Event IDs. And within each event entry, besides the start time, duration and other status information, a lot of descriptors. The most important of them are Short Event Descriptors, containing the title and a short description of the broadcast, and Extended Event Descriptors, providing a long description – often spread over several of those descriptors, because a single descriptor can not contain more than 255 bytes. And, not to forget, Content Descriptors, informing you about the event type – e. g., movie, classical drama, soap or football transmission, in case you are not sure what it is supposed to be

And now things really get a bit complex. In EIT – Other TS tables the first level is a list of networks, identified by Network IDs. If you are lucky, only one entry. Within each network entry a list of Transportstream IDs. Within each transport stream entry a list of Service IDs. Within each service entry a list of Event IDs... well, we better stop here. Now you know why the Analyzer Tab in the Settings Window allows to exclude the EIT or parts of it. It may simply get too much for your poor old PC...

All times of day are presented by the Analyzer as they are broadcasted. That means, as UTC (Coordinated Universal Time) which is the same as the formerly used GMT (Greenwich Mean Time). For obtaining your local time of day you have to add or subtract a time offset, that depends on where you live and if daylight saving time is in effect. DVBViewer shows the time zone offset in the Options Window.

This also applies to the last two tables in our collection – luckily small ones. The TDT (Time Date Table) simply contains the current date and time as UTC. It is mandatory on DVB transponders. The update frequency depends on the broadcaster. The extended TOT (Time Offset Table) may additionally contain a Local Time Offset Descriptor, providing a list of countries (though only one entry may be present), and for each country the time offset, whether it must be added to the UTC (Local Time Offset Polarity = 0) or subtracted (= 1), the next time of change (when daylight saving time takes effect) and the resulting new time offset.

To conclude this excursion: This manual only shows the tip of the iceberg. It gives a rough overview, in order to assist your first steps into the interior DVB world. If you want to dig deeper, search the web – you will find tons of information about DVB.

Unfortunately the basic ISO/IEC 13818-1 specifications, describing PAT, PMT, CAT and the composition of a transport stream, are not available for free, in contrast to the ISO-based DVB specifications ETSI EN 300 468 that are easy to find in the internet. You will get a very professional, very technical PDF file, that will teach you everything you need to know about the remaining tables and descriptors.

contents | to the top | preceding chapter | next chapter