Как количественно оценить и сравнить качество видео - PullRequest
1 голос
/ 27 февраля 2012

У меня есть набор несжатых видео в формате YUV.

Я получил несколько производных копий в различных форматах и ​​разрешениях из этих файлов yuv с использованием транскодирования FFmpeg. (YUVs ----> X производные копии)

То, что я также сделал, это перекодировать yuv в AVI с таким же разрешением, и теперь получил тот же набор производных (транскодированных) видео, рассматривая AVI как master. (AVIs ----> X производные копии)

Теперь я хочу сравнить качество транскодированного видео, полученного из AVI, с качеством, полученным из YUV.

Есть ли способ сделать это с помощью FFmpeg. Как? Если нет, можете ли вы предложить какое-нибудь хорошее программное обеспечение с открытым исходным кодом для этого.

Спасибо

1 Ответ

2 голосов
/ 16 ноября 2012

Если у вас есть время, это то, что я делал в прошлом. 1. Используйте ffmpeg, чтобы разделить оба видеофайла на их компоненты (сначала убедитесь, что у вас есть место на диске):

ffmpeg -i file1.avi -f image2 file1-%015d.bmp
ffmpeg -i file2.avi -f image2 file2-%015d.bmp
  1. Используйте imagemagick Сравните , чтобы определить различия в каждом кадре (замените NNNNNN на количество кадров, которые вам дал ffmpeg):
for FNAME in {1..NNNNNN}; do
    compare file1-$FNAME.bmp file2-$FNAME.bmp tmp.png
    compare -metric PSNR file1-$FNAME.bmp file2-$FNAME.bmp tmp.png >> results
done
  1. Открытие файла приводит к созданию электронной таблицы и вычисляет среднее значение, стандартное отклонение и т. Д. ... это скажет вам, насколько отличаются файлы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...