Классический форум-трекер
canvas not supported
Нас вместе: 4 249 066


Совeтуeм установить VPN чтобы скрыть Ваш IP-адрес

FAQ по оценке качества кодирования и настройкам кодека x.264


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Видео -> ВидеоFAQ
Автор Сообщение
lexandros ®
Стаж: 11 лет 8 мес.
Сообщений: 2594
Ratio: 561.36
Поблагодарили: 52001
100%
russia.gif
Данный FAQ не претендует на полноту и не может являться руководством для изготовления рипов. Для этих целей в сети существуют гораздо более полные и авторитетные руководства. Это лишь краткая справка для модераторов. чтобы можно было быстро оценить качество рипа при проверке релиза. А также понимать для чего нужны основные параметры кодека и на что они влияют
+++++++++++++++++++++++++++++++++++++++++++++++

Чтение лога x.264
Конечно, основным критерием для оценки качества рипа может являться только визуальный контроль. Причем просмотра скриншота недостаточно. Потому что, на одном кадре картинка может быть идеальной, а на другом (например в движении) - мелкие детали в плохом рипе могут просто исчезнуть. Поэтому визуально оценить качество рипа можно только просмотром, причем фрагментов из разных мест. Панорамные сцены, статичные сцены, динамичные сцены, сцены с мелкими деталями.
Так как модераторы физически не могут делать этого для всех релизов, то приблизительной оценкой качества кодирования может служить лог кодека x.264, который он выдает по окончании процесса кодирования.
Из всего лога нас интересует только верхняя его часть. А именно размеры квантов для трех типов фреймов I,P,B.
Для среднестатистического фильма можно руководствоваться следующей оценкой:
Для оптимального битрейта размер размер B квантов должен находиться в диапазоне 18-22
Если все три типа квантов меньше 18 - битрейт перелит, но терпимо. Если меньше 16 - безбожный перелив (за редкими исключениями - будет пояснено ниже).
Если B кванты больше 22 - имеет место дефицит битрейта. Однако на старых фильмах с москитным шумом - этого не избежать. И обычно B кванты превышают эту цифру. Это надо учитывать.
Примеры (цифры менялись руками из головы, так что кроме размеров квантов на остальное можно не смотреть - оно везде одинаково, но в данных примерах это не важно. В реальных логах, естественно, абсолютно все циферки будут разными в каждом рипе):
  1. Оптимальный битрейт
  2. Незначительный перелив битрейта
  3. Недопустимый перелив битрейта.
    Такие логи обычно получаются при кодировании с crf < 17. Т.к. логи в релизах мы видим крайне редко, то при кодировании методом crf этот параметр может о многом сказать. И если crf в релизе меньше 16.5 - это однозначно говорит о том, что битрейт в рипе безбожно перелит и его размер искусственно раздут раза в полтора, а то и больше. Важное дополнение. Некоторые фильмы (особенно со спокойным статичным видеорядом) имеют очень хорошую сжимаемость. И иногда может возникать ситуация, что при очень маленьких квантах, битрейт балансирует на минимально возможном уровне, установленном тех. требованиями. Значит мы имеем дело с очень сжимаемым видеорядом, и конечно, в таких случаях маленькие кванты не могут быть причиной забраковки релиза.
  4. Небольшой дефицит битрейта. Допустимо в старых фильмах и рипах LQ качества
  5. Недопустимый дефицит битрейта
    В таком рипе гарантированно исчезнут мелкие детали и возможно даже рассыпание картинки


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

Краткое описание ключевых параметров кодека
Полное описание можно посмотреть например здесь: http://www.digital-digest.com/articles/x264_options_page1.html
Я ниже постараюсь кратенько описать основные опции. Для чего они нужны и на что влияют.

Особо важные параметры
  • ref - Количество Reframes (сохраненных кадров). При воспроизведении влияет на плавность смены кадров. Особенно сильно влияет на резких сменах планов и динамичных сценах.
    Это важнейший ключ. Т.к. он жестко привязан к аппаратным возможностям оборудования и регламентирован промышленным стандартом.
    В отличие от других опций, неправильное значение количества Reframes (сохраненных кадров)- может привести к невозможности воспроизведения такого рипа на бытовых устройствах. Количество рефреймов рассчитывается по определенной формуле и зависит от размеров картинки и уровня совместимости оборудования. Стандартом для Blu-Ray плееров и других бытовых устройств в настоящее время является уровень 4.1. На него ориентируемся и мы в разделе HD, и именно на него ориентированы цифры указанные в тех. регламенте.
    Превышение указанных там значений приведет к тому, что бытовые устройства просто не смогут воспроизвести такой файл.
    Общий принцип такой. Чем больше картинка - тем меньше рефреймов может воспроизвести оборудование. Максимальные (они же предпочтительные) значения для различных разрешений:
    • Для формата 720p с AR=2.40, 2.35, 1.37, 1.33: ref=12
    • Для формата 720p с AR=1.85, 1.78, 1.66, 1.60: ref=9
    • Для формата 1080p с AR=2.40, 2.35, 1.37, 1.33: ref=5
    • Для формата 1080p с AR=1.85, 1.78, 1.66, 1.60: ref=4

    Превышение указанных цифр недопустимо ни при каких обстоятельствах - и такой релиз сразу бракуется, независимо ни от чего, какой бы уникальный он не был.
    Значения меньше указанных не приведут к проблемам в воспроизведении. Но при значениях меньше 4 - на резких сменах планов и на динамичных сценах может возникать неприятное подергивание и/или мерцание картинки и тоже очень не рекомендуются. В уникальных релизах или в новинках в качестве временных - допустимы.

  • rc Метод кодирования. Приемлемое для HD качество дают только два метода из всех существующих.
    Наиболее предпочтительный метод rc=2pass. Это двухпроходный метод. Кодек при этом делает сначала быстрый первый проход и создает статистический файл, в котором записан полный анализ видеоряда. На втором проходе кодек используя статистические данные более точно подбирает битрейт и остальные параметры для каждого кадра. При таком методе, при условии правильно подобранного битрейта и остальных параметров, получается наиболее "прозрачный", практически неотличимый от оригинала, рип при минимально возможном размере. Битрейт для такого метода подбирается путем тестовых прогонов, опытные рипперы могут подобрать оптимальный битрейт для конкретного материала, анализируя логи тестовых прогонов и визуально оценивая тестовые энкоды.
    Также неплохие результаты дает метод CRF (rc=crf). Это режим постоянного качества, которое задается параметром crf=основанного на переменном битрейте, каждый кадр кодируется с почти одинаковым математическим качеством. В теории, чем меньше значение crf - тем меньше уровень сжатия и лучше результаты кодирования. Однако на практике это не всегда так (чуть ниже объясню подробнее). Выбор битрейта и остальных параметров рассчитывается для каждого кадра по сложному алгоритму, учитывая анализ движения и остальные особенности видеоряда. Этот метод однопроходный, часто используется рипперами, т.к. требует меньше времени на энкод.
    Путем многочисленных экспериментов, эмпирически получены границы оптимальных значений crf. Как правило, для среднестатистического видеоряда, значения crf меньше 17, уже не дают какого либо заметного улучшения качества, а лишь увеличивают битрейт и тем самым раздувают итоговый размер результата. И наоборот, значения crf выше 19-20 в итоге приводят к чрезмерному уровню сжатия, дефициту битрейта и как правило к неудовлетворительному качеству результата.
    Здесь также необходимо отметить, вынужденное занижение значений crf, необходимое в некоторых случаях.
    Некоторые фильмы (особенно со спокойным статичным видеорядом) имеют очень хорошую сжимаемость. И иногда может возникать ситуация, что даже при сильно заниженных значениях crf, битрейт балансирует на минимально возможном уровне, установленном тех. требованиями. Значит мы имеем дело с очень сжимаемым видеорядом. И вполне возможно, что заниженные значения crf были заданы намеренно, чтобы "попасть" в нижнюю планку битрейта. В таких нестандартных случаях заниженные значения crf не могут служить причиной для забраковки релиза, и говорить о низком качестве рипа.

  • cabac=1 CABAC (Context-Adaptive Binary Arithmetic Coding / Контекстно-Адаптивное Двоичное Арифметическое Кодирование) - это умная техника сжатия без потерь. При отключении CABAC (cabac=0) энкодер начнет использовать CAVLC (Контекстно-Адаптивное Неравномерное Кодирование). CABAC дает сжатие, приблизительно, на 10-20% больше, по сравнению с CAVLC.

  • bframes Количество последовательных B-кадров между I- и P- кадрами. Не вдаваясь в технические подробности и сложные объяснения, наиболее простым языком можно сказать - оптимальное значение b-кадров значительно улучшает степень сжатия и наряду с reframes улучшает плавность воспроизведения.
    Количество b-кадров для каждого видеоряда индивидуально. И обычно колеблется от 8 до 16. Определяется методом тестовых прогонов.
    Значение ниже 6 может привести к заметным "рывкам" при воспроизведении и кроме того к значительному ухудшению сжатия и как следствие к искусственному раздутию размера

  • b_adapt Позволяет x264 адаптивно решать, где будут использоваться B-кадры, уменьшая количество B-кадров там, где это не нужно. Улучшает сжимаемость результата.


Паметры влияющие на качество кодирования движения.
  • me= Метод оценки движения полного пикселя. Может принимать следующие значения:
    • dia (diamond, ромб) - простейший поиск, начиная с одного пикселя одного кадра, начинают просматриваться соседние пиксели на соседнем кадре, на один пиксель выше, правее, ниже и левее. Выбирается наиболее вероятно сдвинувшийся пиксель и процесс повторяется до тех пор, пока не будет найден лучший пиксель или пока не будет достигнут предел диапазона поиска движения
    • hex (hexagon, шестиугольник) - состоит из подобной стратегии, но использует для поиска 6 окружающих точек, отсюда и название - шестиугольник. Значительно эффективней, чем dia, но немного медленнее. Оптимален для повседневного кодирования.
    • umh (неравный мультишестиугольник) - значительно медленнее, чем hex, но ищет используя сложную модель мультишестиугольника. Лучше предыдущего, способен найти сложные векторы движения, ценой потери скорости кодирования. В отличие от предыдущих алгоритмов, в этом, и во всех последующих, опция --merange задает не количество итераций, а радиус, в пределах которого будет искаться пиксель.
    • esa (exhaustive, исчерпывающий) - высокооптимизированный интеллектуальный поиск на всей области поиска векторов движения, в пределах лучшего merange предсказания. Это математически эквивалентно методу поиска перебором, для каждого вектора движения в этой области, но быстрее. Этот метод значительно медленнее чем umh, но не дает значительного повышения качества, поэтому не рекомендован для повседневного кодирования.
    • tesa (transformed exhausive, преобразовано-исчерпывающий) - алгоритм, который пытается улучшить эффект Hadamard преобразования, сравнивая с каждым вектором движения. Похож на esa, но немного лучше и немного медленнее.

    Минимальный рекомендуемый уровень - umh. Значения ниже (hex,dia) приведут к низкому качеству анализа динамичных сцен. Более высокие значения (esa,tesa) чрезвычайно сильно увеличивают время кодирования, и в подавляющем большинстве случаев являются избыточными и не влияют на качество рипа. Следовательно, при сравнении рипов, значения выше umh не дают какого-либо преимущества.

  • me_range Тесно связан с параметром me. И задает количество попыток нахождения оптимального варианта направления вектора движения макроблока или радиус поиска пикселя. Также как и предыдущий параметр - сильно влияет на качество анализа и кодирования динамичных сцен.

  • subme Уровень оценки подпикселей. Влияет на качество кодирования динамичных сцен. При рекомендуемом нами уровне 9, подключается режим "предсказания" движения для всех типов кадров. Это минимальный рекомендуемый уровень для получения качественных динамичных сцен без шлейфов и без потери мелких деталей.


Остальные параметры кодека уже в меньшей степени влияют на качество и размер рипа. Их можно назвать "тюнинговыми". Они позволяют более точно задавать различные режимы кодека и при правильном использовании могут давать потрясающие результаты, когда рип вообще неотличим от исходника и при этом физически в разы меньше. Однако описание всех этих параметров выходит за пределы этого короткого FAQ и достойно отдельной объемной статьи.

Также модераторы должны обращать внимание на различные нестандартные опции. Т.е. если модератор замечает какие-то дополнительные опции, которых нет в большинстве рипов - это повод для беспокойства. Может указывать на то, что над данным рипом поработали "шаловливые ручонки" и мы имеем дело с очередным народным творчеством. Сразу одобрять такие рипы нельзя - и если не хватает знаний и опыта самостоятельно оценить значение таких неизвестных параметров, и их влияние на конечный результат - лучше посоветоваться с коллегами.

**********
На этом краткий экскурс в кодек x.264 я заканчиваю. Тем кто дочитал до конца, спасибо за внимание!

_________________
Все исправлено? Напишите в ЛС. Ссылка на релиз в теле сообщения - обязательна.
Набор модераторов в категорию Видео | Правила оформления релизов в разделе Видео | Тех. регламент размещения релизов в разделе Видео
K.E.N
Стаж: 11 лет 10 мес.
Сообщений: 4417
Ratio: 138.04
Поблагодарили: 454299
100%
Откуда: Mordor
pirates.png
На заметку, как рефку считать
8388608/W/H=ReFrames

Допустим, Союзники / Allied (2016) BDRip [H.264/720p]
8388608/1280/534=12, что соответствует в данном рипе.

Примерный вариант будет так
1920x1080 L4.1 и Reframes < = 4
1920x816 L4.1 и Reframes < = 5
1280x720 L4.1 и Reframes < = 9
1280x544 L4.1 и Reframes < = 12

Главным образом эти рефки влияют, сможет ли ТВ плеер прочесть рип или нет.
Если в рипе рефка 16, это не значит что он лучше, больше не всегда лучше.
Kalex
Администратор
Стаж: 17 лет 5 мес.
Сообщений: 46165
Ratio: 128.325
Поблагодарили: 15220
100%
nnm-club.gif
Онлайн калькулятор максимально допустимых значений ref для видео:
H264 Maximum References Frames https://planetcalc.com/3321/
А то вечно ищешь эту ссылку... а в комментариях общих рабочих вопросов сразу теряется и забывается.

_________________
NNMClub и IPv6/Teredo
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Видео -> ВидеоFAQ Часовой пояс: GMT + 3
Страница 1 из 1
Загрузка...