DVB-C-Multiplexing
Warum das wichtig ist
Section titled “Warum das wichtig ist”Ein Hotel, eine Klinikstation oder ein Pflegeheim neu zu verkabeln, ist das Teuerste, was man in einer Sanierungsbesprechung vorschlagen kann. Es bedeutet, Böden aufzunehmen, Wände zu schlitzen, Zimmer zu schließen und Einnahmen zu verlieren, solange die Arbeiten dauern. Sehr oft kommt der Vorschlag nicht, weil die vorhandene Infrastruktur unzureichend wäre, sondern weil das neue System nicht mit ihr zusammenarbeitet.
Das Koaxialnetz ist in fast jedem Gebäude dieser Art bereits vorhanden und reicht bereits in jedes Zimmer. Jeder Fernseher, der in den letzten rund fünfzehn Jahren gebaut wurde, hat einen DVB-C-Tuner eingebaut. Die Sender aufs Koaxialkabel zu bringen bedeutet, dass der Bestand so funktioniert, wie er ist: kein Gerät pro Zimmer, das gekauft, mit Strom versorgt, montiert, aktualisiert oder ersetzt werden muss, wenn ein Gast damit verschwindet, und keine Abhängigkeit vom WLAN, über das sich dieselben Gäste ohnehin schon beschweren.
Der Kompromiss: Ein Rundfunkträger ist eine gemeinsam genutzte Leitung mit fester Kapazität. Alles Weitere auf dieser Seite folgt daraus.
Hardware
Section titled “Hardware”Eine unterstützte DVB-C-Modulatorkarte in einem PCIe-Steckplatz des Geräts. Die Karte übernimmt die Modulation; Castmux erzeugt den gemultiplexten Transportstrom und konfiguriert den Träger.
Entwickelt und vermessen wurde mit TBS-Karten; die Referenzhardware ist die TBS 5862. Die Programmierung der Karte läuft über das Herstellerwerkzeug und die Device-Nodes, die es erwartet; eine Karte eines anderen Herstellers ist daher keine bloße Konfigurationsänderung — sprechen Sie vor dem Kauf mit uns.
| Parameter | Bereich |
|---|---|
| Frequenz | Etwa 47–1002 MHz, deckt die VHF- und UHF-Kabelbänder ab. |
| Konstellation | QAM 16, 32, 64, 128 oder 256. |
| Symbolrate | Etwa 1.0–7.14 MS/s. |
Mehrere Karten oder mehrere Ausgänge bedeuten mehrere Multiplexe. Ein Modulator-Device steuert einen Multiplex; siehe Einschränkungen.
Kapazitätsrechnung
Section titled “Kapazitätsrechnung”Ein DVB-C-Träger hat eine feste Nettobitrate, die ausschließlich von Symbolrate und Konstellation bestimmt wird:
# Net transport-stream bitrate of a DVB-C carriernet = symbol_rate × log2(QAM) × 188/204Der Term 188/204 ist der äußere Reed-Solomon-Code: Jedes 188-Byte-Transportpaket wird auf der Leitung als 204 Byte übertragen, sodass etwa 7.8% der Rohkapazität auf die Vorwärtsfehlerkorrektur entfallen und nicht für Video zur Verfügung stehen.
Nettobitrate in Mbps für die Kombinationen, die Sie am wahrscheinlichsten verwenden:
| Symbolrate | QAM 16 | QAM 64 | QAM 128 | QAM 256 |
|---|---|---|---|---|
| 5.000 MS/s | 18.4 | 27.6 | 32.3 | 36.9 |
| 6.111 MS/s | 22.5 | 33.8 | 39.4 | 45.1 |
| 6.875 MS/s | 25.3 | 38.0 | 44.3 | 50.7 |
| 6.900 MS/s | 25.4 | 38.1 | 44.5 | 50.9 |
| 6.952 MS/s | 25.6 | 38.4 | 44.8 | 51.3 |
Die beiden üblichen Arbeitspunkte sind 6.9 MS/s bei QAM64 mit etwa 38 Mbps und 6.9 MS/s bei QAM256 mit etwa 50.9 Mbps. Eine höhere Konstellation erkauft Kapazität auf Kosten des Störabstands: QAM256 braucht ein saubereres Netz als QAM64, und bei altem Koaxialkabel mit korrodierten Steckern und passiven Verteilern ist dieser Abstand womöglich nicht vorhanden. Zeigen Fernseher am Ende eines Strangs zeitweise Blockbildung, senken Sie die Konstellation, bevor Sie die Quelle verdächtigen.
Füllen Sie einen Multiplex nicht bis zur Grenze
Section titled “Füllen Sie einen Multiplex nicht bis zur Grenze”Die obige Rechnung ergibt eine theoretische Obergrenze. Wer bis dorthin plant, bekommt einen Multiplex, der genau dann aufbricht, wenn es darauf ankommt.
Castmux transkodiert nicht, jeder Dienst belegt also genau die Bitrate, die seine Quelle gerade erzeugt — und Quellen der hier üblichen Art haben eine variable Bitrate. Ein als „7 Mbps HD“ beschriebener Sender nennt einen Durchschnitt. Bei einer ruhigen Studioeinstellung liegt er vielleicht bei 3 Mbps; bei einem Schwenk über eine Menschenmenge, Konfetti, einem Fußballfeld oder einer Actionszene kann er über 10 steigen. Dass mehrere Sender gleichzeitig Spitzen haben, ist nicht unwahrscheinlich — um 20 Uhr ist es nahezu garantiert.
Übersteigt die Summe der Dienste die Kapazität des Trägers, kann der Multiplexer den Überschuss nirgendwo unterbringen, und Pakete werden verworfen. Der Schaden bleibt nicht auf den Sender beschränkt, der zu viel liefert: Was verworfen wird, stammt aus dem Gesamtstrom, sodass ein einziger gieriger Dienst das Bild aller Dienste im Multiplex gleichzeitig verschlechtert.
Einen Multiplex einrichten
Section titled “Einen Multiplex einrichten”Ein Multiplex wird durch eine Frequenz und die Parameter seines Trägers definiert. Legen Sie einen an und füllen Sie aus:
| Feld | Hinweise |
|---|---|
| Frequency | Wählen Sie aus den UHF- und VHF-Kanalvorgaben, oder geben Sie eine Frequenz direkt ein. Die Vorgaben gibt es, weil die meisten Installationen ihre Träger auf Standardpositionen des Kabelkanalrasters legen und der automatische Suchlauf eines Fernsehers diese schneller findet. |
| Constellation | QAM 16, 32, 64, 128 oder 256. Siehe Kapazität. |
| Symbol rate | Innerhalb des Bereichs der Karte, etwa 1.0–7.14 MS/s. |
| Modulator device | Wird automatisch erkannt. Bereits einem anderen Multiplex zugewiesene Devices erscheinen nicht in der Liste, weil ein Device nur einen Multiplex tragen kann. |
| Network name | Wird in der NIT übertragen und von manchen Fernsehern beim Suchlauf angezeigt. Der Name des Hauses ist eine vernünftige Wahl. |
| Network ID | Kennzeichnet das Netz als Ganzes. Verwenden Sie für alle Multiplexe in einem Gebäude denselben Wert. |
| Transport stream ID | Kennzeichnet diesen Multiplex innerhalb des Netzes. Muss sich zwischen den Multiplexen unterscheiden. |
Sender zuweisen
Section titled “Sender zuweisen”Sender, die in Castmux existieren, erscheinen in einem Pool verfügbarer Sender. Ziehen Sie einen auf eine Multiplex-Karte, um ihn hinzuzufügen, und ziehen Sie innerhalb der Karte, um die Reihenfolge zu ändern.
Die Reihenfolge ist keine Kosmetik. Die Position eines Senders im Multiplex ist sein Slot, und der Slot bestimmt sowohl den PID-Block, den der Dienst erhält, als auch seine Service-ID.
Wie PIDs festgelegt werden
Section titled “Wie PIDs festgelegt werden”Jeder Elementarstrom in einem Transportstrom braucht eine eindeutige Paketkennung (PID), und zwei Dienste mit derselben PID ergeben einen defekten Multiplex.
Castmux trifft keine Annahmen darüber, was ein Sender enthält. Bevor der Multiplex aufgebaut wird, untersucht es die eigene Multicast-Ausgabe des Senders und liest aus, welche Elementarströme er tatsächlich trägt — Video, jede Audiospur, Untertitelströme, Videotext. Ein festes Layout anzunehmen wäre einfacher und ständig falsch: Quellen unterscheiden sich darin, wie viele Audiospuren sie tragen, ob Untertitel vorhanden sind und ob die von einem Auflösungsprofil gewählte Stufe dieselben Ströme trägt wie die Master-Playlist.
Jeder Slot erhält dann einen Block von 16 PIDs. Sechzehn deckt einen realistischen ungünstigsten Fall ab — Video, mehrere Audiosprachen, mehrere Untertitelspuren und Videotext —, und die Blöcke überschneiden sich nicht, sodass eine Änderung an einem Dienst nie mit dem nächsten kollidieren kann.
Daraus ergeben sich zwei Folgen, beide beabsichtigt:
- Bei einem Dienst mit mehr als 16 Elementarströmen wird der Überschuss verworfen. Die Alternative wäre, in den Block des nächsten Slots hineinzulaufen, was einen ganz anderen Sender beschädigt. Den siebzehnten Strom eines Dienstes zu verlieren, ist ein kleinerer Fehler, als den benachbarten Dienst zu zerstören, und er bleibt auf seinen Ursprung beschränkt.
- Ein Sender, der sich nicht untersuchen lässt, bleibt aus dem Multiplex heraus. Er wird nicht mit geratenen PIDs hinzugefügt. Eine falsche Vermutung ergibt einen Dienst, dessen PMT auf nicht vorhandene Ströme verweist; Fernseher stellen das als Sender dar, der sich einstellen lässt und dann nichts zeigt — ein Fehler, der nach einem defekten Fernseher aussieht statt nach einer fehlgeschlagenen Untersuchung. Ein ausgelassener Sender ist sofort sichtbar.
Welche Tabellen erzeugt werden
Section titled “Welche Tabellen erzeugt werden”Ein DVB-Empfänger braucht Service-Informationen, um einen Träger zu verstehen. Castmux erzeugt:
| Tabelle | Zweck | Status |
|---|---|---|
| PAT | Program Association Table. Führt die Dienste im Multiplex auf und gibt an, wo die PMT jedes Dienstes zu finden ist. | erzeugt |
| PMT | Program Map Table, eine pro Dienst. Führt die Elementarströme auf, aus denen der Dienst besteht, samt ihren PIDs. | erzeugt |
| SDT-Actual | Service Description Table für diesen Multiplex. Trägt den Namen, den jeder Dienst auf dem Fernseher anzeigt. | erzeugt |
| NIT-Actual | Network Information Table für diesen Multiplex. Deklariert das Netz und die Empfangsparameter dieses Trägers. | erzeugt |
| EIT | Event Information Table: der Programmführer auf dem Bildschirm. Wird für jeden Sender übertragen, der auf einem Pass-through-Engine-Sender einem XMLTV-Programmführer zugeordnet ist; ohne sie zeigt die Guide-Taste ein leeres Raster. Siehe Programmführer (EPG). | wenn ein Programmführer eingerichtet ist |
Noch nicht erzeugt
Section titled “Noch nicht erzeugt”Ausdrücklich genannt, weil jeder dieser Punkte etwas ist, das ein Installateur vernünftigerweise erwarten kann und sonst erst bei der Inbetriebnahme entdecken würde:
| Funktion | Warum es wichtig ist | Status |
|---|---|---|
| LCN | Logische Kanalnummern legen Sender 5 auf jedem Gerät im Gebäude auf Taste 5, statt in der Reihenfolge, in der jeder Fernseher die Sender zufällig gefunden hat. | geplant |
| NIT-Querverweise | Ein Fernseher, der einen Multiplex findet, erfährt aus dessen NIT, wo die anderen liegen, statt das ganze Band danach abzusuchen. | geplant |
| TDT / TOT | Time and Date Table und Time Offset Table stellen die Uhr jedes Gästefernsehers anhand des Sendesignals, sodass niemand sie von Hand stellen muss. | geplant |
Hot-Swap
Section titled “Hot-Swap”Ein einzelner Slot lässt sich auf eine andere Quelle umstellen, ohne den Träger abzuschalten. Der Multiplex läuft weiter, die anderen Dienste bleiben ungestört, und nur der getauschte Dienst ändert, was er zeigt.
Das gibt es, weil die Alternative in den Umgebungen, für die dieses Produkt gedacht ist, inakzeptabel ist. Eine Quelle durch Neuaufbau des Multiplex zu ändern, würde für die Dauer jeden Fernseher im Gebäude schwarz schalten und im schlimmsten Fall einen neuen Suchlauf auf den Geräten erfordern — für eine Änderung, die einen einzigen Sender betraf. Der Tausch an Ort und Stelle erhält die Identität des Dienstes, sodass die Fernseher denselben Dienst mit anderem Inhalt weiterlaufen sehen — und genau das ist ein Programmwechsel.
Aussetzen
Section titled “Aussetzen”Ein einzelner Slot lässt sich aussetzen und wieder aufnehmen, ohne den Rest des Multiplex anzurühren. Nützlich für einen Sender, an dessen Quelle gerade gearbeitet wird, oder einen, der nur zu bestimmten Zeiten gewünscht ist.
Neustarts
Section titled “Neustarts”Eine Änderung an der Senderliste — einen Sender hinzufügen, entfernen, umsortieren — startet den gesamten Multiplex neu. Das ist grob, und es ist Absicht.
Der Grund: Die Service-Informationstabellen und die Elementarströme müssen übereinstimmen. Ein Multiplex, der noch PAT und SDT der vorherigen Senderliste aussendet, während er schon die neue trägt, ist schlimmer als ein Multiplex, der kurz fehlt: Darauf eingestellte Fernseher zeigen einen Dienst, der in den Tabellen existiert und keine Pakete hat, oder behalten stillschweigend einen veralteten Namen zu neuem Inhalt — und keiner der beiden Zustände löst sich ohne neuen Suchlauf auf. Eine kurze, saubere Unterbrechung hinterlässt danach jeden Empfänger in einem korrekten Zustand.
Ein Multiplex, der mehrmals kurz hintereinander neu startet, gibt auf, statt sich im Kreis zu drehen. Eine Neustartschleife auf einem Rundfunkträger ist schlimmer als ein abgeschalteter Träger: Jeder Zyklus zwingt jeden Fernseher im Gebäude zur Neusynchronisation, und ein gestoppter Multiplex ist wenigstens ein eindeutiger Fehler, dem nachgegangen wird. Prüfen Sie in der Log-Ansicht, was die Neustarts verursacht hat, bevor Sie ihn wieder aufnehmen.
Ein Sender kann nicht in zwei Multiplexen sein
Section titled “Ein Sender kann nicht in zwei Multiplexen sein”Jeder Multiplex vergibt eine Service-ID anhand des Slots, den der Sender belegt. Ein Sender in zwei Multiplexen bräuchte gleichzeitig zwei Dienstidentitäten, und die für jeden Träger erzeugten Tabellen würden denselben Inhalt unterschiedlich beschreiben. Die Benutzeroberfläche verhindert die Zuweisung, statt sie willkürlich aufzulösen.
Muss derselbe Inhalt tatsächlich auf zwei Trägern erscheinen, legen Sie ihn als zwei Sender mit getrennten Zielen an. Beachten Sie die Kapazitätskosten: Es sind zwei vollständige Kopien der Bitrate, keine gemeinsam genutzte.
Einschränkungen
Section titled “Einschränkungen”Suchläufe, und warum die Dienstidentität zählt
Section titled “Suchläufe, und warum die Dienstidentität zählt”Das ist der betriebliche Schmerzpunkt, der mehrere der obigen Entscheidungen prägt, deshalb verdient er einen eigenen Abschnitt.
Ein Fernseher speichert die Dienste, die er bei seinem letzten Suchlauf gefunden hat, anhand ihrer Identität. Ändert sich die Identität eines Dienstes, passt der gespeicherte Eintrag nicht mehr: Das Gerät zeigt womöglich den falschen Namen zum Inhalt, zeigt einen Dienst, der keine Pakete mehr hat, oder verliert den Sender einfach. Die einzige zuverlässige Abhilfe ist ein neuer Suchlauf auf jedem betroffenen Fernseher.
In einem Hotel mit zweihundert Zimmern bedeutet ein Suchlauf, dass jemand mit einer Fernbedienung zweihundert Zimmer betritt, oder ein Wartungsfenster, das Gäste stört. Das wird in Arbeitstagen gemessen und ist mit großem Abstand die teuerste Folge jeder Änderung auf dieser Seite.
Da Service-IDs derzeit aus der Slot-Reihenfolge abgeleitet werden, löst jede Umsortierung genau das aus. Die praktische Abhilfe ist heute, die Senderliste zu planen, bevor im Gebäude der Suchlauf gemacht wird, Lücken für voraussichtlich hinzukommende Sender zu lassen und bei einem Quellwechsel Hot-Swap statt Umsortieren zu verwenden.
Eine feste Dienstidentität — eine Service-ID, die an den Sender statt an seine Position gebunden und gegen versehentliche Änderung geschützt ist — ist geplant und die eigentliche Lösung.