Multiplexage DVB-C
Pourquoi c’est important
Section titled “Pourquoi c’est important”Recâbler un hôtel, un service hospitalier ou une maison de retraite est la proposition la plus coûteuse que l’on puisse faire en réunion de rénovation. Cela signifie soulever des planchers, saigner des murs, fermer des chambres et perdre du chiffre d’affaires pendant toute la durée des travaux. Bien souvent, cette proposition n’est pas faite parce que l’infrastructure existante est insuffisante, mais parce que le nouveau système ne sait pas l’exploiter.
Le réseau coaxial est déjà là, dans presque tous les bâtiments de ce type, et il dessert déjà chaque chambre. Tous les téléviseurs fabriqués depuis une quinzaine d’années environ intègrent un tuner DVB-C. Placer les chaînes sur le coaxial permet d’exploiter le parc tel qu’il est : aucun équipement par chambre à acheter, alimenter, fixer, mettre à jour ou remplacer quand un client repart avec, et aucune dépendance au réseau sans fil dont ces mêmes clients se plaignent déjà.
La contrepartie : une porteuse de diffusion est un tuyau partagé à capacité fixe. Tout le reste de cette page en découle.
Matériel
Section titled “Matériel”Une carte modulateur DVB-C prise en charge, dans un emplacement PCIe de l’appareil. La carte assure la modulation ; Castmux produit le transport stream multiplexé et configure la porteuse.
Cette fonction a été développée et mesurée sur des cartes TBS, et le matériel de référence est la TBS 5862. La programmation de la carte passe par l’outil du fabricant et les nœuds de périphérique qu’il attend : une carte d’un autre fabricant n’est donc pas une simple question de configuration — consultez-nous avant d’en acheter une.
| Paramètre | Plage |
|---|---|
| Fréquence | Environ 47–1002 MHz, couvrant les bandes câble VHF et UHF. |
| Constellation | QAM 16, 32, 64, 128 ou 256. |
| Débit de symboles | Environ 1.0–7.14 MS/s. |
Plusieurs cartes, ou plusieurs sorties, signifient plusieurs multiplex. Un périphérique modulateur pilote un multiplex ; voir Limites.
Calcul de capacité
Section titled “Calcul de capacité”Une porteuse DVB-C a un débit net fixe, entièrement déterminé par le débit de symboles et la constellation :
# Net transport-stream bitrate of a DVB-C carriernet = symbol_rate × log2(QAM) × 188/204Le terme 188/204 correspond au code externe Reed–Solomon : chaque paquet transport de 188 octets est transmis sur 204 octets, si bien qu’environ 7.8% de la capacité brute est consacrée à la correction d’erreurs et n’est pas disponible pour la vidéo.
Débit net en Mbps pour les combinaisons les plus courantes :
| Débit de symboles | 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 |
Les deux points de fonctionnement courants sont 6.9 MS/s en QAM64, soit environ 38 Mbps, et 6.9 MS/s en QAM256, soit environ 50.9 Mbps. Une constellation plus élevée apporte de la capacité au prix de la marge de bruit : le QAM256 exige un réseau plus propre que le QAM64, et sur un vieux coaxial aux connecteurs oxydés et aux répartiteurs passifs, cette marge peut ne pas exister. Si les téléviseurs en bout de ligne affichent des blocs par intermittence, baissez la constellation avant d’incriminer la source.
Ne remplissez pas un multiplex jusqu’à sa limite
Section titled “Ne remplissez pas un multiplex jusqu’à sa limite”Le calcul ci-dessus donne un plafond théorique. Planifier jusqu’à ce plafond produit un multiplex qui se dégrade précisément aux moments où cela compte.
Castmux ne transcode pas : chaque service occupe donc le débit que produit sa source, et les sources de ce type sont à débit variable. Une chaîne présentée comme « HD 7 Mbps » cite une moyenne. Sur un plan fixe de studio, elle peut rester à 3 Mbps ; sur un panoramique de foule, des confettis, un terrain de football ou une scène d’action, elle peut dépasser 10 en pointe. Que plusieurs chaînes culminent en même temps n’a rien d’improbable — c’est quasiment garanti à 20 h.
Lorsque la somme des services dépasse la capacité de la porteuse, le multiplexeur n’a nulle part où placer l’excédent et des paquets sont perdus. Les dégâts ne se limitent pas à la chaîne qui a débordé : ce qui est perdu provient du flux composite, si bien qu’un seul service gourmand dégrade simultanément l’image de tous les services du multiplex.
Créer un multiplex
Section titled “Créer un multiplex”Un multiplex est défini par une fréquence et les paramètres de sa porteuse. Créez-en un et renseignez :
| Champ | Remarques |
|---|---|
| Frequency | Choisissez parmi les préréglages de canaux UHF et VHF, ou saisissez directement une fréquence. Les préréglages existent parce que la plupart des installations placent leurs porteuses sur les positions standard de la grille des canaux câble, que la recherche automatique d'un téléviseur trouve plus vite. |
| Constellation | QAM 16, 32, 64, 128 ou 256. Voir capacité. |
| Symbol rate | Dans la plage de la carte, environ 1.0–7.14 MS/s. |
| Modulator device | Détecté automatiquement. Les périphériques déjà affectés à un autre multiplex sont exclus de la liste, car un périphérique ne peut en porter qu'un. |
| Network name | Transporté dans la NIT et affiché par certains téléviseurs pendant une recherche. Le nom de l'établissement est un choix raisonnable. |
| Network ID | Identifie le réseau dans son ensemble. Gardez la même valeur pour tous les multiplex d'un même bâtiment. |
| Transport stream ID | Identifie ce multiplex au sein du réseau. Doit être différent d'un multiplex à l'autre. |
Affecter les chaînes
Section titled “Affecter les chaînes”Les chaînes existant dans Castmux apparaissent dans un réservoir de chaînes disponibles. Faites-en glisser une sur la carte d’un multiplex pour l’ajouter, et faites-les glisser au sein de la carte pour les réordonner.
L’ordre n’est pas cosmétique. La position d’une chaîne dans le multiplex est son emplacement (slot), et cet emplacement détermine à la fois le bloc de PID attribué au service et son identifiant de service.
Comment les PID sont déterminés
Section titled “Comment les PID sont déterminés”Chaque flux élémentaire d’un transport stream a besoin d’un identifiant de paquet unique, et deux services utilisant le même PID produisent un multiplex défectueux.
Castmux ne présuppose pas le contenu d’une chaîne. Avant de construire le multiplex, il sonde la sortie multicast de la chaîne elle-même et lit les flux élémentaires qu’elle transporte réellement — vidéo, chaque piste audio, flux de sous-titres, télétexte. Supposer une structure fixe serait plus simple et constamment faux : les sources diffèrent par le nombre de pistes audio qu’elles transportent, la présence ou non de sous-titres, et le fait que le palier choisi par un profil de résolution transporte ou non les mêmes flux que la master.
Chaque emplacement reçoit ensuite un bloc de 16 PID. Seize couvre un pire cas réaliste — vidéo, plusieurs langues audio, plusieurs pistes de sous-titres et télétexte — et les blocs ne se chevauchent pas, pour qu’une modification d’un service ne puisse jamais empiéter sur le suivant.
Deux conséquences en découlent, toutes deux délibérées :
- Un service comportant plus de 16 flux élémentaires perd l’excédent. L’alternative serait de déborder sur le bloc de l’emplacement suivant, ce qui corromprait une tout autre chaîne. Perdre le dix-septième flux d’un service est un échec moindre que de casser la chaîne voisine, et c’est un échec qui reste confiné là où il est né.
- Une chaîne qui ne peut pas être sondée est exclue du multiplex. Elle n’est pas ajoutée avec des PID devinés. Une supposition erronée produit un service dont la PMT pointe vers des flux absents, que les téléviseurs affichent comme une chaîne qui se cale puis n’affiche rien — une panne qui ressemble à un téléviseur défectueux plutôt qu’à un sondage manquant. Une chaîne omise se remarque immédiatement.
Tables générées
Section titled “Tables générées”Un récepteur DVB a besoin d’informations de service pour interpréter une porteuse. Castmux génère :
| Table | Rôle | État |
|---|---|---|
| PAT | Program Association Table. Liste les services du multiplex et l'emplacement de la PMT de chacun. | générée |
| PMT | Program Map Table, une par service. Liste les flux élémentaires qui composent le service et leurs PID. | générée |
| SDT-Actual | Service Description Table de ce multiplex. Transporte le nom que chaque service affiche sur le téléviseur. | générée |
| NIT-Actual | Network Information Table de ce multiplex. Déclare le réseau et les paramètres de réception de cette porteuse. | générée |
| EIT | Event Information Table : le guide des programmes à l'écran. Transportée pour chaque chaîne associée à un guide XMLTV, sur une chaîne utilisant le moteur pass-through ; sans elle, appuyer sur la touche guide affiche une grille vide. Voir Guide des programmes (EPG). | si un guide est configuré |
Pas encore générées
Section titled “Pas encore générées”Mentionnées explicitement, car chacune est une chose qu’un installateur peut raisonnablement attendre et qu’il découvrirait sinon à la mise en service :
| Fonction | Pourquoi c'est important | État |
|---|---|---|
| LCN | Les numéros logiques de chaîne placent la chaîne 5 sur la touche 5 de chaque téléviseur du bâtiment, au lieu de l'ordre dans lequel chaque téléviseur les a trouvées. | prévu |
| Liens croisés NIT | Un téléviseur qui trouve un multiplex apprend par sa NIT où se trouvent les autres, au lieu de balayer toute la bande pour les trouver. | prévu |
| TDT / TOT | La Time and Date Table et la Time Offset Table règlent l'horloge de chaque téléviseur des chambres à partir du flux diffusé, pour que personne n'ait à le faire à la main. | prévu |
Remplacement à chaud
Section titled “Remplacement à chaud”Un emplacement peut être redirigé vers une autre source sans couper la porteuse. Le multiplex continue de tourner, les autres services ne sont pas perturbés, et seul le service remplacé change de contenu.
Cette fonction existe parce que l’alternative est inacceptable dans les environnements auxquels ce produit s’adresse. Changer une source en reconstruisant le multiplex éteindrait tous les téléviseurs du bâtiment pendant l’opération et, dans le pire des cas, obligerait à refaire une recherche sur les téléviseurs pour un changement qui ne concernait qu’une chaîne. Le remplacement en place préserve l’identité du service : les téléviseurs voient le même service se poursuivre avec un autre contenu — ce qui est exactement un changement de programme.
Suspension
Section titled “Suspension”Un emplacement peut être suspendu et repris individuellement sans toucher au reste du multiplex. Utile pour une chaîne dont la source est en cours d’intervention, ou une chaîne souhaitée seulement à certaines heures.
Redémarrages
Section titled “Redémarrages”Une modification de la liste de chaînes — ajout, suppression, réordonnancement — redémarre l’ensemble du multiplex. C’est brutal, et c’est délibéré.
La raison est que les tables d’information de service et les flux élémentaires doivent concorder. Un multiplex qui annonce encore une PAT et une SDT décrivant l’ancienne liste de chaînes tout en transportant la nouvelle est pire qu’un multiplex brièvement absent : les téléviseurs calés dessus affichent un service qui existe dans les tables mais n’a aucun paquet, ou conservent silencieusement un ancien nom pour un nouveau contenu, et aucun de ces états ne se résout sans nouvelle recherche. Une interruption courte et propre laisse ensuite chaque récepteur dans un état correct.
Un multiplex qui redémarre plusieurs fois de suite en peu de temps abandonne plutôt que de s’emballer. Une boucle de redémarrages sur une porteuse de diffusion est pire qu’une porteuse arrêtée : chaque cycle fait repasser tous les téléviseurs du bâtiment par une réacquisition, alors qu’un multiplex arrêté est au moins une panne sans ambiguïté, qui fait l’objet d’une investigation. Consultez la vue des journaux pour voir ce qui a provoqué les redémarrages avant de le relancer.
Une chaîne ne peut pas figurer dans deux multiplex
Section titled “Une chaîne ne peut pas figurer dans deux multiplex”Chaque multiplex attribue un identifiant de service à partir de l’emplacement qu’occupe la chaîne. Une chaîne placée dans deux multiplex aurait besoin de deux identités de service à la fois, et les tables générées pour chaque porteuse décriraient le même contenu différemment. L’interface empêche cette affectation plutôt que de la résoudre arbitrairement.
Si le même contenu doit réellement apparaître sur deux porteuses, définissez-le comme deux chaînes avec des destinations distinctes. Notez le coût en capacité : ce sont deux copies complètes du débit, pas une copie partagée.
Limites
Section titled “Limites”Nouvelles recherches, et pourquoi l’identité des services compte
Section titled “Nouvelles recherches, et pourquoi l’identité des services compte”C’est la difficulté opérationnelle qui a guidé plusieurs des décisions ci-dessus ; elle mérite donc d’être exposée à part.
Un téléviseur mémorise les services trouvés lors de sa dernière recherche, indexés par identité. Lorsque l’identité d’un service change, l’entrée mémorisée ne correspond plus : le téléviseur peut afficher le mauvais nom pour le contenu, afficher un service qui n’a plus aucun paquet, ou tout simplement perdre la chaîne. La seule correction fiable est une nouvelle recherche, sur chaque téléviseur concerné.
Dans un hôtel de deux cents chambres, une nouvelle recherche signifie que quelqu’un entre dans deux cents chambres avec une télécommande, ou une fenêtre de maintenance qui dérange les clients. Cela se compte en jours de travail, et c’est de loin la conséquence la plus coûteuse de toute modification décrite sur cette page.
Comme les identifiants de service sont actuellement dérivés de l’ordre des emplacements, tout réordonnancement déclenche exactement cela. La parade pratique aujourd’hui : planifier la liste de chaînes avant le réglage des téléviseurs du bâtiment, laisser des trous pour les chaînes que vous prévoyez d’ajouter, et utiliser le remplacement à chaud plutôt que le réordonnancement lorsqu’une source change.
L’identité de service figée — un identifiant de service lié à la chaîne plutôt qu’à sa position, et protégé contre toute modification accidentelle — est prévue ; c’est la vraie solution.