Lecture saccadée, images perdues et son décalé : où le temps manque
La vidéo saccade, se fige ou se désynchronise. Lire le compteur d'images perdues, quand l'accélération matérielle aide, pourquoi une machine rapide saccade.
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.
La saccade est le seul symptôme de cette série où la chaîne est intacte. Le conteneur s’est ouvert, les pistes ont été séparées, les deux décodeurs ont fonctionné et le moteur de rendu a dessiné des images. Ce qui a échoué, c’est l’échéance : la lecture doit terminer chaque image avant que la suivante ne soit due, et quelque chose sur le trajet prend plus de temps que le temps disponible.
Il s’agit donc d’un problème de débit et non de format, ce qui explique qu’installer un décodeur n’y change en général rien. La question utile est de savoir où passe le temps.
Mesurer d’abord, parce que le compteur désigne la panne
Tout lecteur sérieux expose un compteur d’images perdues, et le lire transforme une plainte vague en un nombre. MPC-HC affiche la superposition de statistiques sur une touche ; mpv dispose d’un affichage équivalent. Il suffit de l’observer pendant trente secondes du passage qui saccade.
Un compteur qui grimpe en continu signifie que le décodage ne suit pas, et le correctif se situe dans le chemin de décodage. Un compteur qui reste à zéro alors que l’image tremble encore indique que le moteur de rendu présente les images aux mauvais instants, ce qui relève de l’affichage ou de la fréquence de rafraîchissement. Un compteur qui bondit par paliers puis se stabilise désigne quelque chose d’extérieur à la lecture, en général le disque ou le réseau.
Ces trois lectures mènent à trois correctifs différents, et sans le compteur elles sont indiscernables.
Le chemin de décodage
La résolution élevée et la profondeur de couleur élevée coûtent toutes deux du temps processeur, et elles se multiplient. Un fichier 1080p H.264 8 bits est bon marché sur n’importe quelle machine de la dernière décennie. Un fichier 4K HEVC 10 bits à débit élevé est coûteux sur tout ce qui n’est pas récent, et si la puce graphique ne sait pas accélérer cette combinaison exacte, toute la charge retombe sur le processeur.
L’accélération matérielle est le premier levier. Activée et fonctionnelle, elle déplace le décodage vers des blocs dédiés de la puce graphique et le coût processeur devient négligeable. La difficulté est que la prise en charge se décide format par format et génération par génération : une puce peut accélérer pleinement le H.264, partiellement le HEVC 8 bits, et pas du tout le HEVC 10 bits. Un lecteur configuré pour utiliser une accélération indisponible n’échoue pas bruyamment, il retombe sur le logiciel et commence à perdre des images.
Basculer l’accélération et relire le compteur sépare les deux cas en moins d’une minute. Si le décodage logiciel est la seule option et qu’il ne suffit pas, la réponse honnête est que le fichier dépasse la machine, et une copie de résolution inférieure se lira là où aucun réglage n’y parviendra.
Le chemin de présentation
Zéro image perdue avec une secousse visible est une panne différente. Une vidéo tournée à 23,976 images par seconde affichée sur un écran rafraîchissant à 60 Hz ne peut pas faire correspondre une image à un nombre entier de rafraîchissements, si bien que les images sont maintenues pendant des durées inégales. L’effet est un accroc régulier toutes les quelques secondes, surtout visible sur les panoramiques lents.
Lorsque l’écran le permet, régler la fréquence de rafraîchissement sur un multiple de la cadence du contenu supprime cette irrégularité. Certains lecteurs effectuent la bascule automatiquement en plein écran. Quand l’écran ne le permet pas, un moteur de rendu avec interpolation lisse le résultat au prix de travail supplémentaire par image, ce qui ramène le budget de décodage dans l’équation.
Un déchirement horizontal plutôt qu’une secousse relève d’un réglage de synchronisation et non de cadence. Un moteur qui présente les images sans attendre la fin du tracé de l’écran produit une coupure visible, et activer la synchronisation verticale dans le lecteur ou le pilote la supprime.
Tout ce qui n’est pas la lecture
Une part des signalements ne concerne pas la vidéo. Un fichier diffusé depuis un partage réseau sans fil exige un débit soutenu que le sans-fil délivre par rafales, et la pause pendant le remplissage du tampon se lit comme une saccade. Copier le fichier en local et réessayer tranche en une étape.
La charge en arrière-plan compte plus qu’elle ne devrait. Un autre onglet lisant une vidéo, un client de synchronisation en cours d’envoi ou une analyse antivirus lisant le même disque se disputent tous les ressources dont la lecture a besoin. Les profils d’économie d’énergie des portables limitent délibérément la fréquence du processeur, et une machine qui lit un fichier sur secteur et saccade sur batterie fait exactement ce pour quoi elle a été configurée.
Rien de tout cela n’est une question de codec, ce qui mérite d’être dit clairement : un pack de codecs n’a jamais traité les questions de cadence, et en installer un pour corriger une saccade ajoute des composants sans toucher à la cause.
Questions fréquentes
Comment mesurer les images perdues au lieu de les deviner ?
Les deux principaux lecteurs exposent un compteur. MPC-HC affiche les images perdues dans sa superposition de statistiques, et mpv les rapporte avec l'affichage des statistiques activé. Un nombre qui grimpe régulièrement pendant la lecture confirme le problème et donne une référence à comparer après chaque modification.
Pourquoi un ordinateur puissant saccade-t-il sur un seul fichier ?
Parce que le coût se compte par image et non par machine. Un fichier 4K HEVC 10 bits à débit élevé peut exiger plus de travail par image qu'un processeur ne peut en fournir en temps réel, surtout si le décodage matériel n'est pas disponible pour cette combinaison précise et que tout retombe sur le logiciel.
Un son décalé signifie-t-il la même chose qu'une image saccadée ?
Au début, oui. Une vidéo qui ne tient pas le rythme perd des images pour rester sur l'horloge, ou prend du retard sur elle, et le décalage est le second cas. En revanche, un décalage qui croît régulièrement depuis le début du fichier relève d'une cadence d'images erronée ou variable dans le conteneur, qu'aucune vitesse de décodage ne corrigera.
La lecture depuis un partage réseau change-t-elle quelque chose ?
Considérablement. Un fichier à débit élevé exige un flux soutenu, et une liaison sans fil le délivre par rafales. Une saccade qui ne survient que sur le réseau et jamais après copie du fichier en local est un problème de transport, et le décodeur fonctionne parfaitement du début à la fin.
Un onglet de navigateur peut-il faire saccader un lecteur séparé ?
Oui, et c'est l'une des causes invisibles les plus fréquentes. Un onglet en arrière-plan qui joue une animation ou une vidéo occupe la puce graphique et se dispute les mêmes blocs de décodage que le lecteur. Tout fermer et réessayer permet de distinguer une vraie limite matérielle d'une simple concurrence.
Pourquoi l'écran se figeait-il complètement sur les anciennes configurations ?
Un écran figé alors que le son continue désigne le moteur de rendu et non le décodeur. Un pilote graphique très ancien, ou qui n'a pas été rechargé après une mise à jour, met le rendu hors service en laissant le décodage intact. Basculer le lecteur sur son moteur le plus élémentaire le confirme en une manipulation.
Publié