Предположим, у меня есть один и тот же видео материал, закодированный в два (или более) файла. Я хотел бы запустить на них какую-нибудь утилиту, которая бы указала, какой файл является «лучшим» по качеству. «По существу» означает, что я хотел бы получить отчет, который сравнивает различные аспекты (например, разрешение видео, битрейт видео, частота дискретизации аудио, битрейт аудио и т. Д. И т. Д.) Один за другим, а затем некоторую интегральную оценку, которая учитывает все их.
Это касается функциональности, но для того, чтобы эта утилита была действительно полезной, она должна быть с открытым исходным кодом и командной строкой.
video
comparison
avi
pfalcon
источник
источник
Ответы:
Я занимаюсь исследованием качества видео, и мне сложно дать простой ответ на ваш вопрос. Вам нужна программа, которая дает вам средний балл мнения (MOS) видео, то есть число от 1 до 5 или от 0 до 100, что соответствует качеству, воспринимаемому человеком.
Почему вы не можете просто сравнить битрейт / разрешение / и т.д.
Просто сравнение разрешения видео ничего не скажет о качестве. На самом деле, это может вводить в заблуждение. Разрыв фильма с разрешением 1080p при размере 700 МБ может выглядеть хуже, чем разрыв с разрешением 720p при 700 МБ, поскольку для первого слишком низкая скорость передачи битов, что приводит к появлению всех видов артефактов сжатия.
То же самое касается сравнения битрейта при одинаковых размерах кадра, так как разные кодеры могут фактически обеспечить лучшее качество при меньшем битрейте или наоборот. Например, разрыв 720p на 700 МБ, созданный с XviD, будет выглядеть хуже, чем разрыв на 700 МБ, созданный с x264, потому что последний намного более эффективен.
Вы также должны будете определить, как окончательная «интегральная оценка» (MOS) состоит из отдельных факторов качества. Это сильно зависит от нескольких вещей, включая, но не ограничиваясь:
Мы даже не говорим о том, как люди воспримут видео. Предположим, у вас есть друг, который смотрит фильмы, потому что он или она наслаждаются четкими деталями и высоким разрешением движения. Они были бы гораздо более критичны, когда видели низкокачественный рип, чем друг, который просто смотрит фильмы для своего контента . Они, вероятно, не будут заботиться о качестве так долго, пока фильм забавный или интересный.
Существуют различные типы показателей качества видео!
Позвольте мне дать вам список того, что, на мой взгляд, наиболее часто используется для базовой оценки качества видео сегодня. Существует несколько показателей качества видео, которые можно классифицировать в зависимости от того, какой вид информации используется для определения качества. В принципе и очень просто, вы различаете следующее:
Метрики без ссылок - у них есть только одно видео на входе и выводит показатель качества. В вашем случае вы ищете показатель без ссылок , потому что у вас часто нет даже оригинального видео. Такая метрика будет занимать одно видео и выводить один показатель качества. Вот несколько примеров проблем, которые обнаружит метрика NR (например, размытие).
Полноценные метрики - у них есть два входа, один из которых является исходным входным видео, а другой - закодированным видео. Например, вы можете взять фильм на DVD, затем создать из него два фрагмента и использовать метрику с полной ссылкой для оценки потери качества между исходным фильмом DVD (т. Е. Видео MPEG-2 на диске) и вашими фрагментами. Это займет много времени для вычисления, но это более точно.
Вышеуказанные метрики смотрят на качество кодирования видео, но есть также метрики, которые включают в себя такие проблемы, как время начальной загрузки и события останова при потоковой передаче видео (например, ITU-T P.1203 ).
Какое программное обеспечение я могу использовать?
Вот список готовых инструментов, которые вы можете использовать для проверки некоторых метрик (некоторые только для Windows):
Теперь, какие метрики есть?
PSNR, PSNR-HVS и PSNR-HVS-M
Для начала PSNR (пиковое отношение сигнал / шум) - это очень простой в использовании, но несколько плохой метод оценки качества видео. Это работает относительно хорошо, хотя для большинства приложений, но это не дает хорошей оценки того, как люди будут воспринимать качество.
PSNR можно вычислять покадрово, а затем вы, например, усредняете PSNR всей видеопоследовательности, чтобы получить окончательный результат. Чем выше PSNR, тем лучше.
PSNR-HVS и PSNR-HVS-M являются расширениями PSNR, которые пытаются имитировать зрительное восприятие человека, поэтому они должны быть более точными. VQMT и MSU могут рассчитывать PSNR, PSNR-HVS и PSNR-HVS-M между двумя видео.
SSIM, MS-SSIM
Структурное сходство (SSIM) так же легко вычислить, как и PSNR, и оно дает более точные результаты, но все же по кадрам. Вы можете найти некоторые реализации по ссылке в Википедии, или вы можете использовать VQMT или MSU . Эти инструменты также включают MS-SSIM, который дает лучшие (то есть, более репрезентативные) результаты, чем SSIM, а также некоторые другие производные.
Результаты должны быть похожи на PSNR. Опять же, вам нужно сравнить ссылку на обработанное видео, чтобы это работало, и оба видео должны быть одинакового размера.
VMAF
Многофункциональная оценка видео Fusion от Netflix - это набор инструментов для расчета качества видео на основе некоторых существующих метрик, которые затем объединяются методами машинного обучения в итоговую оценку от 0 до 100. Netflix объяснил все это здесь :
Вы также можете использовать
ffmpeg
для расчета баллов VMAF .VQM
Качество видео Metric был подтвержден в Quality Experts Group Video (VQEG) и очень хороший полный справочник алгоритм. Вы можете скачать VQM бесплатно или использовать реализацию из МГУ.
При регистрации и загрузке вы хотите использовать общую модель NTIA или модель качества видео с переменной задержкой кадров .
Другие метрики
Оба они являются коммерческими решениями, и вы не найдете программное обеспечение для загрузки для них.
Существуют также некоторые стандарты МСЭ на нереферентные показатели, такие как МСЭ-Т P.1201 и МСЭ-Т P.1202 , которые работают с параметрами из потока битов для потоковой передачи IPTV. МСЭ-T P.1203 может использоваться для случаев адаптивной потоковой передачи.
Резюме
Если вы просто хотите сравнить простые объективно измеримые критерии, такие как:
... простой звонок
ffmpeg -i
должен дать вам все детали, которые вам нужны в начале. Также посмотрите на-vstats
вариант. Затем вы можете суммировать это в электронной таблице. Обратите внимание, что когда вы кодируете видео,x264
например, записывает такие вещи, как PSNR, прямо в файл, если вам нужно, чтобы вы могли использовать эти значения позже.Что касается взвешивания этих критериев, вам, вероятно, следует подчеркнуть скорость передачи данных, но только если вы знаете, что кодек тот же. Можно сказать, что когда оба видео используют x264, лучше использовать видео с более высоким битрейтом. В более общем смысле, вам следует выбирать более низкое разрешение, когда у вас есть два видео с одинаковым битрейтом, поскольку ухудшение из-за увеличения масштаба не так плохо, как ухудшение из-за низкого битрейта.
Сравнение разных кодеков по их битрейту невозможно, если вы не знаете больше о контенте и индивидуальных настройках кодирования. Частота кадров тоже очень субъективная вещь и должна учитываться в ваших измерениях, если она значительно ниже 25 Гц.
Подводя итог, сильно подчеркните битрейт, если это единственное, что у вас есть. Не забудьте использовать свои глаза тоже :)
источник
Я не знаю ни одного инструмента, который даст вам окончательную рекомендацию или оценку, но с помощью FFmpeg вы можете вывести все детали, которые вы указали в вопросе.
В командной строке ffmpeg -i отобразит информацию из видео. Оттуда вы можете написать скрипт, который будет анализировать информацию и оценивать ее по своему усмотрению.
источник