Probe score indica cuánta confianza tiene FFmpeg en el formato contenedor de un archivo. FFmpeg es un framework multimedia que lee y convierte archivos de audio y video, y su programa ffprobe muestra el valor del score.
El score es un número entero de 0 a 100, y un número más alto indica una coincidencia más fuerte. El score describe solo el formato contenedor, como MKV o MP4. El score no mide la calidad del sonido o de la imagen.
De dónde proviene el valor
El probe score no se guarda en tu archivo. FFmpeg calcula el número cada vez que abre el archivo.
FFmpeg tiene un pequeño detector para muchos formatos. Cada detector lee el principio del archivo, busca señales de su propio formato y devuelve un score. El formato con el score más alto gana.
FFmpeg empieza con 2048 bytes de datos. Si ningún formato obtiene un score superior a 25, FFmpeg duplica la cantidad y lo intenta de nuevo.
El límite predeterminado es 1.048.576 bytes, aproximadamente 1 MB. En el último intento, cualquier score mayor que 0 es suficiente.
Si la entrada informa un tipo MIME que coincide con un formato, ese formato recibe 30 puntos extra, hasta 100. Si 2 formatos empatan con el score más alto, FFmpeg rechaza ambos. Si no queda ningún formato después del último intento, FFmpeg se detiene con el error Invalid data found when processing input.
Cómo la extensión de archivo afecta al score
Un probe score alto no prueba que la extensión de archivo sea correcta. Por ejemplo, el detector de Matroska devuelve 100 para un tipo de documento conocido en la cabecera del archivo, sin importar cómo se llame el archivo.
Cuando un formato tiene detector, una extensión coincidente normalmente solo eleva un score de 0 a 1. Un formato sin detector depende de la extensión, y una coincidencia le da a ese formato un score de 50. Para comprobar una extensión dudosa, compara la extensión con el nombre de formato que ffprobe muestra junto al score.
Cómo es el valor
Con la opción -show_format, ffprobe muestra el score como una línea en la sección de formato: probe_score=100. El informe XML de ffprobe lleva el mismo número en un atributo llamado probe_score.
Valores típicos
Estos ejemplos vienen del código fuente de FFmpeg 9.0. Otras versiones pueden dar otros números, como 51 para el ejemplo MP3 en FFmpeg 8.1.
100: un archivo MP4 o MOV con una sección llamadaftypomoov100: un archivo Matroska o WebM con un tipo de documento conocido100: un archivo FLAC con información de flujo válida99: un archivo WAV con una cabecera RIFF estándar52: un archivo MP3 con al menos 7 fotogramas de audio al principio51: un archivo AAC en formato ADTS con al menos 3 fotogramas de audio al principio50: un archivo en un formato sin detector, identificado solo por su extensión0: un archivo cuyo formato se forzó con la opción-f, por lo que FFmpeg omitió la detección
Por qué es importante para tu archivo
Un score detectado de 25 o menos es una señal de aviso, no una prueba de un fallo. Entonces FFmpeg muestra un mensaje con las palabras misdetection possible, que significa que FFmpeg puede haber elegido el formato incorrecto.
Un score cercano a 50 es normal para archivos MP3 y AAC, porque sus detectores no devuelven más de 52. Así que un score de 51 o 52 no significa que tu archivo MP3 tenga un problema.
Para un score detectado de 25 o menos, la documentación para desarrolladores de FFmpeg recomienda volver a intentarlo con más datos. La opción -formatprobesize establece el límite para la detección de formato en bytes. Las opciones -probesize y -analyzeduration realizan otra tarea: limitan los datos que FFmpeg lee para encontrar los detalles de los streams.