Итак, я натолкнулся на следующий вопрос. Как правильно рассчитать качество 1080p 720p 360p 240p? Но это для H264 MP4 файлов.

Для файлов MP4 я установил постоянный коэффициент -crf равным 18 для всех типов качества.

Но в webm, что это должно быть установлено для различных типов качества. 360p 480p 720p 1080p

Это моя текущая командная строка webm.

"C:/server/ffmpeg/bin/ffmpeg.exe" -y -i Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/f941f37ad1ee7645bdd1d9773a53f286.mpg -s 528x360   -vcodec libvpx -g 120 -rc_lookahead 16   -qmax 51 -qmin 11  -vb 2M  -b 500k -bufsize 1000k -pass 1 -an -f webm Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/24bbec26dd3a2dc0809d996ea816bfbe.webm 2>&1

"C:/server/ffmpeg/bin/ffmpeg.exe" -y -i Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/f941f37ad1ee7645bdd1d9773a53f286.mpg -s 528x360   -vcodec libvpx -g 120 -rc_lookahead 16   -qmax 51 -qmin 11  -vb 2M -maxrate 24M -minrate 100k   -b 500k -bufsize 1000k -pass 2 -acodec libopus -ab 90k -f webm Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/84/1a/33/24bbec26dd3a2dc0809d996ea816bfbe.webm 2>&1

У меня нет набора crf, но видеовыходы вне зависимости от размера выглядят слегка блочными и пикселированными, поэтому я думаю, что я должен установить один.

1 ответ1

2

Если выходные данные выглядят слишком блочными или пиксельными, это происходит из-за слишком низкого битрейта. Я вижу, вы установили 500 кбит / с, но это слишком мало для достижения приемлемого качества с видео с разрешением 720p или выше.

В руководстве по кодированию VP8 перечислено несколько опций, которые есть у вас при использовании кодера libvpx. Я согласен с вами, что использование коэффициента постоянной скорости является правильным подходом для достижения одинакового уровня качества изображения, независимо от разрешения видео.

Вы использовали CRF 18 для кодера x264, который считается очень высоким качеством (возможно, не без потери качества, но потеря качества не должна быть заметной). Для libvpx диапазон CRF немного отличается. 10 - это хорошее значение по умолчанию (это будет 23 для x264), и поэтому я, вероятно, рекомендую использовать что-то вроде CRF 6-7 для libvpx.

Обратите внимание, что параметр -qmin должен быть установлен равным или меньшим выбранной вами CRF. В противном случае он не может кодировать.

Помните, что результирующая скорость передачи битов имеет верхнюю границу, заданную на уровне, указанном параметром -b:v . Поэтому, если ваш CRF слишком низкий, а битрейт установлен на -b:v 2M , ваш конечный битрейт будет 2 Мбит / с.

Но на самом деле нет ничего лучше, чем просто попробовать разные ценности. Все зависит от того, как выглядит ваш вклад или какова ваша целевая программа для видео. Если вы просто используете веб-трансляцию, вам не нужно такое высокое качество видео. Если вы хотите автономное хранилище, тогда, конечно, лучше использовать более низкую CRF.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .