Il probe score indica quanto FFmpeg è sicuro del formato contenitore di un file. FFmpeg è un framework multimediale che legge e converte file audio e video, e il suo programma ffprobe riporta il punteggio.
Il punteggio è un numero intero da 0 a 100, e un numero più alto indica una corrispondenza più forte. Il punteggio descrive solo il formato contenitore, per esempio MKV o MP4. Il punteggio non misura la qualità dell'audio o del video.
Da dove proviene il valore
Il probe score non è memorizzato nel tuo file. FFmpeg calcola il numero ogni volta che apre il file.
FFmpeg ha un piccolo rilevatore per molti formati. Ogni rilevatore legge l'inizio del file, cerca segnali del proprio formato e restituisce un punteggio. Il formato con il punteggio più alto vince.
FFmpeg inizia con 2048 byte di dati. Se nessun formato ottiene un punteggio superiore a 25, FFmpeg raddoppia la quantità e riprova.
Il limite predefinito è 1.048.576 byte, ovvero circa 1 MB. All'ultimo tentativo, qualsiasi punteggio superiore a 0 è sufficiente.
Se l'input riporta un tipo MIME che corrisponde a un formato, quel formato ottiene 30 punti extra, fino a 100. Se 2 formati pareggiano per il punteggio più alto, FFmpeg li rifiuta entrambi. Se non resta alcun formato dopo l'ultimo tentativo, FFmpeg si interrompe con l'errore Invalid data found when processing input.
In che modo l'estensione del file influisce sul punteggio
Un probe score alto non dimostra che l'estensione del file sia corretta. Per esempio, il rilevatore Matroska restituisce 100 per un tipo di documento noto nell'intestazione del file, qualunque sia il nome del file.
Quando un formato ha un rilevatore, un'estensione corrispondente di solito alza un punteggio da 0 a 1. Un formato senza rilevatore dipende dall'estensione, e una corrispondenza assegna a quel formato un punteggio di 50. Per verificare un'estensione dubbia, confronta l'estensione con il nome del formato che ffprobe riporta accanto al punteggio.
Come appare il valore
Con l'opzione -show_format, ffprobe stampa il punteggio come una riga nella sezione del formato: probe_score=100. Il report XML di ffprobe riporta lo stesso numero in un attributo chiamato probe_score.
Valori tipici
Questi esempi provengono dal codice sorgente di FFmpeg 9.0. Altre versioni possono restituire numeri diversi, come 51 per l'esempio MP3 in FFmpeg 8.1.
100: un file MP4 o MOV con una sezione chiamataftypomoov100: un file Matroska o WebM con un tipo di documento noto100: un file FLAC con informazioni di stream valide99: un file WAV con un'intestazione RIFF standard52: un file MP3 con almeno 7 frame audio all'inizio51: un file AAC in formato ADTS con almeno 3 frame audio all'inizio50: un file in un formato senza rilevatore, riconosciuto solo dall'estensione0: un file il cui formato è stato forzato con l'opzione-f, quindi FFmpeg ha saltato il rilevamento
Perché è importante per il tuo file
Un punteggio rilevato di 25 o inferiore è un segnale di avviso, non la prova di un errore. FFmpeg stampa quindi un messaggio con le parole misdetection possible, che significa che FFmpeg potrebbe aver scelto il formato sbagliato.
Un punteggio vicino a 50 è normale per i file MP3 e AAC, perché i loro rilevatori non restituiscono più di 52. Quindi un punteggio di 51 o 52 non significa che il tuo file MP3 abbia un problema.
Per un punteggio rilevato di 25 o inferiore, la documentazione per sviluppatori di FFmpeg raccomanda di riprovare con più dati. L'opzione -formatprobesize imposta il limite, in byte, per il rilevamento del formato. Le opzioni -probesize e -analyzeduration hanno un ruolo diverso: limitano i dati che FFmpeg legge per trovare i dettagli degli stream.