Dictionnaire

Que signifie un probe score ?

Le probe score est un nombre compris entre 0 et 100. Il indique à quel point FFmpeg est sûr du format conteneur d'un fichier.

probe-score

Le probe score indique à quel point FFmpeg est sûr du format de conteneur d'un fichier. FFmpeg est un framework multimédia qui lit et convertit des fichiers audio et vidéo, et son programme ffprobe affiche ce score.

Le score est un nombre entier compris entre 0 et 100, et un nombre plus élevé signifie une correspondance plus forte. Le score décrit uniquement le format de conteneur, par exemple MKV ou MP4. Le score ne mesure pas la qualité du son ou de l'image.

D'où vient la valeur

Le probe score n'est pas stocké dans votre fichier. FFmpeg calcule ce nombre chaque fois qu'il ouvre le fichier.

FFmpeg dispose d'un petit détecteur pour de nombreux formats. Chaque détecteur lit le début du fichier, recherche des signes de son propre format et renvoie un score. Le format avec le score le plus élevé est choisi.

FFmpeg commence avec 2 048 octets de données. Si aucun format n'obtient un score supérieur à 25, FFmpeg double la quantité et réessaie.

La limite par défaut est de 1 048 576 octets, soit environ 1 Mo. Lors de la dernière tentative, tout score supérieur à 0 suffit.

Si l'entrée indique un type MIME qui correspond à un format, ce format reçoit 30 points supplémentaires, jusqu'à 100. Si 2 formats sont à égalité pour le score le plus élevé, FFmpeg rejette les deux. S'il ne reste aucun format après la dernière tentative, FFmpeg s'arrête avec l'erreur Invalid data found when processing input.

Comment l'extension du fichier influe sur le score

Un probe score élevé ne prouve pas que l'extension de fichier est correcte. Par exemple, le détecteur Matroska renvoie 100 pour un type de document connu dans l'en-tête du fichier, quel que soit le nom du fichier.

Lorsqu'un format dispose d'un détecteur, une extension correspondante fait généralement passer un score de 0 à 1 seulement. Un format sans détecteur dépend de l'extension, et une correspondance lui donne un score de 50. Pour vérifier une extension douteuse, comparez l'extension avec le nom de format que ffprobe indique à côté du score.

À quoi ressemble la valeur

Avec l'option -show_format, ffprobe affiche le score sous forme d'une ligne dans la section format : probe_score=100. Le rapport XML de ffprobe contient le même nombre dans un attribut nommé probe_score.

Valeurs typiques

Ces exemples proviennent du code source de FFmpeg 9.0. D'autres versions peuvent donner d'autres nombres, comme 51 pour l'exemple MP3 dans FFmpeg 8.1.

  • 100 : un fichier MP4 ou MOV avec une section nommée ftyp ou moov
  • 100 : un fichier Matroska ou WebM avec un type de document connu
  • 100 : un fichier FLAC avec des informations de flux valides
  • 99 : un fichier WAV avec un en-tête RIFF standard
  • 52 : un fichier MP3 avec au moins 7 trames audio au début
  • 51 : un fichier AAC au format ADTS avec au moins 3 trames audio au début
  • 50 : un fichier dans un format sans détecteur, reconnu uniquement par son extension
  • 0 : un fichier dont le format a été forcé avec l'option -f, de sorte que FFmpeg a ignoré la détection

Pourquoi cela est important pour votre fichier

Un score détecté de 25 ou moins est un signal d'alerte, pas une preuve d'erreur. FFmpeg affiche alors un message contenant les mots misdetection possible, ce qui signifie que FFmpeg a peut-être choisi le mauvais format.

Un score proche de 50 est normal pour les fichiers MP3 et AAC, car leurs détecteurs ne renvoient pas plus de 52. Ainsi, un score de 51 ou 52 ne signifie pas que votre fichier MP3 a un problème.

Pour un score détecté de 25 ou moins, la documentation développeur de FFmpeg recommande un nouvel essai avec plus de données. L'option -formatprobesize définit la limite de détection de format en octets. Les options -probesize et -analyzeduration ont un autre rôle : elles limitent la quantité de données que FFmpeg lit pour trouver les détails des flux.