Videorip.info

Учимся кодировать видео и делимся опытом

Настройки кодека x264 в MeGUI, Presets (пресеты)

Содержание материала

Настройки кодека x264 в MeGUI

Настройка x264 в MeGUI

Данная статья представляет собой описание всех настроек x264 в MeGUI. С рекомендациями и примечаниями.

Новичкам хватит и первой вкладки, с основными настройками, а более продвинутым пользователям понадобится описание всех остальных параметров кодирования.

Дополнительные вкладки доступны только после включения опции: Advanced Settings.

Статья актуальна для MeGUI версии 2028.




Если нашли ошибку или неточность в описании - сообщите администрации. Контакты внизу страницы.

Encoding Mode - Режим кодирования:

В ниспадающем списке выбираем нужный режим кодирования, и задаем его настройки в соседнем поле ввода.

Доступные режимы:
ABR - кодирование с переменным битрейтом
Const. Quantizer - кодирование с постоянным квантизером (QP)
2pass - 1st pass - кодирование в два прохода, настройка первого прохода
2pass - 2nd pass - кодирование в два прохода, настройка второго прохода
Automated 2pass - кодирование в два прохода, автоматический режим
3pass - 1st pass - кодирование в три прохода, настройка первого прохода
3pass - 2nd pass - кодирование в три прохода, настройка второго прохода
3pass - 3rd pass - кодирование в три прохода, настройка третьего прохода
Automated 3pass - кодирование в три прохода, автоматический режим
Const. Quality - кодированеи с постоянным качеством (CRF)

Preset - Пресет:

Система, добавленная с ревизии r1177, спроектирована на уменьшение работы, необходимой для формирования сценария, который дает ту степень качества, которая Вам нужна.

Presets (пресеты, изменения обеспечиваются передвижением ползунка)

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

Ultrafast (ультра-быстрый):
no-8x8dct, aq-mode 0, b-adapt 0, bframes 0, no-cabac, no-deblock, no-mbtree, me dia, no-mixed-refs, partitions none, rc-lookahead 0, ref 1, scenecut 0, subme 0, trellis 0, no-weightb, weightp 0

Superfast (супер-быстрый):
no-mbtree, me dia, no-mixed-refs, partitions i8x8,i4x4, rc-lookahead 0, ref 1 subme 1, trellis 0, weightp 1

Veryfast (очень быстрый): 
no-mixed-refs, rc-lookahead 10, ref 1, subme 2, trellis 0, weightp 1

Faster (еще быстрее):
no-mixed-refs, rc-lookahead 20, ref 2, subme 4, weightp 1

Fast (быстрый):
rc-lookahead 30, ref 2, subme 6, weightp 1

Medium (средний):
нет изменений по сравнению с теми, что выставлены первоначально.

Slow (медленный): 
b-adapt 2, direct auto, me umh, rc-lookahead 50, ref 5, subme 8

Slower (медленнее): 
b-adapt 2, direct auto, me umh, partitions all, rc-lookahead 60, ref 8, subme 9, trellis 2

Veryslow (очень медленный): 
b-adapt 2, bframes 8, direct auto, me umh, merange 24, partitions all, ref 16, subme 10, trellis 2, rc-lookahead 60

Placebo (плацебо):
bframes 16, b-adapt 2, direct auto, slow-firstpass, no-fast-pskip, me tesa, merange 24, partitions all, rc-lookahead 60, ref 16, subme 10, trellis 2

В консоли--preset <string>

По умолчанию: Medium

Tune - Тонкие настройки (тюнинг):

Опции тюнинга далее оптимизируют настройки вашего входного источника видео. Если Вы определите настройку, то изменения будут применены после того, что было задано пресетами, но перед всеми другими параметрами

film:
оптимизация установок для кодирования фильмов:
deblock -1:-1, psy-rd 1:0.15

animation:
оптимизация установок для кодирования аниме:
ref (удваивает базовое значение reference, если оно больше чем 1Гб в противном случае выставляет 1), deblock 1:1, psy-rd 0.4:0, aq-strength 0.6, bframes (добавляет 2 bframes к значению по умолчанию)

grain:
Оптимизация для зернистого изображения с повышенной детализацией:
deblock -2:-2, psy-rd 1:0.25, no-dct-decimate, ipratio 1.1, pbratio 1.1, aq-strength 0.5, deadzone-intra 6, deadzone-inter 6, qcomp 0.8

psnr:
оптимизация для PSNR:
aq-mode 0, no-psy

ssim:
оптимизация для SSIM:
aq-mode 2, no-psy

fastdecode:
оптимизация для быстрого декодирования содержания:
no-deblock, no-cabac, no-weightb, weightp 0

zerolatency:
оптимизация для потокового видео, такого как IPTV:
bframes 0, force-cfr, no-mbtree, sync-lookahead 0, sliced-threads, rc-lookahead 0

Рекомендация: Согласно вашему исходнику. Не определяйте, если ваш исходник не соответствует ни одной из опций.

В консоли: --tune <string>

По умолчанию: не установлен

AVC Profiles - Профили:

Устанавливает порог профиля на выходной поток. Эта опция отменяет все другие установки, так что, если вы используете эту опцию, то вам будет гарантирован совместимый поток. Если вы установите эту опцию, то вы не сможете применить кодирование в режиме без потерь lossless encoding (--qp 0 или --crf 0).

Доступные варианты опций профиля имеют:

Baseline - Устанавливает no-8x8dct, no-cabac, cqm flat, bframes 0, weightp 0. Можно получить на выходе файл с ошибками, если используется интреляция.
Main - Устанавливает no-8x8dct и cqm flat.
High - Нет ограничений.
High10 - Тоже что и High, но с поддержкой глубины изображения в 10bit. (экспериментальная опция)

В консоли: --profile <sting>

Рекомендации: High, если ваше устройство воспроизведения может поддерживать не только профили Main или Baseline.

AVC Level - Уровни:

Устанавливаем уровень выходного потока (определено стандартом H.264).

Уровень влияет на поддержку оборудованием. В спецефикации к вашему устройству должен быть указан максимальный поддерживаемый уровень.

Target Playback Device - Конечное устройство воспроизвидения:

Здесь Вы можете выбрать свое устройсто, тем самым указав специфические, для него, настройки кодирования.













Вкладка Frame-type

Frame-Type

H.264 Features:

Deblocking

Использование фильтра подавления блоков с параметрами - alpha (сила подавления блоков):beta (точность определения блоков). При кодировании изображение разбивается на блоки размерами 8х8 пикселей и каждый такой блок кодируется отдельно. При недостаточном битрейте, эти блоки становятся заметными. Включение данной опции поможет решить проблему.

Рекомендации: Параметр "alpha" рекомендуется выбрать от -3 до 3. Большее значение увеличивает силу подавления блоков, но картинка становится немного размытой (используйте при низких битрейтах или при кодировании мультипликации). Меньшее значение уменьшает силу, зато картинка остается достаточно чёткой (используйте при высоких битрейтах). Если не знаете, что выбрать, то оставьте 0 - подходит для большинства случаев.
Параметр "beta" рекомендуется выбирать от -2 до 2. При больших значениях, кодек может распознать некоторые детали за блок и применить к ним фильтр подавления блоков. При меньших значениях, деталей сохранится больше, но некоторые блоки могут быть приняты за деталь (используйте меньшие значения при кодировании мультипликации - в ней четкие контуры, поэтому кодек не ошибется). Желательно чтобы этот параметр отличался не больше, чем на единицу от предыдущего. Если не знаете, что выбрать, то оставьте 0 - подходит для большинства случаев.
Сила деблокинга вычисляется для каждого макроблока, исходя из квантизера для него и близлежащих макроблоков. Альфа определяет: является ли приграничный квадрат блочным или же на самом деле это деталь. Это похоже на порог. Бета так же похожа на порог, но используется для того, чтобы убедиться в однородности картинки с обеих приграничных сторон и, тем самым, отделить детали от блочности. Когда определена блочность, альфа решает, какую силу использовать (максимально допустимое изменение пикселя). Бета немного изменяет силу, если блок однородный. Сила деблокинга: Порог деблокинга. Порог деблокинга устанавливает жёсткость отбора блочности фильтром. Сила деблокинга регулирует, как сильно определённые блоки будут смягчены. Значения по умолчанию сочетают аккуратность удаления блочности и сохранение деталей. Значения должны лежать в диапазоне от -3 до 3 (чем ниже значения, тем меньше устраняется блочность. Отрицательные значения не означают, что блочность оставляется).
Примечание: Слишком высокие значения дадут потерю многих деталей и текстур или смазывание. Установка слишком низких значений оставит резкие края и "москитный шум" (mosquito noise). Должна быть положительная взаимосвязь между двумя коэффициентами деблокинга (желательно, чтобы обе цифры были отрицательными или положительными). Если Вы увеличиваете силу, то должны увеличить и порог
В MediaInfo: deblock=1:<integer>:<integer>

Deblocking Strength

Сила подавления блоков, параметр альфа. Описание выше.

Deblocking Threshold

Точность определения блоков, параметр бета. Описание выше.

CABAC

CABAC (Context-Adaptive Binary Arithmetic Coding / Контекстно-Адаптивное Двоичное Арифметическое Кодирование) - это умная техника сжатия без потерь. Если эту опцию отключить - энкодер начнет использовать CAVLC (Контекстно-Адаптивное Неравномерное Кодирование).

Рекомендации: Для карманных устройств(КПК, КМК и смартфонов) лучше использовать CAVLC. Так как их мощности не хватит что бы справится с CABAC.
Примечание: CABAC дает сжатие, приблизительно, на 10-20% больше, по сравнению с CAVLC.
CABAC использует больше процессорного времени для кодирования и декодирования.
В MediaInfo: cabac=0..1

GOP Size:

Maximum GOP Size

Максимальный интервал между ключевыми/IDR кадрами. Этот параметр контролирует количество кадров между ключевыми, и если по достижению придела ключевой кадр не наступил - принудительно его ставит. Стандартный размер GOP'а динамически вычисляется во время кодирования для максимального сжатия.
IDR(ключевые) кадры - это так называемые кадры-разделители. Кадры, находящиеся в промежутке между двумя ключевыми кадрами не могут ссылаться на кадры, вне этого промежутка. Также, сами ключевые кадры являются I-кадрами, так что они не могу использоваться как референсные. По этому они могут использоваться в качестве контрольных точек в видеопотоке.

Примечание: Влияет на перемотку видео в плеере. Если значения очень большие, то при перемотке(прокрутке), не по ключевым кадрам, видео в плеере будет немного притормаживать. Так как декодеру придется отрендерить все кадры начиная с ближайшего ключевого и до выбранного пользователем. Перемотка не по ключевым кадрам поддерживается на уровне плеера, кодека.
Рекомендации
: Значение по умолчанию применимо в большинстве случаев. Если Вы хотите использовать собственное значение, используйте следующую формулу: fps*10 (значение должно быть целым числом, кратным 10-и). Если Вы кодируете для Blu-ray или потокового видео, то возможно, Вам придется использовать значения, равные частоте кадров итогового видео. Большие значения полезны только для статичного видео.
То есть для частоты кадров в 25 нужно выбирать 250, для 23,976 - 240 и для 29,970 - 300.
В MediaInfo: keyint=<integer>

Minimum GOP Size

Минимальное расстояние между ключевыми (I) кадрами. Минимальный размер группы.
Устанавливает минимальный размер группы картинок - GOP'а. Макроблоки в картинке одного GOP'а не могут быть связанными (референсами) с макроблоками картинки из другого GOP'а, с помощью начального кадра этой группы (IDR кадров) выполняется поиск по фильму. Размер GOP'а динамически вычисляется во время кодирования для максимального сжатия, хотя маленький GOP может обеспечить лучшую передачу динамичных сцен, но это приведёт к излишней трате битрейта.
Максимально значение не должно превышать: keyint/2+1.

Open GOP

Open-GOP(Group Of Pictures) - техника увеличивающая эффективность кодирования. По сути, open-gop запрещает трансформацию B-кадра в P-кадр, если текущий кадр должен быть ключевым, исходя из значения --keyint, но новая сцена еще не началась. Это позволяет уменьшить излишне большое количество ключевых кадров и дает меньший битрейт, и соответственно более высокую степень сжатия.

Рекомендации: Полезно, если Вы используете низкие значения --keyint.
Примечание
: Некоторые декодеры не поддерживают open-gop, по этому эта опция не включена по умолчанию.
В MediaInfo: open_gop=<integer>

Slicing:

Nb of slices by Frame

Указываем количество частей (квадратов), на которые будет разбит кадр.

Рекомендации: Если Вы кодируете Blu-ray - используйте значение 4. В противном случае вообще не используйте эту опцию. Разве что Вы точно знаете что она вам нужна.

Max size (in bytes)

Задаем максимальное размер slice в байтах.

Примечание: На данные момент конфликтует с --tff, --bff.

Max size (in mbs)

Задаем максимальный размер slice в макроблоках.

Примечание: На данные момент конфликтует с --tff, --bff

B-Frames:

Weighted Prediction for B-Frames

Позволяет "взвешивать" ссылки на B-кадры. Управляя, таким образом, тем, на сколько каждая ссылка будет влиять на предполагаемое изображение. Эта опция отключает данную возможность.

В MediaInfo: weightb=<integer>

Number of B-frames

Количество последовательных B-кадров между I- и P- кадрами. B-кадры – это кадры, в которых закодированы изменения не только от предыдущих кадров, но и от последующих. Имеют еще большую степень сжатия, чем P-кадры, но также и наихудшее качество. B-кадры подобны P-кадрам, кроме того, они могут использовать предсказание движения от будущих кадров также. Это может привести к значительному улучшению степени сжатия.

Рекомендации: Оптимальные значения: 2..6.
Если Вы используете --b-adapt 2, то можно смело задавать --bframes 16. Это самый простой способ, так как выбор оптимального значения падает на енкодер.
Оптимальное значение для конкретного видео можно получить путем чтения статистики первого прохода.
Примечание: При высоких значениях, больших чем необходимо, кодирование может быть значительно замедленно, без выйграша в качестве. Также большое количество В-кадров затрудняет декодирование.
В MediaInfo: bframes=<integer>

B-frames bias

Контролирует количество B-кадров, которые будут использованы вместо P-кадров.

Рекомендации: Используйте, только если считаете что сможете добиться лучшего контроля битрейта, чем сам x264.
Примечание: Значения выше 0 увеличивают вероятность использования В-кадров, а значения ниже 0 - уменьшают. Значения равные 100/-100 гарантируют/не гарантируют что каждый Р-кадр будет преобразован. Для этого используйте --b-adapt 0.
В MediaInfo: b_bias=<integer>

Adaptive B-Frames

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

Рекомендации: При высоком значении --bframes лучше задавать значение 2.
Настройки
:
  0 - полностью отключить
  1 - "быстрый" алгоритм. Этот метод позволяет использовать --bframes 16
  2 - оптимальный алгоритм, медленнее предыдущего
Примечание: В многопроходном кодировании эта опция необходима только для первого прохода, где типы кадров определены.
В MediaInfo: b_adapt=<integer>

B-Pyramid

Позволяет B-кадрам ссылаться на другие В-кадры, тем самым увеличивая эффективность использования 2-х или более B-кадров.

Типы:
  none - запрещает использовать В-кадры как референсные.
  strict - разрешают по 1-му референсному В-кадру на каждый minigop (соблюдает ограничения стандарта Blu-ray).
  normal - разрешает множественное использование референсных В-каров на каждый minigop.
Примечание: Без этого параметра, В-кадры могут ссылаться только на I- или P-кадры. Хотя I/P-кадры и более ценны, из-за их более высокого качества, B-кадры также могут быть полезными.
Необходимо значение --bframes выше 2-х. Немного замедляет кодирование. При кодировании для Blu-ray не используйте normal.
В MediaInfo: b_pyramid=<integer>

Other:

Number of Reference Frames

Параметр задает количество используемых рефернсных кадров. Определяет, сколько предыдущих кадров может быть связано (заимствование макроблоков) с P- или B-кадрами.

Рекомендации: Приблизительно 4-6. Большие значения могут быть полезны для анимации, аниме, скринкастов и другого "статичного" видео.
Примечание: При 5-ти и более референсных кадрах, качество, обычно, повышается незначительно.
Кроме того, 4 - максимальное значение для 1080p, а 9 - максимальное для 720p, придерживаясь спецификации Level 4.1. Это самый высокий уровень, поддерживаемый в большинстве бытовой электроники, которая поддерживают воспроизведение H.264, включая также Xbox 360 и Playstation 3.
Чем больше референсных кадров, тем медленнее кодирование.
В MediaInfo: ref=<integer>

Number of Extra I-Frames

Этот параметр определяет на сколько часто будут использоваться дополнительные I-кадры. x264 высчитывает метрику каждого кадра, что бы определить насколько он отличается от предыдущего. Если полученное значение меньше чем установлено для scenecut, то энкодер помещает в этом месте I-кадр, но только если последний ключевой кадр был не раньше чем --min-keyint. Если значение выше, то вставляет ключевой/IDR кадр. Полезность определения смены сцен заключается в оптимальной расстановке I-кадров в местах резкой смены сцен. Это повышает качество, но слишком частая смена приведёт к напрасной трате битрейта.

Примечание: Значение "0" соответствует отключению опции Adaptive I-Frame Decision.
В MediaInfo: scenecut=<integer>

P-frame Weighted Prediration

Взвешенное предсказание яркости для P-кадров, которое улучшает затухания и градиенты цвета (небо и т. п.).

Варианты:
  Disabled - отключено
  Blind - оценка затуханий
  Smart - оценка затуханий и поиск референсных дубликатов
В MediaInfo: weightp=<integer>

Interlaced Mode

Включаем череcстрочное кодирование.

Варианты:
  none - отключено
  TFF - включено, первое поле - верхнее
  BFF - включено, перове поле - нижнее

Рекомендации: Чересстрочное кодирование необходимо только для чересстрочных дисплеев.
Примечание: x264 использует для череcстрочного кодирования MBAFF, и это намного хуже прогрессивного кодирования.
В MediaInfo: interlaced=1

Pulldown

Выбираем пресет софт-телесина для входного видео. Телесин - это способ преобразования видео в телевизионный формат. То есть частота исходного видео подгоняется под частоту телевещания (50Гц - PAL, 60Гц - NTSC), при этом возможно незначительное ускорение видео. Данный параметр задает тип исходного преобразования, для выполнения обратного.

Пресеты: none, 22, 32, 64, double, triple, euro (требует crf входное видео).
Примечание: использование любого пресета, кроме none, подразумевает использование --pic-struct.
В MediaInfo: Неизвестно

Adaptive I-Frame Decision

Полное отключение адаптивных I-кадров. 














Rate Control

Вкладка Rate Control

 

Quantizers:

Min/Max/Delta

Определяет минимальный квантизатор, который x264 будет когда-либо использовать. Чем ниже квантизатор, тем ближе будет выходное видео к входному по качеству.

Рекомендации: Значение по умолчанию оптимально в большинстве случаев. Но если вы считаете что энкодер тратит часть битрейта в пустую, то можете поднять значение где то до 16-и. Это практически не повлияет на визуальное качество, зато уменьшит битрейт, а в следствии и размер.
Примечание: Что бы узнать насколько эффективно используется данный квантизер, посмотрите лог кодирования.
В MediaInfo: qpmin=<integer>

Устанавливаем максимальное значение квантизера. Это не даёт кодеру слишком сильно сжимать кадры, тем самым ухудшая качество.

Рекомендации: Устанавливать значения ниже стандартного нужно только если Вы считаете что некоторые кадры сжаты слишком сильно.
В MediaInfo: qpmax=<integer>

Устанавливает, как сильно может изменяться квантизер между последовательными кадрами, придерживаясь одного уровня качества.
То есть, при --qpstep=4 если кадр будет закодирован с QP=20, то квантизатор следующего кадра не будет, ниже 16 или больше 24.

Рекомендации: Можно повысить для очень динамичного видео.
В MediaInfo: qpstep=<integer>

Quantizers Ratio (I:P)

Устанавливает уровень среднего прироста качества I-кадров, по сравнению с Р-кадрами.

Примечание: Чем выше значение, тем выше качество I-кадров.
В MediaInfo: ip_ratio=<float>

Quantizers Ratio (P:B)

Устанавливает средний уровень снижения качества для B-кадров, по сравнению с P-кадрами. 

Примечание: Чем выше значение, тем ниже качество В-кадров. Не используется с mbtree(включен по умолчанию), который сам высчитывает оптимальное значение.
В MediaInfo: pb_ratio=<float>

Deadzones (Inter)

Установит inter (внешний) размер luma-квантизеру deadzone.

В MediaInfo: deadzone=<integer>

Deadzones (Intra)

Установит intra (внутренний) размер luma-квантизеру deadzone.

В MediaInfo: deadzone=<integer>

Chroma QP Offset

Устанавливает уровень снижения качества между яркостной и цветовой составляющими. Человеческий глаз более чувствителен к изменению яркости, чем цвета. Понизив цветовую детализацию можно повысить уровень сжимаемости. Обычно, x264 кодирует все три цветовых составляющих (luma-яркость, U -1-й цветоразностный сигнал, V -2-й цветоразностный сигнал) с тем же самым квантизатором. Это значение будет добавлено к квантизаторам для U и V составляющих. Это позволяет Вам смещать x264 в пользу яркости (luma), устанавливая положительные значения, сигналы цветности будут иметь более высокие квантизаторы, или в пользу цвета (сигнал цветности), устанавливая отрицательные значения. Помните, что x264 кодирует видео, как YV12, что означает, что сигнал цветности поднимает только половину цветового пространства, а luma делает так или иначе.

Рекомендации: Лучше не изменять значение по умолчанию, так как его может изменять сам x264. К примеру psy-RD снижает его на 2-а.
Примечание
: x264 кодирует luma и chroma с одинаковым квантизиром только до Q=29.
В MediaInfo: chroma_qp_offset=<integer>

Credits Quantizer

Нет описания.

Adaptive Quantizers: 

Mode

Без AQ, x264, как правило, не производит перераспределение битрейта для снижения или повышения детализации сцен. AQ лучше перераспределяет битрейт между всеми макроблоками в видео.

Режимы:
Disabled - Не использовать AQ вообще.
Variance AQ (complexity mask) - Разрешает AQ для перераспределения битов в каждом кадре.
Auto-Variance AQ (still experimental) - Авто-инвариантность AQ (экспериментальная) позволяет перераспределять биты по всему видео.
В MediaInfo: aq=<integer>

Strenght

Устанавливает силу AQ, для подавления блочности и размытия на "плоских" и текстурированных областях.

Рекомендации: Применяйте в диапазоне от 0.7 (большая детализация изображения, но и больше артефактов) до 1.5 (меньшая детализация, но значительное снижение вероятности появления артефактов). Всё зависти от качества источника изображения.
Примечание: Отрицательные значения не допускаются. Значения больше/меньше чем на 100% от стандартного скорее всего приведут к полному искажению идео.
В MediaInfo: aq=<float>

Quantizers Matrices

Позволяет использовать заранее заданные матрицы квантования. В последних версиях кодека х264 категорически запрещено применять матрицы квантования, поскольку данная функция обеспечивается функцией адаптивного квантования --aq-mode.

Варианты:
  Flat (none)
  JVT
  Собственная матрица

Rate Control:

VBV Buffer Size

Устанавливаем размер VBV(Video Buffer Verifier) буфера в килобайтах.

Рекомендации: Значение по умолчанию оптимально. Другие значения могут привести к снижению качества.
В MediaInfo: Не отображается

VBV Maximum Bitrate

Дополнительный параметр управления битрейтом. Устанавливает максимальный битрейт, разрешённый в видео-буфере.

Рекомендации: Значение по умолчанию оптимально. Другие значения могут привести к снижению качества.
В MediaInfo: Не отображается

VBV Initial Buffer

Задаем размер VBV буфера, каким он должен быть перед началом воспроизведения.

В MediaInfo: Не отображается

Bitrate Variance

Регулирует, как сильно будет колебаться битрейт относительно установленного среднего битрейта.

Рекомендации: Низкие значения ограничивают изменение битрейта, создавая выходной файл, хорошо попадающий в итоговый размер, исходя из установленного битрейта, но ухудшают способность кодека адаптироваться к изменению сложных сцен. Высокие значения увеличивают изменения (скачки) битрейта, которые ухудшают возможность потоковой передачи и делают размер непредсказуемым, но улучшают способность кодека адаптироваться к изменению сложных сцен. Установка значения в 0% даст в результате работу в режиме постоянного битрейта. Установив 100%, Вы получите изменения битрейта в зависимости от сложности кодируемой сцены. (Установив 100% Вы получите сжатие в режиме постоянного квантизера - CQ).
Примечание
: Задается в процентах. То есть 1.0 соответствует 1.0%.
В MediaInfo: Не отображается

Quantizer Compression

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

Примечание: 0 означает постоянное качество, 1 означает максимальные колебания.
В MediaInfo: qcomp=<float>

Temp. Blur of est. Frame complexity

Временное сглаживание оценки сложности сцены (кадров). Более низкие значения этого параметра позволяют квантизерам более резко изменяться при усложнении или упрощении сцены. Более высокие значения заставляют квантизеры меняться более плавно. Cplxblur гарантирует, что каждый опорный I-кадр сопоставим по качеству со следующим P-кадров. Также эта опция позволяет не тратить впустую биты при кодировании чередующихся сложных и простых сцен, во время которых происходят флуктуации квантизеров. Имеет смысл поэкспериментировать с этим параметром при кодировании анимации.

Примечание: Задействуется только при двухпроходном кодировании.
В MediaInfo: cplxblur=<float>

Temp. Blur of Quant after CC

Временное сглаживание параметров квантизации. Похоже на --cplxblur, только используется не до, а после curve compression (--qcomp).

Примечание: Данный параметр задействуется только при двухпроходном кодировании.
В MediaInfo: qblur=<float>

Nb of Frames for Lookahead

Устанавливает число кадров, используемых в mb-tree ratecontrol и vbv-lookahead. Большие значения улучшают результаты mb-tree, но замедляют кодирование. Для vbv-lookahead большие значения дадут большую точность и стабильность

Рекомендации: 40..60
Примечание: Не может быть больше --keyint. Если будет задано больше чем --keyint, то x264 автоматически уменьшит его до значения --keyint.
Использует очень много оперативной памяти. Значения больше 100, при размере ОЗУ меньше 2Gb могут привести к падению(экстренное завершение) x264.
В MediaInfo: Не отображается

Use MB-Tree

Эта опция передаёт информацию от следующих блоков к предыдущим блокам поперек векторов движения. Эту опцию можно было описать, как ограничение --qcomp, чтобы воздействовать на индивидуальные блоки вместо целых сцен. Таким образом, вместо того, чтобы понижать качество в сценах высокой сложности (как x264 в настоящее время делает), эта опция понизит качество только на сложной части сцены, в то время, как например, статический фон останется высококачественным. Эта опция также имеет много других более тонких эффектов, некоторые дают потенциально отрицательный результат, но во многих случаях MB-Tree Rate Control даёт положительный результат. Применение его помогает при всех битрейтах, и может даже помочь при феноменально низких битрейтах, где видео иначе развалилось бы полностью на блоки...

В MediaInfo: mbtree=0..1














Analysis - Анализ

Вкладка Analysis

Motion Estimation:

Chroma M.E.

Обычно, оценка движения производится, как для яркостного так и для цветоразностных сигналов. Данная опция позволяет отключить оценку движения сигнала цветности для небольшого увеличения скорости кодирования.

В MediaInfo: chroma_me=<integer>

M.E. Range

Определяет максимальное количество попыток (с измененными данными) нахождения оптимального варианта при поиске вектора движения макроблока. Чем больше, тем лучше качество.

Рекомендации: Стандартное значение для SD видео и 24 для HD видео. Падение скорости не стоит выигрыша в качестве, времени кодирования уже после 32.
Желательно использовать значения кратные 4-м.
Примечание: Для umh, esa и tesa, увеличение merange значительно замедлит кодирование.
Для dia и hex диапазон значений: 4..16.
В MediaInfo: me_range=<integer>

M.E. Algorithm

Устанавливаем метод оценки движения полного пикселя.

Методы:
Diamond (ромб) - простейший поиск, начиная с одного пикселя одного кадра, начинают просматриваться соседние пиксели на соседнем кадре, на один пиксель выше, правее, ниже и левее. Выбирается наиболее вероятно сдвинувшийся пиксель и процесс повторяется до тех пор, пока не будет найден лучший пиксель или пока не будет достигнут предел диапазона поиска движения
Hexagon (шестиугольник) - состоит из подобной стратегии, но использует для поиска 6 окружающих точек, отсюда и название - шестиугольник. Значительно эффективней, чем dia, но немного медленнее. Оптимален для повседневного кодирования.
Multi hex (неравный мультишестиугольник) - значительно медленнее, чем hex, но ищет используя сложную модель мультишестиугольника. Лучше предыдущего, способен найти сложные векторы движения, ценой потери скорости кодирования. В отличие от предыдущих алгоритмов, в этом, и во всех последующих, опция --merange задает не количество итераций, а радиус, в пределах которого будет искаться пиксель.
Exhaustive (исчерпывающий) - высокооптимизированный интеллектуальный поиск на всей области поиска векторов движения, в пределах лучшего merange предсказания. Это математически эквивалентно методу поиска перебором, для каждого вектора движения в этой области, но быстрее. Этот метод значительно медленнее чем umh, но не дает значительного повышения качества, поэтому не рекомендован для повседневного кодирования.
SATD Exhausive (преобразовано-исчерпывающий) - алгоритм, который пытается улучшить эффект Hadamard преобразования, сравнивая с каждым вектором движения. Похож на esa, но немного лучше и немного медленнее.
Рекомендации: umh
В MediaInfo: me=<string>

Subpixel Refinement

Задаем сложность оценки подпикселя. Уровни 1-5 просто управляют силой обработки подпикселя. Уровень 6 допускает RDO для режима предсказания, и уровень 8 допускает RDO для векторов движения и intra режимов предсказания.

Уровни:
  00 - fullpel only (не рекомендуется)
  01 - метод предсказания SAD, одна QPel итерация
  02 - метод предсказания SADT
  03 - постепенное увеличение QPel
  04 - постоянный QPel
  05 - QPel и Bidir ME
  06 - метод предсказания RD для I-/P- кадров
  07 - метод предсказания RD для всех типов кадров
  08 - RD обработка для I-/P- кадров
  09 - RD обработка для всех типов кадров
  10 - QP-RD (требует: --trellis 2 и --aq-mode >0)
Рекомендации: Стандартное значение или выше
Примечание: Чем выше уровень, тем ниже скорость кодирования.
В MediaInfo: subme=<integer>

Extra:

MV Prediraction mod

Определяет метод нахождения векторов движения.

Доступные методы:
None - отключает поиск векторов движения.
Spatial - использует для поиска соседние блоки одного кадра. Может повысить PSNR.
Temporal - использует для поиска блоки соседних кадров. Немного лучше предыдущего.
Auto - сам выбирает какие блоки использовать.
Примечание: auto лучше всего подходит для двухпроходного режима, но так же может использоваться и при однопроходном. auto нужно задавать во время обоих проходов, иначе второй проход будет автоматически использовать temporal.
Использовать none крайне не рекомендуется.
Рекомендации
: auto – для двухпроходного режима, и spatial - при кодировании с CRF
В MediaInfo: direct=<integer>

Trellis

Выполняет треллис квантование для повышения эффективности сжатия. На всех решениях, кроме 0, скорость падает очень сильно.

Варианты:
0 - отключено
1 - только на макроблоках
2 - везде
Рекомендации: 2, но при условии совместной работы с psy-trellis, иначе происходит незначительное замыливание мелких деталей. Требует включенного CABAC.
Примечание: Вариант 1 - хороший компромисс между падением скорости и повышением эффективности.
В MediaInfo: trellis=<integer>

Psy-RD Strength и Psy-Trellis Strength

Psy-RDO позволяет экономно, с точки зрения битрейта, закодировать шумы видеоряда и значительно повысить детализацию изображения. Зернистость большинства видеоматериалов создаёт эффект большей детализации изображения, но после воздействия шумоподавляющих фильтров происходит замыливание изображения. Psy-RDO позволяет регулировать силу психовизуальной адаптации высокочастотных деталей изображения по следующему сценарию: вместо кодирования мелких деталей максимально приближенными к исходному материалу, Psy-RDO кодирует их максимально похожими на источник удобным с точки зрения битрейта способом, повышая таким образом детализацию изображения и несколько завышая показатели шума в PSNR. При этом мелкие детали не замыливаються, а заменяются похожими и выгодными кодеку структурами. Этот метод требует дополнительного битрейта в меньших объёмах при значительном повышении детализации изображения.

Рекомендации: оставьте всё по умолчанию, хотя для многих исходных материалов вполне приемлемы значения 1.0:0.15 при условии установки --aq-strength 0.7..1.2 и --trellis 2
Примечание: Психовизуальный метод имеет два параметра настройки:
Первый параметр - сила психовизуальной адаптации PSY-RDO (требует активации, чтобы --subme >-6). При PSY-RDO = 0 кодек отключает специфическую психовизуальную адаптацию вовсе. При этом кодек использует старую ssd метрику, которая стремится к большей точности, но не похожести мелкой детализации. Увеличение параметра PSY-RDO повышает детализацию и зернистость изображения, уменьшение наоборот их снижает. Следите за этим параметром внимательно, не допуская перешарпности изображения и таким образом ещё и экономя битрейт.
Второй параметр - сила Psy-Trellis. Чтобы использовать требуется --trellis >=1. Отметьте, что Psy-Trellis всё еще считают 'экспериментальной', и не рекомендуется, чтобы Вы использовали для реального кодирования, хотя кодирует всё же. При этом не повышайте величину Psy-Trellis более 0.5, хотя бы в начале.
В MediaInfo: psy_rd=<float>:<float>

No Mixed Reference frames

Позволяет каждой 8x8 частице, в макроблоке, независимо выбирать связанный (референсный) кадр, в отличие от обычного метода, где только один референсный вектор на макроблок. Немного снижает скорость кодирования. Эта опция отключает эту возможность.

В MediaInfo: mixed_ref=<integer>

No Dct Decimation

Кодер пишет видеопотоку все анализируемые блоки DCT. В результате на следующий этап компрессии подаётся оптимизированный сигнал. Если эту трансформацию отключить, то можно выиграть в детализации при двухпроходном кодировании, поскольку у кодека за 2 прохода появляется возможность оценить весь видеоряд. 

Рекомендации: Используйте (то есть отключайте) при кодировании в --crf.
Примечание: Эта опция отключает данную функцию.
В MediaInfo: Не отображается

No Fast P-Skip

Быстрый пропуск определения P-кадров повышает скорость, но может вызвать небольшую блочность в местах, где есть непрерывная цветовая гамма или лёгкий градиент (тёмные сцены или небо).

Рекомендации: Используйте (то есть отключайте) при кодировании в --crf
Примечание: На низких битрейтах даст небольшое улучшение качества, ценой сильного падения скорость кодирования. На высоких битрейтах, незначительно влияет как на качество, так и на скорость кодирования.
Включение этой опции отключит быстрый пропуск.
В MediaInfo: fast_pskip=<integer>

No Psychovisual Enhancements

Отключаем все психовизуальные методы.

Примечание: Это снизит PSNR и SSIM.
В MediaInfo: Не отображается

Noise Reduction

Оценивает шумность фильма и, основываясь на этом значении, пытается удалить шум с минимальными потерями деталей перед квантованием. Это далеко не лучший способ удаления шума (внешние фильтры дают лучшее качество), зато очень быстрый.

Рекомендации: По умолчанию или (100..1000 для шумоподавления)
В MediaInfo: nr=<integer>

Macroblocks:

Partitions

x264 разбивает каждый кадр на части(макроблоки), и кодирует каждую отдельно. Этот параметр позволяет задать дополнительные параметры разбиения для каждого типа кадров.

Доступные partitions: p8x8(включает в себя p16x8/p8x16), p4x4(включает в себя p8x4/p4x8), b8x8(включает в себя b16x8/b8x16), i8x8, i4x4
Вы можете также установить none(отключить все) или all(включить все).
Рекомендации: Значение по умолчанию - оптимально. Для получения максимально качества можно использовать all, но скорее всего будет не лучше чем используя значение по умолчанию.
Примечаниеp4x4 вообще то не очень полезен и его применение значительно снижает скорость кодирования при незначительном повышении качества изображения. Для HD видео лучше вообще не использовать.
i8x8 может использоваться только в High Profile
В MediaInfo: analyse=<string>

Bly-Ray:

HRD Info

Задаем HDR информацию. Необходимо для Blu-ray, телевизионных потоках и в некоторых других специализированных областях.

Рекомендации: Не использовать, разве что вам нужна эта информация.
Допустимые значения:
none - не записывать HDR информацию
vbr - записывать HDR информацию
cbr - записывать HDR информацию и запаковывать видеопоток в битрейт, указанный в --bitrate. Только при кодировании в постоянный битрейт.
Примечание: Требует включенного --vbv-bufsize
В MediaInfo: Не отображается

Use Access Unit Delimiters

Используется для совместимости, когда AVC помещают в транспортные потоки (включая MPEG-2 TS).

В MediaInfo: Не отображается

Face Interlaced

Обозначает видеопоток как чересстрочный, даже если он таковым не является. Позволяет кодировать видео для Blu-ray с частотой кадров в 25 и 30 в секунду.

В MediaInfo: Неизвестно (обычно отображает как прогрессивное)

Enable Bly-ray compatibility

Включаем совместимость с Blu-ray.

В MediaInfo: bluray_compat=<integer>


 

 













Misc

Вкладка Misc

Custom Command Line:

Сюда вы можете ввести любые команды x264. Все введенные тут команды перезапишут выбранные в предыдущих меню.
Полный список команд можете посмотреть тут.

Files:

Logfile

Этот файл создается при первом проходе, и используется в последующих. Хранит информацию о всех кадрах.

Use qp File

Ручная отмена стандартного ratecontrol. Просто указываем на файл, который содержит значения квантизера и frametype для каждого кадра.

Формат: "framenum frametype quantizer".
Например:
0 I 18 < IDR (key) I-frame
1 P 20 < P-frame
2 B 22 < Referenced B-frame
3 i 21 < Non-IDR (non-key) I-frame
4 b 18 < Non-referenced B-frame
5 k 18 Kayframe
В MediaInfo: Не отображается

V.U.I.:

Full Range

Указывает на принудительное использование полного спектра яркости(luma) и цветности(chroma). Если off, то будет использоваться только ограниченный диапазон.

Допустимые значения: on, off
Рекомендации
: Если ваше видео оцифровка аналогового, то установите этот параметр в off. В остальных случаях выставляйте on.
В MediaInfo: Не отображается

Force pic_struct

Force sending pic_struct in Picture Timing SEI.

Примечание: Подразумевает использование --pulldown или --tff/--bff.
В MediaInfo: Не отображается

Color Primaries

Задаем исходную цветовую модель для конвертирования ее в RGB.

Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Доступные значения:
undef
bt709
bt470m
bt470bg
smpte170m
smpte240m
film
В MediaInfo: Не отображается

Transfer

Устанавливает какую оптико-электронную передачу использовать.

Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Примечание:
undef
bt709
bt470m
bt470bg
linear
log100
log316
smpte170m
smpte240m
В MediaInfo: Не отображается

Color Matrix

Устанавливаем коэффициенты матриц, использующиеся при выводе яркости и цветности из RGB.

Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Примечание:
undef
bt709
fcc
bt470bg
smpte170m
smpte240m
GBR
YCgCo
В MediaInfo: Не отображается

Input/Output:

PSNR calculation

Включаем расчёт PSNR.

В MediaInfo: Не отображается

SSIM calculation

Включаем расчёт SSIM.

В MediaInfo: Не отображается

Force SAR

Записывает размер не квадратного пикселя в видео потоке, который будет использоваться при дальнейшем проигрывании. Это позволяет производить анаморфное кодирование. Человеческий глаз в большей степени чувствителен к вертикальному разрешению, чем к горизонтальному, когда кодируют MPEG2-поток из DVD, этим пользуются и, сохраняя вертикальное разрешение, интерполируют горизонтальное. В этом и суть анаморфного разрешения при кодировании видео: вместо того, чтобы тратить битрейт на горизонтальные пиксели, риппер устанавливает вертикальное разрешение 1:1, а на горизонтальном экономит за счёт анаморфной интерполяции. Человеческому глазу сложно с расстояния отличить "честные" 1024x576 от тех же 1024x576 интерполированных из 720x576. Если рип был сделан с DVD, то вместо того, чтобы делать масштабирование с потерей части информации по вертикали, AVC поток можно кодировать и хранить в контейнере в том разрешении, которое было на DVD, а в самом контейнере с фильмом устанавливается флаг, который точно указывает в каких пропорциях необходимо конкретный фильм воспроизводить. Например, вы хотите создать анаморфный клип с разрешением по вертикали 480. Аспект разрешения у фильма 16:9. Тогда 480х16/9=853.44. В таком случае получим: --sar 853:720.

Примечание: В данном примере не учтены данные Crop. Например, обрезаем слева и справа по 4 пикселя, сверху и снизу по 2. Тогда вместо коэффициента (16/9) получим (712/476)/(720/480)*(16/9).
В MediaInfo: Не отображается

Other:

Threads

Задаем количество потоков кодирования.

Рекомендации: Для увеличения скорости кодирования - это число должно быть равно числу виртуальных или физических ядер процессора; т.е. нужно устанавливать --threads 2 на одноядерном процессоре с hyper-threading (HT), или на двух ядерном процессоре. На данный момент, максимальное количество потоков ограничено 128-и.
Примечание: это значительно уменьшит скорость кодирования, если число потоков выбрано больше, чем количество имеющихся ядер процессора. В некоторых случаях, HT, также может уменьшить скорость кодирования. Наравне с увеличением скорости, использование нескольких потоков может незначительно уменьшить качество кодирования. Так как, кадр разбивается на слайсы, которые кодируются независимо и поэтому могут не иметь референсных связей.
В MediaInfo: threads=<integer>

Non Deterministic

Немного увеличивает качество при многопоточном кодировании, ценой использования недетерминированного кодирования. Используются многопоточные векторы движения и полностью используется буфер lookahead.

В MediaInfo: Не отображается

Thread-Input

Запускает Avisynth в отдельном потоке.

Рекомендации: Включайте, если количество ядер у вашего процессора больше 1-го.
Примечание
: Декодирует входное видео в отдельном потоке.
В MediaInfo: Не отображается

Slow first pass

Включаем "медленный" первый проход.

Рекомендации: Только при первом проходе и если нужно получить максимальное качество. Очень замедляет кодирование.
Примечание: Эта опция включает в себя следующие ключи:
--no-8x8dct --me dia --partitions none --ref 1 --subme 2 --trellis 0 --fast-pskip
В MediaInfo: Не отображается

Обновлено 05.09.2011 17:48