Sous-titres absents : pourquoi la piste n'arrive pas à l'écran
Les sous-titres sont dans le fichier ou à côté et n'apparaissent pas. Différence entre incrustés et externes, cas du MKV, et comment sélectionner la piste.
MKV, MP4, AVI. Identifie ce que contient le fichier.
Sépare le conteneur en pistes vidéo, audio et sous-titres.
Transforme une piste compressée en images ou en échantillons.
Dessine les images, sort le son et affiche les sous-titres.
Les sous-titres sont la seule partie de la lecture où la présence d’une piste ne prouve presque rien. L’image et le son n’ont qu’un chemin vers l’écran ; les sous-titres en ont plusieurs, et ils peuvent échouer à un endroit qui n’a aucun équivalent sur les autres pistes. Un fichier peut contenir une piste parfaitement valide que rien dans la chaîne n’a jamais été chargé de dessiner.
Trois natures de sous-titres, trois pannes différentes
Une piste séparée à l’intérieur du conteneur est dessinée par-dessus l’image au moment de la lecture. Elle se coupe, se restyle, se remplace. C’est le cas le plus courant dans un MKV et c’est de lui qu’il est question presque partout ici.
Les sous-titres incrustés ne sont plus des sous-titres au moment où le fichier existe. Ils ont été dessinés dans les images pendant l’encodage et sont désormais des pixels ordinaires. Si un texte s’affiche et refuse de disparaître, c’est l’explication, et aucun réglage n’y changera rien.
Les sous-titres externes vivent à côté de la vidéo dans un fichier distinct, en général SRT ou ASS. Ils dépendent entièrement de la capacité du lecteur à les trouver, laquelle dépend de leur nom.
La règle de nommage des fichiers externes
Les lecteurs associent un fichier de sous-titres à une vidéo par le nom de base. Les deux doivent
partager le même dossier, et le sous-titre doit porter le nom de la vidéo avec une autre extension,
éventuellement suivi d’un suffixe de langue reconnu. Une vidéo nommée episode-04.mkv est associée
à episode-04.srt et à episode-04.fr.srt, et ne l’est ni par soustitres.srt ni par
Episode 4 VF.srt.
Cela explique une large part des cas où un fichier d’un dossier affiche ses sous-titres et le suivant non. Rien n’est cassé et rien n’est à installer ; le second fichier porte simplement un nom que le lecteur ne relie à rien.
Dans un MKV, la piste peut être là et non sélectionnée
Un fichier Matroska peut contenir plusieurs pistes de sous-titres, et celle qui s’affiche par défaut dépend d’indicateurs posés à la création du fichier. Une piste marquée par défaut est retenue ; si aucune ne l’est, le comportement varie d’un lecteur à l’autre et certains n’en sélectionnent aucune. Faire défiler les pistes depuis le menu du lecteur est la première chose à essayer, et cela coûte une touche.
Les pistes marquées comme forcées ajoutent une subtilité utile à connaître. Une telle piste ne contient que les répliques devant toujours s’afficher, par exemple des dialogues en langue étrangère dans un film par ailleurs francophone. Un lecteur qui respecte correctement cet indicateur affiche très peu de texte et paraît défaillant, alors qu’il fait exactement ce que le fichier demande.
Texte et image ne sont pas interchangeables
Le SRT est du texte brut horodaté, et tout sait le lire. Les formats ASS et SSA sont du texte accompagné d’un bloc de style qui précise les polices, les couleurs, les positions et parfois les animations, ce qui explique leur usage dans les publications de fansub. Un moteur qui ignore ce bloc place les lignes au mauvais endroit et à la mauvaise taille ; un moteur qui le prend en charge reproduit l’intention de l’auteur, y compris les polices attachées au fichier.
PGS et VobSub sont des images, issues respectivement des sources Blu-ray et DVD. Chaque sous-titre y est une petite image et non une chaîne de caractères. Un moteur qui traite SRT et ASS peut n’afficher strictement rien pour une piste PGS, et la solution est alors un autre moteur de rendu plutôt qu’un autre réglage.
Ce qui les dessine réellement sous Windows
Les lecteurs à rendu interne, VLC et mpv notamment, traitent toutes les catégories ci-dessus sans aide. Dans une chaîne DirectShow, le moteur de rendu est un composant distinct : historiquement DirectVobSub, aujourd’hui plus souvent celui du lecteur lui-même. DirectVobSub figurait dans la plupart des lots de l’époque pour cette raison exacte, et une chaîne assemblée sans lui décode correctement l’image et le son sans afficher aucun texte.
C’est le cas précis où un composant manquant est vraiment la réponse, et la raison pour laquelle la prise en charge des sous-titres était un argument de vente pour un pack de codecs plutôt qu’un détail. L’équivalent moderne consiste à laisser le lecteur dessiner les sous-titres lui-même et à sortir la chaîne système de l’équation.
L’encodage, dernière panne courante
Un texte qui s’affiche avec des symboles à la place des accents ne relève pas des sous-titres mais du jeu de caractères. Les fichiers écrits autrefois dans une page de code régionale sont relus comme de l’UTF-8 par les lecteurs actuels, et les octets ne signifient plus ce qu’ils signifiaient. Forcer l’encodage dans le lecteur confirme le diagnostic ; réenregistrer le fichier en UTF-8 le règle définitivement.
Questions fréquentes
Quelle différence entre sous-titres incrustés et sous-titres externes ?
Les sous-titres incrustés ont été dessinés dans les images au moment de l'encodage : ce sont des pixels comme les autres et rien ne les enlèvera. Les sous-titres externes ou intégrés en piste séparée sont dessinés au moment de la lecture, donc désactivables, restylables et remplaçables. Si un texte ne peut pas être coupé, il est incrusté.
Pourquoi un fichier SRT externe est-il parfois ignoré ?
Parce que les lecteurs associent les sous-titres externes par nom de fichier. Le fichier de sous-titres doit se trouver dans le même dossier et porter le même nom de base que la vidéo, seule l'extension différant, éventuellement avec un suffixe de langue reconnu. Tout autre nom et le lecteur ne le regarde jamais.
Pourquoi les accents s'affichent-ils comme des symboles ?
C'est un problème d'encodage de caractères, pas de piste manquante. Un fichier de sous-titres écrit il y a quinze ans dans une page de code régionale, relu comme de l'UTF-8, produit exactement ce résultat. La plupart des lecteurs permettent de forcer l'encodage de la piste, et réenregistrer le fichier en UTF-8 règle la question définitivement.
Qu'est-ce qu'une piste PGS et pourquoi se comporte-t-elle autrement ?
Les sous-titres PGS, issus des sources Blu-ray, sont des images et non du texte. Ils ne peuvent être ni redimensionnés utilement, ni restylés, ni convertis sans reconnaissance optique de caractères. Un moteur de rendu qui traite parfaitement le texte peut ne rien afficher pour une telle piste.
Pourquoi les sous-titres sont-ils mal placés ou trop grands ?
Les formats ASS et SSA transportent leur propre mise en forme, y compris les polices, les positions et les effets, en supposant la résolution pour laquelle ils ont été écrits. Lus à une autre résolution, ou par un moteur qui ignore ce bloc de style, ils atterrissent au mauvais endroit ou à la mauvaise échelle.
À quoi servait DirectVobSub ?
C'était le composant qui dessinait les sous-titres dans une chaîne DirectShow, et il figurait dans presque tous les lots de codecs pour cette raison précise. Une chaîne assemblée sans lui décode correctement l'image et le son en n'affichant aucun texte, ce qui est exactement le symptôme décrit ici.
Publié