Son désynchronisé : les causes, et ce que vous pouvez vraiment changer
Il n’y a pas de curseur de retard audio dans l’application, et cet article le dit d’emblée plutôt que de vous envoyer en chercher un.
Il n’y a pas de contrôle de retard audio dans l’application. Pas de curseur, pas de raccourci clavier, pas de réglage. J’en ai cherché un avant d’écrire ceci. Je ne l’ai pas trouvé : rien dans le code, rien dans les écrans de paramètres, rien dans le catalogue de chaînes de caractères. Si vous êtes venu pour ce contrôle, il n’existe pas, et le savoir maintenant vous épargne une recherche.
Ce que cet article peut faire, c’est vous dire duquel de 4 endroits vient votre décalage. 3 d’entre eux se corrigent dans votre salon, et 1 seul aurait besoin du contrôle manquant.
Constant ou croissant ?
Établissez cela en premier. Cela sépare nettement les causes.
Un décalage constant, identique au début d’un programme et 20 minutes plus tard, et identique encore demain, est un problème de latence. Quelque chose dans la chaîne ajoute un délai fixe à un signal et pas à l’autre.
Un décalage croissant, correct au départ et pire à mesure que vous regardez, est un problème d’horloge dans le flux lui-même. Les horodatages audio et vidéo s’écartent à la source, et rien en aval ne peut corriger cela sans rééchantillonner.
La dérive croissante appartient au fournisseur, et c’est le 1 cas sur les 4 ci-dessous que rien dans votre salon ne peut corriger. Essayez une autre qualité ou un autre serveur si votre fournisseur en propose. Si la dérive vous suit sur tous, l’encodeur est la cause.
Chronométrés face à une horloge à l’écran, les deux ressemblent à ceci :
start of programme +250 ms +250 ms
20 minutes in +250 ms +900 ms
verdict latency clock drift at the source
Les quatre endroits d’où vient la latence
L’écran. Le plus gros et le plus souvent oublié. Un téléviseur qui fait du lissage de mouvement, de la réduction de bruit ou de la mise à l’échelle garde des images en mémoire tampon pour le faire, et cela retarde l’image pendant que le son passe directement. C’est pourquoi le même flux peut être synchronisé sur un moniteur et désynchronisé sur un téléviseur.
La correction est sur le téléviseur : passez-le en mode Jeu ou en mode PC, ce qui désactive l’essentiel de ce traitement. Sur beaucoup de téléviseurs, cela seul résout tout le problème.
Le récepteur. Le son vers un récepteur et l’image directement vers l’écran, ce sont 2 chemins avec 2 latences. La plupart des récepteurs ont un réglage de synchronisation labiale ou de retard audio exactement pour cela. C’est le contrôle que cette application n’a pas, et votre récepteur l’a presque certainement.
Le passthrough. Activer le passthrough audio déplace le décodage hors de l’application vers votre récepteur, ce qui change la latence du chemin audio, généralement en en ajoutant. Basculez-le à titre de test. Si la synchronisation change quand le passthrough s’active ou se désactive, le problème est dans le chemin audio plutôt que dans le chemin vidéo.
C’est aussi pourquoi la console se comporte différemment. Elle décode toujours en PCM, parce que sa build du lecteur n’embarque aucun module pour le passthrough et que la plateforme n’autorise de toute façon pas les applications tierces à faire du bitstream. Une console et un bureau montrant une synchronisation différente sur la même chaîne via le même récepteur, c’est cohérent avec cette différence, pas un défaut.
Le flux. Le moins fréquent comme décalage constant. Le plus fréquent comme décalage croissant.
Ce que l’application a bel et bien
Un sélecteur de piste audio, avec une sélection automatique unique depuis la langue par défaut de votre profil. Vérifiez-le si une chaîne porte plusieurs pistes audio : une piste alternative peut avoir un calage différent, et choisir la piste principale résout parfois un décalage qui semblait structurel.
Un décalage temporel des sous-titres, borné à plus ou moins 60 secondes, en lecture à la demande seulement. Il déplace les sous-titres par rapport à l’image, pas le son par rapport à l’image, donc il n’aidera pas ici. Il est mentionné pour que vous ne le trouviez pas en supposant que c’est le contrôle que vous vouliez.
Pourquoi le lecteur ne détecte pas cela pour vous
Le détecteur de lecture classifie 9 défauts distincts. Aucun n’est un défaut de synchronisation. Il surveille les blocages, les gels, les images noires et les boucles de remise en mémoire tampon, toutes des conditions où quelque chose s’est arrêté.
La dérive n’est pas un arrêt. Le son et l’image circulent tous deux, se décodent tous deux, s’affichent tous deux ; ils ne sont simplement pas d’accord sur le moment. Détecter cela de façon fiable demande une référence que le lecteur n’a pas, et un détecteur qui devinerait lèverait de fausses alertes sur chaque chaîne dont l’encodeur est simplement un peu lâche.
C’est donc une chose que vous diagnostiquez, pas une chose que l’application attrape. Commencez par le traitement d’image du téléviseur. Il explique plus de ces cas que tout le reste réuni.
Si l’image n’est pas seulement en retard mais arrêtée pendant que le son continue, c’est une condition différente et détectée : du son mais pas d’image, et la vidéo se fige pendant que le son continue pour la mécanique de détection.
Ce que cet article a mesuré22 affirmations, chacune avec les preuves derrière elles
| Réclamation | Preuve | Compté |
|---|---|---|
| L’application n’embarque aucun contrôle de retard ou de décalage audio. Un décalage temporel des sous-titres existe et un sélecteur de piste audio existe ; aucun des deux ne déplace le son par rapport à l’image. | n = 1 | 31 août 2026 |
| Le décalage temporel des sous-titres est borné à plus ou moins 60 000 millisecondes et n’est affiché qu’en lecture à la demande. | n = 1 | 31 août 2026 |
| Le passthrough audio transmet un flux binaire non décodé au récepteur et ouvre le périphérique de sortie en mode exclusif, ce qui déplace la latence de décodage hors de l’application vers un matériel que nous ne pouvons pas mesurer. | n = 1 | 23 août 2026 |
| La console décode toujours le son en PCM, parce que sa build du lecteur n’embarque aucun module de sortie audio pour le passthrough et que la plateforme n’autorise pas le bitstream tiers. | n = 1 | 23 août 2026 |
| La sélection d’une piste audio alternative est livrée, avec un menu de pistes par sections et une sélection automatique unique depuis la langue par défaut du profil. | n = 1 | 14 août 2026 |
| Les réglages vidéo du lecteur forment un seul enregistrement partagé par les lecteurs direct, film et épisode, appliqué à chaud au lecteur en cours et persisté dans un fichier local seulement quand une bascule Mémoriser est active. | n = 1 | 1 sept. 2026 |
| Chaque valeur stockée est bornée dans sa plage valide au chargement, par défense contre un fichier édité à la main, et un mode d’aspect inconnu retombe sur Ajuster plutôt que d’être rejeté. | n = 1 | 1 sept. 2026 |
| Deux des contrôles d’image, la netteté et le désentrelacement, ne peuvent pas s’appliquer à un flux déjà en lecture : ils s’attachent à la prochaine ouverture de flux. | n = 2 | 1 sept. 2026 |
| Le désentrelacement a trois réglages, Désactivé, Auto et un Yadif forcé, et vaut Désactivé par défaut. | n = 3 | 1 sept. 2026 |
| Le contrôle de vitesse de lecture va de 0.5 à 2.0 et est documenté comme ne s’appliquant qu’aux films et aux épisodes, donc ce n’est pas un levier sur une chaîne en direct. | n = 1 | 1 sept. 2026 |
| Le profil d’image nommé est calculé à partir des valeurs des curseurs plutôt que stocké, parce qu’un identifiant de profil persisté deviendrait obsolète dès que quelqu’un bougerait un curseur. | n = 1 | 1 sept. 2026 |
| La couleur, la taille et la position à l’écran des sous-titres sont appliquées à la création de l’instance du lecteur plutôt que par flux, parce que le moteur de rendu de texte lit sa configuration une fois à la construction et ignore silencieusement les mêmes options fournies par média. | n = 1 | 1 sept. 2026 |
| La taille des sous-titres est appliquée par une option d’échelle de texte du cœur plutôt que par une taille de police, si bien qu’elle agrandit aussi les sous-titres codés et les autres textes stylés par le flux qu’une police par défaut ne toucherait pas. | n = 1 | 1 sept. 2026 |
| Un style de sous-titres laissé à ses valeurs par défaut n’émet aucune option, ce qui garde un lecteur intact identique octet pour octet aux builds antérieures. | n = 1 | 1 sept. 2026 |
| La recherche de sous-titres est livrée derrière une couture neutre vis-à-vis du fournisseur, avec un fournisseur en ligne configuré par clé et une implémentation nulle qui garde la boîte de dialogue honnête quand rien n’est configuré. | n = 1 | 24 août 2026 |
| Le sélecteur de sous-titres codés en direct n’est affiché que quand le flux porte réellement une piste, plutôt que proposé puis trouvé vide. | n = 1 | 17 août 2026 |
| La sélection automatique de la piste audio depuis la langue par défaut du profil s’exécute une fois par lecture plutôt qu’en continu, si bien qu’un changement manuel n’est pas immédiatement écrasé. | n = 1 | 14 août 2026 |
| Les compteurs sont autorisés à caler pendant 5 secondes après un saut sans éveiller de soupçon, raison pour laquelle le défilement ne déclenche pas lui-même un défaut. | n = 1 | 1 sept. 2026 |
| Les contrôles de couleur correspondent directement aux plages du filtre d’ajustement du lecteur : luminosité et contraste de 0 à 2, saturation de 0 à 3, gamma de 0.01 à 10, teinte de moins 180 à 180, tous neutres à mi-course. | n = 5 | 1 sept. 2026 |
| Les ajustements de couleur sont conditionnés par leur propre indicateur d’activation, si bien qu’un jeu de valeurs de curseurs stocké ne fait rien tant que cet indicateur n’est pas actif. | n = 1 | 1 sept. 2026 |
| Appliquer un profil d’image nommé n’écrit que les valeurs de couleur et de netteté et laisse délibérément intacts l’aspect, le zoom, le décalage des sous-titres, le désentrelacement, la vitesse et l’indicateur de mémorisation. | n = 6 | 1 sept. 2026 |
| Aucun des neuf défauts de lecture classifiés n’est un défaut de synchronisation audio-vidéo. Le détecteur surveille les blocages et les gels, pas la dérive. | n = 9 | 31 août 2026 |