Champs d’entrée et de sortie par transport

Un référentiel des champs de la fenêtre « Éditeur d’entrée et de sortie » (Éditeur d’entrée et de sortie) : ce que définit chaque champ, quelles valeurs il accepte et en quoi l’entrée et la sortie d’un même transport diffèrent. Les champs communs à tous les transports et les techniques de travail avec la fenêtre sont décrits sur cette page, les champs des transports particuliers sur les pages ci-dessous. Le choix du protocole de transmission et la planification d’une liaison sont décrits dans Planification et protocoles de transmission de données, le traitement du flux sur le nœud dans Streamer : détails d’implémentation.

Les libellés des champs propres au transport ne sont pas traduits par l’interface : ce sont des désignations techniques, et elles s’affichent en anglais dans toutes les langues. Ils sont repris ici tels qu’ils apparaissent dans la fenêtre, avec l’unité de mesure que l’interface ajoute au libellé : « Latency (ms) », « Client timeout (s) ». Il y a une seule exception — l’identifiant et le mot de passe des entrées PS1 et SRT : ils sont dessinés par un bloc d’autorisation distinct, et les libellés « Identifiant » et « Mot de passe » y sont traduits.

La composition des champs dépend avant tout du type de transport et du sens : pour un même transport, l’entrée et la sortie constituent des ensembles différents, aussi sont-elles décrites séparément ci-dessous, même là où les libellés coïncident. Une partie des champs, en outre, apparaît et disparaît selon les circonstances — selon que le flux est SPTS ou MPTS, selon le mode listener ou caller, selon le décodeur choisi et selon que l’attribution automatique des PID est activée ou non.

Le nombre d’onglets de la fenêtre varie lui aussi. Une entrée en a toujours au moins deux — « Propriétés » et « MPEG-TS PID » —, et les entrées UDP, RTP, Pro-MPEG, PS1, SRT, RIST et TCP ainsi que les entrées file, pipe et std en reçoivent un troisième, « BISS ». Une sortie n’a qu’un seul onglet, « Propriétés » ; l’exception est la sortie multiplexeur, qui possède également « MPEG-TS PID » (Multiplexeur (muxer)). Lorsqu’il n’y a qu’un seul onglet, la barre d’onglets n’est pas affichée du tout.

Le type de transport est défini par le champ « Type » tout en haut de la fenêtre : à la création, c’est une liste des transports disponibles ; à la modification, c’est un champ non modifiable, car le type ne peut pas être changé (pour changer de transport, le point est recréé). Changer de type dans le formulaire de création efface tous les champs de transport remplis — seuls la note, l’indicateur de pause et les champs du catalogue de domaine sont conservés.

Champs communs

Le champ Note existe sur une entrée et une sortie de tout type ; dans la fenêtre il figure en dernier, après un séparateur.

Champ

Rôle

Valeurs

Note

Une note libre : la destination du point, le responsable, le numéro de la demande. Visible dans les listes des entrées et sorties et dans la ligne dépliée du flux.

une chaîne, vide par défaut

La mise en pause ne se règle pas dans cette fenêtre, bien qu’une entrée et une sortie possèdent un indicateur de pause : il est commandé par le bouton de pause dans la ligne de la liste des entrées et sorties. Il est important de le savoir à la création : les entrées et sorties nouvellement créées le sont en pause, et après enregistrement on les active depuis la liste. L’ordre des entrées, qui définit la priorité de secours, ne se modifie pas non plus ici — il se change en faisant glisser les lignes (Redondance des sources et diffusion).

Deux champs supplémentaires ne s’ajoutent que pour les transports qui figurent au catalogue commun des ressources du domaine (UDP, RTP, Pro-MPEG, RIST, PS1 et SRT ; Catalogue commun des ressources) — dans la fenêtre ils forment un groupe distinct :

Champ

Rôle

Valeurs

Peer note (meshwork library)

Une annotation de ce point dans le catalogue du domaine : elle permet à un nœud voisin de comprendre quelle ressource il voit.

une chaîne, vide par défaut

Peer private

Ne pas annoncer le point dans le catalogue du domaine. Le point continue de fonctionner, mais les nœuds voisins ne le voient pas et il n’apparaît pas dans la fenêtre « Bibliothèque — ce flux » (Bibliothèque — ce flux).

désactivé par défaut

La présence de ces deux champs ne signifie pas encore que le point figurera au catalogue. Les règles sont les suivantes : une sortie est toujours annoncée — aussi bien en multicast qu’en unicast ; une entrée UDP, RTP ou RIST seulement lorsque son adresse est un groupe multicast ; les entrées PS1 et SRT sont toujours annoncées, tandis qu’une entrée Pro-MPEG ne l’est pas du tout, bien qu’elle possède ces champs (Catalogue commun des ressources).

Champs communs de l’entrée

Une entrée possède en outre un groupe de réglages de synchronisation — il relève non du transport mais du traitement du flux sur le nœud, et il est donc identique pour tous les types. La composition du groupe dépend du type de flux : pour l’entrée d’un flux SPTS ce sont les trois champs, pour l’entrée d’un flux MPTS seulement le dernier.

Champ

Rôle

Valeurs

Auto jitter buffer

Choix automatique de la taille du tampon selon le type d’entrée (Synchronisation).

activé par défaut ; dans le formulaire de création il est affiché désactivé

Jitter buffer (ms)

La taille du tampon définie à la main — elle s’applique lorsque le choix automatique est désactivé.

à partir de 10, par défaut 500

PCR discontinuity window (ms)

La fenêtre dans laquelle un saut de PCR est considéré comme admissible ; un saut plus grand provoque une resynchronisation brutale. Pour un flux MPTS, la même fenêtre s’applique à chaque programme du multiplex (Analyse par programme).

à partir de 100, par défaut 1000

La sélection et le remappage des PID, ainsi que les clés BISS, se définissent dans des onglets distincts de la même fenêtre et sont décrits dans Éditeur d’entrée et de sortie.

Champs obligatoires et vérification des valeurs

Une partie des champs est obligatoire — sans eux, le nœud ne pourra pas établir de connexion. Tant qu’un tel champ est vide, le bouton d’enregistrement est indisponible et le message « Le champ <libellé> est obligatoire » apparaît sous le champ lui-même. Le message ne s’affiche qu’après la première modification du formulaire, si bien qu’un formulaire à peine ouvert paraît net alors que l’enregistrement est déjà bloqué. Les champs obligatoires sont indiqués sur les pages des transports.

Les autres vérifications s’effectuent au fil de la saisie et bloquent l’enregistrement de la même manière :

Message

Quand il apparaît

« Minimum N », « Maximum N »

Un nombre hors de la plage autorisée du champ.

« Doit être 0 ou 32–8190 »

Un PID hors de l’ensemble autorisé : les valeurs 1–31 sont réservées, 8191 est le PID nul. Zéro signifie « comme dans le flux d’entrée ».

« Doit faire N–M octets »

Une phrase secrète de longueur inadmissible. La longueur se compte en octets et non en caractères : une lettre cyrillique occupe deux octets.

« Doit commencer par <schéma> »

L’adresse d’une entrée HLS a été saisie sans le schéma http:// ou https://, ou avec un autre schéma. C’est le seul champ de la fenêtre à faire l’objet d’une telle vérification ; pour les autres transports, le schéma n’est vérifié que par le nœud.

Une phrase secrète vide n’est pas considérée comme une erreur — c’est l’absence de chiffrement. Une valeur fractionnaire ne peut tout simplement pas être saisie dans un champ entier : le champ ne l’accepte pas.

Les vérifications de la fenêtre reprennent les restrictions du nœud, mais ne les remplacent pas. La longueur des champs de texte et l’unicité des numéros — par exemple du numéro de programme dans un multiplex — ne sont vérifiées que par le nœud. La vérification de plage, de plus, n’est pas effectuée pour tous les champs numériques : un champ sans valeur par défaut repose sur zéro, et la fenêtre ne le met pas en évidence — une valeur trop faible dans un tel champ ne sera remarquée que par le nœud.

Les listes appariées de la fenêtre ne peuvent pas être désaccordées : le remappage des PID, les langues des pistes et les pairs RIST se modifient tous par lignes, et une ligne s’ajoute d’un seul tenant.

La fenêtre ne masque pas un refus du nœud : elle reste ouverte avec le formulaire rempli, et un bandeau portant le message du nœud apparaît en haut — tel quel, en anglais, puisqu’il s’agit du texte du nœud lui-même et non de l’interface. Les valeurs saisies ne sont pas perdues pour autant.

Une autre différence entre la création et la modification mérite d’être gardée à l’esprit à la lecture de la colonne « Valeurs ». Dans le formulaire de création, une partie des valeurs est déjà renseignée — celles qui sont désignées plus bas comme valeur du formulaire ou comme valeur par défaut — et elles sont enregistrées avec les autres. Les autres champs, le formulaire les laisse vides ou à zéro, et le nœud leur applique lui-même ses propres valeurs. Lors de la modification d’un point existant, un champ jamais renseigné a la même apparence : vide, bien que le nœud lui applique une valeur par défaut.

Techniques de travail avec les champs

Coller l’URL. Le bouton analyse un lien du presse-papiers et le répartit dans les champs d’adresse et de port. Il n’est pas obligatoire d’indiquer le schéma — adresse:port suffit ; mais s’il est indiqué, il doit correspondre au transport : udp:// pour UDP, rtp:// ou udp:// pour RTP, prompeg://, rtp:// ou udp:// pour Pro-MPEG, tcp:// pour TCP, ps1:// pour PS1 et srt:// pour SRT. Lorsque le presse-papiers ne contient rien de convenable, le bouton est indisponible et précise : « Le presse-papiers ne contient pas d’adresse convenable à coller ».

Le bouton n’existe que là où un point possède un couple « adresse et port » : sur les entrées UDP, RTP, Pro-MPEG, TCP, PS1 et SRT et sur les sorties UDP, RTP, Pro-MPEG et SRT. La sortie PS1 ne l’a pas — elle ne fait qu’écouter un port —, pas plus que les transports où l’adresse se définit autrement (RIST, HLS, RTSP, RTMP, fichier).

Si le navigateur n’autorise pas la lecture du presse-papiers, le bouton place simplement le curseur dans le champ d’adresse : un lien collé à la main sera réparti de la même façon dans les deux champs. Cela fonctionne aussi sans le bouton — il suffit de coller adresse:port directement dans le champ d’adresse.

Choisir dans la bibliothèque… Le bouton ouvre le catalogue des ressources du domaine directement dans la fenêtre et renseigne l’adresse de la source choisie, sans avoir à la saisir à la main (Sources de la bibliothèque). Il n’existe que sur les entrées UDP, RTP, Pro-MPEG, PS1 et SRT. Pour PS1 et SRT, c’est l’adresse du pair par laquelle il est joignable qui est renseignée, et pour un voisin du même domaine la connexion automatique Meshwork est activée par la même occasion et l’identifiant et le mot de passe sont effacés.

Trouver un port libre. La sélection automatique est prévue sur la sortie PS1 et sur SRT en mode listener : le champ de port peut rester à zéro — l’indication est « 0 = auto » — et le nœud choisira un port libre à l’enregistrement, tandis que le bouton voisin en choisit un immédiatement. Si aucun port libre n’a été trouvé ou si la requête a échoué, la fenêtre le signale et l’enregistrement n’a pas lieu. Sur les autres points, le port se saisit à la main, même là où le nœud l’occupe lui-même — par exemple sur les entrées UDP.

Un champ à sélection automatique comporte aussi une vérification souple : si, lors de la modification d’un point déjà créé, on saisit un port différent de celui enregistré et qu’il se révèle occupé, l’avertissement « Ce port est peut-être déjà utilisé sur ce nœud » apparaît sous le champ. Il ne bloque pas l’enregistrement.

Mots de passe et identifiants. Les champs de phrases secrètes et de mots de passe sont affichés masqués ; le bouton « Afficher le mot de passe » dévoile la valeur saisie. Les identifiants, à l’inverse, sont mémorisés par le navigateur après un enregistrement réussi et proposés à la saisie suivante — dans une liste commune à tous les transports, si bien qu’un identifiant saisi une fois pour RTSP sera proposé aussi sur une entrée SRT. Les mots de passe ne sont jamais mémorisés.

Fermeture de la fenêtre. Si quelque chose a été modifié dans le formulaire, « Annuler », Échap et « ✕ » demandent de confirmer l’abandon des modifications ; une fenêtre non touchée se ferme aussitôt.