La base de temps est l'unité de temps dans laquelle un flux compte. Au lieu de stocker les horodatages en secondes, un fichier multimédia compte en « ticks » de sa propre horloge, et la base de temps indique la durée d'un tick. Elle est écrite comme une fraction de seconde.
Quels fichiers le contiennent et d'où vient la valeur
Vous trouverez une base de temps sur les flux individuels à l'intérieur des fichiers multimédias : l'image, le son et les éventuels sous-titres dans les flux MP4, MOV, MKV, WebM, AVI et MPEG transport, ainsi que dans les fichiers audio autonomes. Chaque flux a la sienne, de sorte que l'audio et la vidéo d'un même fichier comptent généralement dans des unités différentes.
La valeur est choisie par l'encodeur ou le programme qui a assemblé le fichier. Certains formats de conteneur imposent une base de temps particulière et la fixent directement ; lorsque le format laisse le choix ouvert, le programme d'écriture choisit une valeur adaptée au contenu, et un fichier peut simplement reprendre la valeur par défaut de ce programme.
À quoi ressemble la valeur
C'est toujours une fraction, et le nombre en dessous est le nombre de ticks par seconde :
1/1000- une milliseconde par tick, le choix habituel dans les fichiers Matroska et WebM1/90000- utilisé de longue date dans les flux MPEG transport1/48000- les flux audio comptent souvent en échantillons, donc la base de temps correspond à la fréquence d'échantillonnage1/12800- une valeur fréquemment observée sur les flux vidéo dans les fichiers MP4
Pour convertir un horodatage en secondes, multipliez-le par la fraction. Un horodatage de présentation de 12800 dans un flux avec une base de temps de 1/12800 correspond exactement à une seconde ; avec une base de temps de 1/1000, un horodatage de 3500 correspond à trois secondes et demie. C'est pourquoi les horodatages bruts dans un rapport apparaissent comme des nombres énormes : ce sont des comptes de ticks, pas des secondes. Des applis plus anciennes peuvent aussi afficher une ligne séparée « Codec Time Base » en plus de celle-ci.
Pourquoi c'est important
Tout ce qui se produit dans un fichier multimédia arrive sur un nombre entier de ticks, donc la base de temps définit la précision maximale que le flux peut exprimer. Si une image ou un échantillon tombe entre deux ticks, son horodatage doit être arrondi, et ces erreurs d'arrondi s'accumulent.
C'est un véritable problème pour les fréquences d'images vidéo qui ne sont pas des nombres entiers. Au débit de diffusion de 30000 images pour 1001 secondes, une image dure un peu plus de 33 millisecondes mais pas un nombre entier de millisecondes, de sorte qu'une base de temps en millisecondes ne peut positionner aucune image exactement. Une base de temps avec plus de ticks par seconde, un nombre plus grand au dénominateur de la fraction, peut tomber précisément sur chaque frontière d'image, c'est pourquoi les encodeurs préfèrent des valeurs comme 1/12800 ou 1/90000 plutôt que de simples millisecondes.
Les conséquences apparaissent sous forme de défauts de synchronisation plutôt que comme quelque chose de visible sur une image isolée : le son qui dérive progressivement par rapport à l'image, un espacement irrégulier des images, une coupe ou une recherche qui tombe légèrement à côté. Assembler des fichiers dont les flux comptent avec des bases de temps différentes signifie que tous les horodatages doivent être rescales, et cette conversion est une source classique de bugs de synchronisation. Ce champ n'a, à lui seul, aucun effet sur la qualité de l'image ou du son, et il ne contient aucune information personnelle.