Das Analyzer-Fenster

Der TS Analyzer ermöglicht einen tiefen Einblick in das, was auf einem Transponder gesendet wird. Auf der rechten Seite listet der Analyzer alle vorhandenen Streams auf, die dazugehörigen PIDs, Stream-Typen, plus statistische Angaben wie eine Paketzählung und die Datenrate. Die Baumansicht auf der linken Seite spiegelt den Inhalt der gesendeten SI-Tabellen (Service Information) wieder. Der Analyzer wertet sie Bit für Bit aus, übersetzt sie in eine lesbare Struktur und bietet damit alle erhältlichen Informationen über DVB-Netzwerke, Transponder, Services, Bouquets, Sendungen usw.

PID-Liste | Hex View | SI-Tabellen | Einführung in SI Tabellen



Die PID-Liste

Alle Streams eines Transponders werden zu einem gemeinsamen Transportstream gemultiplext. Jeder Stream innerhalb des Transportstreams wird als eine Folge von Datenpaketen mit einer konstanten Größe von 188 Bytes gesendet, die mit einem vier Byte großen Header beginnen. Er enthält einen Packet Identifier (PID) - eine Zahl im Bereich von 0 bis 8191, die angibt, zu welchem Stream das Paket gehört.

Die PID-Liste auf der rechten Seite des Analyzer-Fensters zeigt alle auf dem Transponder benutzten PIDs, und dazu den Streamtyp, die Datenrate des Streams und den prozentualen Anteil an der Gesamtdatenrate. Verschlüsselte Streams werden rot dargestellt. Die Spalte „Missing“ gibt die Anzahl fehlender Datenpakete (jeweils 188 Bytes) an, die der Analyzer auf Basis des Continuity Counters im TS Paketheader ermittelt. Fehlende Datenpakete werden durch schlechten Empfang, Treiberprobleme oder Gesamtdatenraten verursacht, die die maximale Datenrate eines DVB-Geräts übersteigen.

Dieser Teil des Analyzers bietet die folgenden Möglichkeiten:

Die Schaltflächen unterhalb der PID-Liste bieten zusätzliche Kommandos:

Wenn das Ende einer analysierten TS-Datei erreicht ist, setzt die Restart-Funktion zusätzlich die Leseposition an den Anfang der Datei zurück. Das erneute Lesen einer Datei von Beginn an können Sie erzwingen, indem sie die Umschalt-Taste gedrückt halten, während sie auf den Restart-Button klicken.

CSV bedeutet „Comma Separated Values“ (durch Komma getrennte Werte). Es handelt sich um ein Textformat, das von Datenbankprogrammen verarbeitet werden kann. Der Analyzer verwendet jedoch keine Kommas, sondern Tab-Steuerzeichen (#9), um die Spalten voneinander abzugrenzen. Datenbankprogramme sollten damit ebenfalls zurechtkommen. Es ermöglicht, die Liste in strukturierter Form in einem Texteditor anzuzeigen, vorausgesetzt, er erlaubt die Einstellung einer ausreichenden Tab-Breite (z.B. 14 Zeichen). Bei Notepad ist das nicht der Fall, wodurch die Liste etwas unordentlich aussieht.

Nachdem die Aufnahme gestartet wurde, ändert sich die Beschriftung der Schaltfläche in Stop Recording. Auf der rechten Seite zeigt der Analyzer die Aufnahmezeit und die Dateigröße an.

Die Befehle „Select PIDs“ und „Add PIDs to Selection“ im Kontextmenü der Baumansicht ermöglichen eine bequeme Auswahl der zu einem bestimmten Sender bzw. Service gehörenden PIDs (siehe unten).

Ein paar Worte zu der Gesamtdatenrate, die unten rechts angezeigt wird, und Null-Paketen. Ein DVB-Transponder hat eine festgelegte Datenrate, und ungenutzte Teile davon müssen irgendwie gefüllt werden. Dies geschieht durch das Einfügen von Null-Paketen mit der PID 8191 (0x1FFF). Einige DVB-Geräte filtern sie jedoch heraus, so dass der Analyzer sie nicht empfängt. In diesem Fall ist die angezeigte Gesamtdatenrate nicht die wahre Datenrate des Transponders, sondern nur die Summe der Datenraten der angezeigten Streams. Wenn Null-Pakete jedoch mit aufgeführt werden (als letzter Stream in der Liste), ist die angezeigte Gesamtdatenrate die gemessene tatsächliche Datenrate des gesamten Transponders.

TransEdit aktiviert explizit einen Hardware-Filter für Null-Pakete in TechniSat SkyStar2 / SkyStar S2-Karten, um Problemen mit der maximalen Transferrate vorzubeugen. Insbesondere ältere SkyStar2-Hardware-Revisionen sind nicht in der Lage, die volle Datenrate eines DVB-S-Transponders zu bewältigen und liefern in diesem Fall einen fehlerhaften Stream. Es gibt jedoch eine Möglichkeit, diesen Hardware-Filter abzuschalten. Öffnen Sie dazu die Datei TransEdit.ini mit einem Texteditor. Suchen Sie die Sektion, die mit [frmSettings] beginnt, und fügen Sie in dieser Sektion die zusätzliche Zeile

NullPacketFilter=0

ein, die den Filter für Null-Pakete deaktiviert (nur für TechniSat SkyStar2 / SkyStar S2).

Inhalt | an den Anfang | vorheriges Kapitel | nächstes Kapitel



Das Hex View-Fenster

Manchmal ist es für Entwickler und Leute, die sich professionell mit DVB beschäftigen, erforderlich, den „rohen“ Inhalt eines Streams zu inspizieren, so wie er im Hex View-Fenster dargestellt wird. Sie öffnen es durch einen Rechtsklick auf den Stream und Anwahl des Befehls „Hex View“ im Kontextmenü.

Das Hex View-Fenster entnimmt dem Stream eine Anzahl Datenpakete (jedes umfasst 188 Bytes), stellt die Bytes als Hexadezimalzahlen dar und zusätzlich auf der rechten Seite als ASCII-Zeichen, so dass Sie sehen können, ob lesbarer Text enthalten ist. Einige Daten-Abschnitte sind mit einer Hintergrundfarbe markiert:

Die Elemente im Bedienfeld am unteren Rand haben folgende Bedeutung:

Wenn die Option „Wait for payload unit start“ aktiviert ist, aber der Stream kein solches Paket enthält, wird das Hex View-Fenster nichts anzeigen, selbst wenn Sie einige Zeit warten. Ändern Sie in diesem Fall die Einstellung und klicken Sie auf „Apply“.

Inhalt | an den Anfang | vorheriges Kapitel | nächstes Kapitel



SI-Tabellen

Der TS Analyzer liest alle SI-Tabellen (Service Information Tables), die auf einem Transponder gesendet werden, und zeigt sie in einer Baumansicht auf der linken Seite an. Die Tabellen enthalten Massen an Informationen über DVB-Netzwerke, Transponder, Kanäle bzw. Services, Bouquets, Sendungen (Events) usw. DVB-Anwendungen und DVB-Receiver lesen zumindest einen Teil davon, insbesondere beim Scannen und automatischen Update von Sendern, oder wenn sie EPG-Daten einsammeln.

Die SI-Tabellen werden als spezielle binäre Streams gesendet, nicht als für Menschen geeigneter Text. Erst durch eine Art Übersetzung werden sie lesbar, und das ist die Arbeit, die der Analyzer übernimmt. Der Abschnitt „Einführung in SI-Tabellen“ erklärt die wichtigsten Elemente wie PAT, PMT, NIT, SDT, EIT, ES und Deskriptoren. Im folgenden erfahren Sie zunächst, welche Funktionen auf der linken Seite des Analyzer-Fensters zur Verfügung stehen.

Diese beiden Funktion sind nützlich, um Streams auszuwählen, die in eine TS-Datei aufgenommen werden sollen. Die Befehle sind nur verfügbar, wenn ein Eintrag der Baumansicht einen Service oder einen Stream bzw. eine PID repräsentiert. Der Selektionsmechanismus untersucht alle dem selektierten Eintrag über- und untergeordnete Einträge (also Eltern und Kinder, aber keine Brüder, Onkel, Neffen usw.) und überprüft, ob sie eine PID angeben. Falls ja, wird sie der Auswahl von Streams hinzugefügt. Der PAT-Eintrag enthält die wichtigsten Informationen über Services und Streams. Falls Sie die Befehle auf einen Service-Eintrag außerhalb der PAT anwenden, wird dies intern auf den entsprechenden Service-Eintrag innerhalb der PAT umgelenkt.

Das XML-Format ist die Textausgabe einer Baumstruktur, oder mit anderen Worten, ein Textformat, das einer bestimmten Syntax folgt, und damit für Menschen und Roboter . gleichermaßen lesbar ist. XML-Dateien können mit einem Texteditor wie Notepad oder einem XML-fähigen Browser wie dem Internet Explorer geöffnet werden. Bitte beachten: Ein Speichern der gesamten Baumansicht kann eine so große XML-Datei erzeugen, dass sie für den Internet Explorer nicht mehr verdaulich ist, zumindest nicht, ohne den PC dabei lahmzulegen.

Der Bereich unterhalb der Baumansicht bietet neben schnellen Zugiffsmöglichkeiten für die Befehle „Save as XML“ und „Preview“ zusätzliche Funktionen::

Inhalt | an den Anfang | vorheriges Kapitel | nächstes Kapitel



Einführung in SI-Tabellen

Nun ein genauerer Blick auf die Daten, die in der Baumansicht auf der linken Seite angezeigt werden.

Die rechte Seite der Einträge – nach dem Bindestrich – ist nicht Teil der ursprünglichen SI-Tabelleneinträge, sondern wird vom Analyzer hinzugefügt, um sie verständlich zu machen. Teilweise entstammen die Beschreibungen internen Analyzer-Tabellen, die numerische Werte in Namen übersetzen, teilweise von einer speziellen Namensgeber-Instanz, die alle IDs und Namen aus den SI-Tabellen (z.B. aus Service-Deskriptoren) einsammelt und einander zuweist.

Der wichtigste Abschnitt ist die PAT (Program Association Table). Ihre Struktur ist ziemlich simpel. Der erste Eintrag ist eine Transportstream ID, die die Identifikation eines Transponders innerhalb eines DVB-Netzwerkes (z.B. einer Satellitenposition) ermöglicht, gefolgt von einer Liste der Services bzw. Sender, die auf dem Transponder übertragen werden. Jedem Service ist eine Service ID zugeordnet, die ihn innerhalb des Transponders eindeutig identifiziert.

Jeder Service-Eintrag enthält eine PMT PID. Das ist eine Art „Link“ zu einer weiteren Tabelle, der PMT (Program Map Table) des jeweiligen Service. Obwohl die PMTs in separaten Streams gesendet werden, ordnet sie der Analyzer in die PAT ein, um deutlich zu machen, welche PMT zu welchem Service gehört.

Eine PMT zählt alle Elementary Streams (ES) auf, die zu einem Service bzw. Sender gehören, und die dazugehörigen Packet Identifier (PIDs). Die Liste ist im allgemeinen zusätzlich mit einigen Deskriptoren gewürzt. Das sind Unterstrukturen in den SI-Tabellen, die detailliert die Eigenschaften von Services, Streams usw. angeben, z.B. die Sprache eines Audiostreams oder die Teletext-Startseite.

Sie werden Massen von Deskriptoren in den SI-Tabellen finden. Der Analyzer dekodiert und übersetzt die meisten davon in in eine lesbare Form, mit Ausnahme der Deskriptoren, die dem internen Übersetzer noch unbekannt sind, oder die von den Anbietern für „private“ Zwecke verwendet werden, ohne irgendwelchen offiziellen Spezifikationen zu folgen. In diesem Fall zeigt der Analyzer den Inhalt als eine Folge von hexadezimalen Bytes an, und (manchmal) zusätzlich als Zeichenfolge, damit Sie sehen können, ob lesbarer Text darin versteckt ist.

Die CAT (Conditional Access Table) enthält Conditional Access Deskriptoren, die Informationen über die auf dem Transponder verwendeten Verschlüsselungssysteme bieten, mitsamt den PIDs der dazugehörigen ECM/EMM-Streams. Diese “Entitlement Control Messages” und “Entitlement Management Messages” sind verschlüsselte Daten, die bestimmen, unter welchen Bedingungen einem Zuschauer Zugriff auf verschlüsselte Sender erlaubt ist.

Eine weitere wichtige Tabelle ist die NIT (Network Information Table). Sie zählt Transponder auf, die in einem DVB-Netzwerk verfügbar sind, z.B. in einem Kabel-Netzwerk, in einer DVB-T-Region, auf einer Satellitenposition oder in einem Teil davon, der von einem bestimmten Anbieter verwendet wird. Die Summe aller Streams, die auf einem Transponder gesendet werden, ist der Transportstrom (Transport Stream). Innerhalb des DVB-Netzwerkes wird er durch die Transportstream ID identifiziert.

Die NIT enthält natürlich auch Deskriptoren. Linkage Deskriptoren verweisen auf Services die zusätzliche Informationen über das DVB-Netzwerk bieten und geben an, wo sie zu finden sind. Innerhalb der Transportstream-Einträge gibt es Satellite / Cable / Terrestrial Delivery System Deskriptoren, die technische Informationen über den Transponder enthalten, z.B. seine Frequenz, Symbolrate, Modulation usw. TransEdit liest sie, wenn Sie die Update-Funktion für die Aktualisierung einer Transponderliste benutzen.

Der Umfang der Informationen in der NIT fällt verschieden aus. Ein DVB-T-Transponder wird womöglich nur eine Beschreibung seiner selbst bieten, wegen der begrenzten DVB-T-Bandbreite – hier werden Bits und Bytes gespart, wo es nur geht. Auf größeren Satellitenpositionen wie Astra zählt die NIT meistens alle aktiven Transponder auf. Und noch mehr: Oft erscheint eine zusätzliche NIT, die sich auf andere DVB-Netzwerke bezieht, z.B. auf Astra 19° Ost Informationen zu Astra 23° Ost liefert. In diesem Fall stellt der Analyzer zwei separate Einträge dar: NIT – Actual Network für das aktuelle DVB-Netzwerk und NIT – Other Network für andere DVB-Netzwerke.

Die nächste: SDT. Service Descriptor Table. Wieder eine Liste von Services, wie diejenige in der PAT, aber mit zusätzlichen Informationen. Z.B. ob ein Service zur Zeit gerade läuft (Running Status). Ob er nur EPG-Informationen für die momentane und die nachfolgende Sendung bietet (EIT Present-Following Flag) oder einen ausführlicheren EPG für mehrere Tage (EIT Schedule Flag). Ob einer oder mehrere Streams des Service verschlüsselt sind (Free CA Mode). Und am wichtigsten: Service Deskriptoren, die den Namen des Service und des Anbieters enthalten. Nun wissen Sie, warum der TransEdit-Scanner PAT, PMT und SDT lesen muss. Ohne SDT würden gefundene Sender nur als „Service xxxx“ erscheinen.

Neben der SDT – Actual TS zeigt der Analyzer womöglich noch eine SDT – Other TS an, die über Services in anderen Transportströmen und DVB-Netzwerken informiert. Die Sender, die zu einem Anbieter gehören, sind eventuell über mehrere Transponder verteilt, oder auch in anderen DVB-Netzwerken präsent. In ihrer Gesamtheit werden sie Bouquet (Blumenstrauß) genannt. Ein Anbieter kann die SDT – Other-Untertabelle verwenden, um auf jedem Transponder über alle seine Aktivitäten zu informieren.

Das bringt uns zur nächsten Tabelle: BAT. Bouquet Association Table. Neben Bouquet Name Deskriptoren werden Sie dort vielleicht wieder Linkage Deskriptoren finden – Links zu anderen Transpondern, auf denen weitere Teile des Bouquets zu finden sind – und eine Liste von Transportstream IDs, die dem Bouquet zugeordnete Transponder bezeichnen. Jeder Transportstream-Listeneintrag kann einen Service List Deskriptor enthalten, der aufzählt, welche Services des Bouquets in dem betreffenden Transportstream vorhanden sind. Also ganz schön verschachtelt, die Angelegenheit.

Aber es kann durchaus noch schlimmer kommen. Die umfangreichste DVB-Datensammlung ist häufig die EIT (Event Information Table). Um sie etwas handlicher zu machen, ist sie von vornherein in vier Teile gegliedert:

Wenn Sie eine EIT - Actual TS aufklappen, werden Sie darin als erstes eine Liste von Services sehen. In jedem Service-Eintrag eine Liste von Events (Sendungen), jeder durch eine Event ID identifiziert. Und in jedem Event-Eintrag, neben der Startzeit, Dauer und anderen Statusinformationen, jede Menge Deskriptoren. Die wichtigsten von ihnen sind Short Event Deskriptoren, die den Titel und eine Kurzbeschreibung der Sendung enthalten, sowie optionale Extended Event Deskriptoren mit einer langen Beschreibung – oft über mehrere solcher Deskriptoren verteilt, da ein einzelner maximal 255 Bytes Daten enthalten kann. Und nicht zu vergessen: Content Deskriptoren, die die Art des Inhalts angeben – z.B. Krimi, klassisches Drama, Seifenoper oder Fußballübertragung, falls Sie sich nicht sicher sind, was es genau darstellen soll

Richtig kompliziert wird es dann bei einer EIT – Other TS. Denn in dieser EPG-Tabelle ist die erste Ebene eine Liste von DVB-Netzwerken, identifiziert durch ihre Network ID. Wenn Sie Glück haben, nur ein Eintrag. In jedem Netzwerk-Eintrag eine Liste von Transportstream IDs. In jedem Transportstream-Eintrag eine Liste von Service IDs. In jedem Service-Eintrag eine Liste von Event IDs... und an dieser Stelle hören wir besser auf. Nun wissen Sie, warum es die Analyzer-Registerkarte im Settings-Fenster ermöglicht, die EIT oder Teile davon auszuschließen. Es kann für Ihren armen alten PC einfach zu viel werden...

Der Analyzer gibt alle Uhrzeiten so an, wie sie gesendet werden. Das bedeutet als UTC (Coordinated Universal Time), die im wesentlichen mit der früher verwendeten GMT (Greenwich Mean Time) übereinstimmt. Um Ihre lokale Zeit zu erhalten, müssen Sie einen Zeitoffset addieren oder abziehen, der davon abhängt, wo Sie leben und ob die Sommerzeit gültig ist (in Deutschland plus 2 Stunden während der Sommerzeit, ansonsten plus eine Stunde). Der DVBViewer zeigt den für die Zeitzone gültigen Offset in den Optionen an.

Dies trifft auch auf die letzten beiden Elemente in unserer Sammlung zu – glücklicherweise nicht so umfangreiche. Die TDT (Time Date Table) enthält einfach das aktuelle Datum und die Uhrzeit. Sie ist Pflicht auf DVB-Transpondern. Wie häufig sie aktualisiert wird, hängt vom Anbieter ab. Die erweiterte TOT (Time Offset Table) kann zusätzlich einen Local Time Offset Deskriptor enthalten, und dieser wiederum eine Liste von Ländern (die womöglich nur aus einem Eintrag besteht) . Sie gibt für jedes Land den Zeitoffset an, ob er zu der UTC addiert (Local Time Offset Polarity = 0) oder subtrahiert (= 1) werden muss, dazu den nächsten Zeitpunkt der Umschaltung zwischen Sommer- und Winterzeit und den resultierenden neuen Offset.

Um diesen Ausflug abzuschließen: Diese Anleitung zeigt nur die Spitze des Eisberges. Sie gibt einen groben Überblick, um Ihnen bei den ersten Schritten ins Innere der DVB-Welt zu helfen. Falls Sie tiefer graben wollen, suchen Sie im Internet – Sie werden dort Unmengen an Informationen über DVB finden.

Leider sind die grundlegenden ISO/IEC 13818-1Spezifikationen, die PAT, PMT, CAT und die Zusammensetzung eines Transportstreams beschreiben, nicht frei erhältlich, im Gegensatz zu den darauf aufbauenden DVB-Spezifikationen ETSI EN 300 468, die leicht im Internet zu finden sind. Es handelt sich um eine sehr professionelle und sehr technische PDF-Datei, die alles enthält, was es über die verbleibenden Tabellen und Deskriptoren zu wissen gibt.

Inhalt | an den Anfang | vorheriges Kapitel | nächstes Kapitel