Словник

Що означає probe score?

Оціночний бал (probe score) - це число від 0 до 100. Він показує, наскільки впевнений FFmpeg у контейнерному форматі файла.

probe-score

Оцінка розпізнавання показує, наскільки впевнена FFmpeg у контейнерному форматі файлу. FFmpeg це мультимедійний фреймворк, який зчитує та конвертує аудіо- і відеофайли, а його програма ffprobe повідомляє цю оцінку.

Оцінка це ціле число від 0 до 100, і більша цифра означає сильнішу відповідність. Оцінка описує лише контейнерний формат, наприклад MKV або MP4. Вона не вимірює якість звуку чи зображення.

Звідки походить значення

Оцінка розпізнавання не зберігається у вашому файлі. FFmpeg обчислює це число щоразу, коли відкриває файл.

FFmpeg має невеликий детектор для багатьох форматів. Кожен детектор зчитує початок файлу, шукає ознаки свого формату і повертає оцінку. Формат із найвищою оцінкою перемагає.

FFmpeg починає з 2048 байтів даних. Якщо жоден формат не набирає понад 25, FFmpeg подвоює обсяг і пробує знову.

Типове обмеження становить 1 048 576 байтів, тобто приблизно 1 МБ. Під час останньої спроби достатньо будь-якої оцінки вище 0.

Якщо вхідні дані містять тип MIME, що відповідає формату, цей формат отримує 30 додаткових балів, але не більше 100. Якщо 2 формати набирають однаковий найвищий бал, FFmpeg відхиляє обидва. Якщо після останньої спроби жодного формату не залишилося, FFmpeg зупиняється з помилкою Invalid data found when processing input.

Як розширення файлу впливає на оцінку

Висока оцінка розпізнавання не доводить, що розширення файлу правильне. Наприклад, детектор Matroska повертає 100 для відомого типу документа в заголовку файлу, незалежно від його назви.

Коли формат має детектор, відповідне розширення зазвичай лише підвищує оцінку з 0 до 1. Формат без детектора покладається на розширення, і збіг дає такому формату оцінку 50. Щоб перевірити сумнівне розширення, порівняйте його з назвою формату, яку ffprobe показує поруч з оцінкою.

Як виглядає значення

З параметром -show_format ffprobe виводить оцінку окремим рядком у секції формату: probe_score=100. У звіті XML програми ffprobe це саме число міститься в атрибуті з назвою probe_score.

Типові значення

Ці приклади взято з вихідного коду FFmpeg 9.0. Інші версії можуть давати інші значення, наприклад 51 для прикладу MP3 у FFmpeg 8.1.

  • 100: файл MP4 або MOV із секцією ftyp або moov
  • 100: файл Matroska або WebM із відомим типом документа
  • 100: файл FLAC із коректною інформацією про потік
  • 99: файл WAV зі стандартним заголовком RIFF
  • 52: файл MP3 щонайменше з 7 аудіокадрами на початку
  • 51: файл AAC у форматі ADTS щонайменше з 3 аудіокадрами на початку
  • 50: файл у форматі без детектора, який визначили лише за його розширенням
  • 0: файл, формат якого був примусово заданий параметром -f, тому FFmpeg пропустила автоматичне розпізнавання

Чому це важливо для вашого файлу

Виявлена оцінка 25 або нижче є попереджувальним знаком, але не доказом помилки. Після цього FFmpeg виводить повідомлення зі словами misdetection possible, що означає, що FFmpeg могла вибрати неправильний формат.

Оцінка близько 50 є нормальною для файлів MP3 та AAC, оскільки їхні детектори не повертають більше ніж 52. Тому оцінка 51 або 52 не означає, що з вашим файлом MP3 є проблема.

Для виявленої оцінки 25 або нижче документація для розробників FFmpeg рекомендує повторити спробу з більшим обсягом даних. Параметр -formatprobesize задає ліміт виявлення формату в байтах. Параметри -probesize та -analyzeduration виконують іншу задачу: вони обмежують обсяг даних, який FFmpeg зчитує для пошуку відомостей про потоки.

Мета ключі