Dictionnaire

Qu'est-ce que la durée ?

La durée est le temps total de lecture d’un fichier audio ou vidéo. Voici comment les fichiers stockent cette valeur et pourquoi 2 programmes peuvent afficher des chiffres différents.

duration

La durée est la longueur de temps pendant laquelle quelque chose dure. Dans un fichier multimédia, la durée correspond au temps de lecture total. La durée vidéo indique combien de temps une vidéo est lue du début à la fin, et la durée audio signifie la même chose pour une chanson ou un enregistrement.

Vous voyez généralement ce nombre dans votre lecteur multimédia comme le temps total. Dans les métadonnées, la même information apparaît dans un champ nommé Duration.

Quels fichiers le portent

La durée concerne les fichiers qui se lisent dans le temps, c'est-à-dire les fichiers audio et vidéo. Les photos fixes et les documents texte n'ont normalement pas de champ de durée.

Les images animées sont un cas particulier. Un fichier GIF stocke un délai pour chaque image, mais pas de temps total. ExifTool indique tout de même une Duration pour un passage de l'animation.

D'où vient la valeur

Certains formats stockent directement la longueur. D'autres formats stockent des valeurs que les logiciels utilisent pour calculer cette longueur.

  • MP4 et MOV : l'en-tête du film stocke une échelle de temps et une durée. L'échelle de temps est le nombre d'unités de temps par seconde, et la durée compte ces unités.
  • MKV et WebM : les informations de segment peuvent contenir un élément Duration facultatif, compté en ticks. Par défaut, un tick correspond à une milliseconde.
  • MP3 : la balise ID3 peut contenir une trame TLEN avec la longueur en millisecondes. ExifTool calcule la longueur à partir d'autres valeurs, comme la taille du fichier et le débit binaire.
  • FLAC : le fichier stocke le nombre total d'échantillons et la fréquence d'échantillonnage. Le logiciel calcule la longueur à partir de ces 2 valeurs, et une valeur totale de 0 signifie que le nombre est inconnu.
  • WAV : ExifTool calcule la longueur à partir de la moyenne d'octets par seconde et de la taille du fichier.

À quoi ressemblent les valeurs

La même durée peut apparaître sous différentes formes, selon le programme qui lit le fichier :

  • 00:05:15 : heures, minutes et secondes. Ce fichier dure 5 minutes et 15 secondes.
  • 15.23 s : secondes, avec l'unité affichée.
  • 200.541000 : un nombre sans unité. Le programme ffprobe du projet FFmpeg affiche la durée de cette façon, avec 6 chiffres après la virgule. Le nombre signifie 200,541 secondes, soit environ 3 minutes et 21 secondes.
  • N/A : dans son format de sortie par défaut, ffprobe affiche ceci lorsque la durée est manquante. Les formats de sortie JSON et XML omettent simplement la durée.

Un nombre sans unité n'est pas toujours exprimé en secondes. La trame TLEN compte les millisecondes, et la valeur duration_ts dans ffprobe compte des unités basées sur la base de temps du flux. Vérifiez quel champ vous a donné ce nombre.

Pourquoi les programmes peuvent afficher des durées différentes

Différents programmes peuvent afficher des durées différentes pour le même fichier, sans que l'un ou l'autre soit forcément erroné. Voici 4 raisons possibles :

  • Arrondi : un lecteur qui n'affiche que les secondes entières arrondit 200.541 à la hausse ou à la baisse.
  • Pistes séparées : l'image et le son ont des pistes distinctes, et chaque piste a sa propre durée. Dans un fichier MOV, la durée du film correspond à la piste la plus longue.
  • Heures de début : chaque flux peut avoir sa propre heure de début. FFmpeg peut mesurer du début le plus tôt à la fin la plus tardive, de sorte qu'un démarrage tardif peut rendre la durée totale plus longue.
  • Estimations : un fichier peut avoir un débit binaire mais aucune durée. FFmpeg estime alors la durée à partir du débit binaire et de la taille du fichier, et avertit que le résultat peut être inexact.

Pourquoi c'est important

La durée vous permet de vérifier un fichier sans le lire. Si vous attendez un clip de 5 minutes et 15 secondes et que vous voyez 15.23 s, le fichier n'est peut-être pas celui que vous attendiez.

La durée est aussi liée à d'autres valeurs. FFmpeg peut calculer le débit binaire global à partir de la taille du fichier et de la durée.