X264 - опис ключів кодування, codec вики, fandom powered by wikia

Presets Правити

--profile Правити

(Force the limits of an H.264 profile)

Вказуємо рівень сумісності, в залежності від обладнання. Так як не всі залізні плеєри можуть впоратися з high.

  • профілі:
    • baseline - Встановлює --no-8x8dct --bframes 0 --no-cabac --cqm flat --weightp 0. З втратою якості. Без інтерлейсінг.
    • main - Встановлює --no-8x8dct --cqm flat. З втратою якості.
    • high - Немає обмежень. З втратою якості.
    • high10 - Теж що і high, але з підтримкою глибини зображення в 10bit. З втратою якості.
    • high422 - Теж що і high10, плюс підтримка 4: 2: 0/4: 2: 2 хрому сабсемплінг (chroma subsampling). З втратою якості.
    • high444 - Теж що і high10, плюс підтримка 4: 2: 0/4: 2: 2/4: 4: 4 хрому сабсемплінг (chroma subsampling). Без втрати якості.
  • В консолі: --profile
  • У MediaInfo: Format profile:
  • Значення за замовчуванням: Відключено

--preset Правити

(Use a preset to select encoding settings)

Кодуємо використовуючи вже готові пресети. Пресет - це набір оптимальних параметрів впливають швидкість кодування і якість. Чим вище швидкість - тим нижче якість.

  • Доступні пресети:
    • 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 11 --trellis 2
  • Рекомендації: Вибирайте пресет, відповідно до ваших потреб в швидкості кодування, як.
  • Примітка: Слід ставити на самому початку. Всі значення можуть бути перезаданни пізніше.
  • В консолі: --preset
  • У MediaInfo: Чи не відображається
  • Значення за замовчуванням: medium

--tune Правити

(Tune the settings for a particular type of source or situation)

--slow-firstpass Правити

(Enable slow first pass)

Включаємо "повільний" перший прохід.

  • Рекомендації: Тільки при першому проході і якщо потрібно отримати максимальну якість. Дуже уповільнює кодування.
  • Примітка: Вимикає наступні, що прискорюють перший прохід, ключі:
    --no-8x8dct --me dia --partitions none --ref 1 --subme 2 --trellis 0
    Пресет placebo спочатку містить цей ключ.
  • В консолі: --slow-firstpass
  • У MediaInfo: Чи не відображається
  • Значення за замовчуванням: Відключено

Frame-type options Правити

-I, --keyint Правити

(Maximum GOP size)

-i, --min-keyint Правити

(Minimum GOP size)

Мінімальна відстань між ключовими / IDR кадрами.

--no-scenecut Правити

(Disable adaptive I-frame decision)

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

  • В консолі: --no-scenecut
  • У MediaInfo: scenecut = 0
  • Значення за замовчуванням: Відключено
  • Див. Також: --scenecut

--scenecut Правити

(How aggressively to insert extra I-frames)

Цей параметр визначає на скільки часто будуть використовуватися додаткові I-кадри. x264 вираховує метрику кожного кадру, що б визначити наскільки він відрізняється від попереднього. Якщо отримане значення нижче, ніж встановлено для scenecut, то енкодер поміщає в цьому місці I-кадр, якщо вище - вставляє ключовий / IDR кадр. Корисність визначення зміни сцен полягає в оптимальній розстановці I-кадрів в місцях різкої зміни сцен. Це підвищує якість, але занадто часта зміна призведе до марної витрати бітрейта.

  • Примітка: Значення "0" відповідає --no-scenecut.
  • Діапазон: 0..100
  • В консолі: --scenecut
  • У MediaInfo: scenecut =
  • Значення за замовчуванням: 40
  • Див. Також: --keyint, --min-keyint, --no-scenecut

--intra-refresh Правити

(Use Periodic Intra Refresh instead of IDR frames)

Забороняє використання IDR-кадрів.

-b, --bframes Правити

(Number of B-frames between I and P)

Кількість послідовних B-кадрів між I- і P- кадрами. B-кадри - це кадри, в яких закодовані зміни не тільки від попередніх кадрів, але і від подальших. Мають ще більшу ступінь стиснення, ніж P-кадри, але також і найгірше якість. B-кадри подібні P-кадрів, крім того, вони можуть використовувати передбачення руху від майбутніх кадрів також. Це може привести до значного поліпшення ступеня стиснення.

--b-adapt Правити

(Adaptive B-frame decision method)

Дозволяє x264 адаптивно вирішувати, де будуть використовуватися B-кадри, зменшуючи кількість B-кадрів там, де це не потрібно.

  • Рекомендації: При високому значенні --bframes краще ставити значення 2.
  • налаштування:
    0 - повністю відключити
    1 - "швидкий" алгоритм.
    2 - оптимальний алгоритм, повільніше попереднього
  • Примітка: В багатопрохідному кодуванні ця опція необхідна тільки для першого проходу, де типи кадрів визначені.
  • В консолі: --b-adapt
  • У MediaInfo: b_adapt =
  • Значення за замовчуванням: 1

--b-bias Правити

(Influences how often B-frames are used)

Контролює кількість B-кадрів, які будуть використані замість P-кадрів.

  • Рекомендації: Використовуйте, лише якщо вважаєте що зможете домогтися кращого контролю бітрейта, ніж сам x264.
  • Примітка: Значення вище 0 збільшують ймовірність використання В-кадрів, а значення нижче 0 - зменшують. Значення рівні 100 / -100 гарантують / не гарантують що кожен Р-кадр буде перетворений. Для цього використовуйте --b-adapt 0.
  • Діапазон: -100..100
  • В консолі: --b-bias
  • У MediaInfo: b_bias =
  • Значення за замовчуванням: 0
  • Див. Також: --bframes, --ipratio

--b-pyramid Правити

(Keep some B-frames as references)

Дозволяє B-кадрів посилатися на інші В-кадри, тим самим збільшуючи ефективність використання 2-х або більше B-кадрів.

  • типи:
    none - забороняє використовувати В-кадри як референсні.
    strict - дозволяють по 1-му референсному В-кадру на кожен minigop (дотримується обмеження стандарту Blu-ray).
    normal - дозволяє множинне використання референсних В-карів на кожен minigop.
  • Примітка: Без цього параметра, В-кадри можуть посилатися тільки на I- або P-кадри. Хоча I / P-кадри і цінніші, через їх більш високої якості, B-кадри також можуть бути корисними.
    Необхідно значення --bframes вище 2-х. Трохи уповільнює кодування. При кодуванні для Blu-ray не використовуйте normal.
  • В консолі: --b-pyramid
  • У MediaInfo: b_pyramid =
  • Значення за замовчуванням: normal
  • Див. Також: --bframes, --refs, --no-mixed-refs

--open-gop Правити

(Use recovery points to close GOPs)

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

  • Рекомендації: Корисно, якщо Ви використовуєте низькі значення --keyint.
  • Примітка: Деякі декодери не підтримують open-gop, з цього ця опція не включена за замовчуванням.
  • В консолі: --open-gop
  • У MediaInfo: open_gop =
  • Значення за замовчуванням: Відключено

--no-cabac Правити

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

-r, --ref Правити

(Number of reference frames)

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

--no-deblock Правити

(Disable loop filter)

Відключення фільтру придушення блочности.

  • В консолі: --no-deblock
  • У MediaInfo: deblock = 0: 0: 0
  • Значення за замовчуванням: Відключено
  • Див. Також: --deblock

-f, --deblock Правити

(Loop filter parameters)

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

  • Рекомендації: Параметр "alpha" рекомендується вибрати від -3 до 3. Більше значення збільшує силу придушення блоків, але картинка стає трохи розмитою (використовуйте при низьких бітрейтах або при кодуванні мультиплікації). Менше значення зменшує силу, зате картинка залишається досить чіткою (використовуйте при високих бітрейтах). Якщо не знаєте, що вибрати, то залиште 0 - підходить для більшості випадків.
    Параметр "beta" рекомендується вибирати від -2 до 2. При великих значеннях, кодек може розпізнати деякі деталі за блок і застосувати до них фільтр придушення блоків. При менших значеннях, деталей збережеться більше, але деякі блоки можуть бути прийняті за деталь (використовуйте менші значення при кодуванні мультиплікації - в ній чіткі контури, тому кодек не схибить). Бажано щоб цей параметр відрізнявся не більше, ніж на одиницю від попереднього. Якщо не знаєте, що вибрати, то залиште 0 - підходить для більшості випадків.
    Сила деблокінгу обчислюється для кожного макроблоку, виходячи з квантізера для нього та прилеглих макроблоків. Альфа визначає: чи є прикордонний квадрат блоковим або ж насправді це деталь. Це схоже на поріг. Бета так само схожа на поріг, але використовується для того, щоб переконатися в однорідності картинки з обох прикордонних сторін і, тим самим, відокремити деталі від блочности. Коли визначена блочность, альфа вирішує, яку силу використовувати (максимально припустима зміна пікселя). Бета трохи змінює силу, якщо блок однорідний. Сила деблокінгу: Поріг деблокінгу. Поріг деблокінгу встановлює жорсткість відбору блочности фільтром. Сила деблокінгу регулює, як сильно певні блоки будуть пом'якшені. Значення за замовчуванням поєднують акуратність видалення блочности і збереження деталей. Значення повинні лежати в діапазоні від -3 до 3 (чим нижче значення, тим менше усувається блочность. Негативні значення не означають, що блочность залишається).
  • Примітка: Занадто високі значення дадуть втрату багатьох деталей і текстур або змазування. Установка дуже низьких значень залишить різкі краю і "москітний шум" (mosquito noise). Повинна бути позитивна взаємозв'язок між двома коефіцієнтами деблокінгу (бажано, щоб обидві цифри були негативними або позитивними). Якщо Ви збільшуєте силу, то повинні збільшити і поріг
  • Діапазон: -6..6 (для alpha і beta відповідно)
  • В консолі: -f, --deblock
  • У MediaInfo: deblock = 1::
  • Значення за замовчуванням: 0: 0
  • Див. Також: --no-deblock

--slices Правити

(Number of slices per frame)

Вказуємо кількість частин (квадратів), на які буде розбитий кадр.

  • Рекомендації: Якщо Ви кодуєте Blu-ray - використовуйте значення 4. В іншому випадку взагалі не використовуйте цю опцію. Хіба що Ви точно знаєте що вона вам потрібна.
  • В консолі: --slices
  • У MediaInfo: Невідомо
  • Значення за замовчуванням: 0
  • Див. Також: --slice-max-size, --slice-max-mbs

--slice-max-size Правити

(Limit the size of each slice in bytes)

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

  • Примітка: На дані момент конфліктує з --tff, --bff.
  • В консолі: --slice-max-size
  • У MediaInfo: Невідомо
  • Значення за замовчуванням: 0
  • Див. Також: --slices

--slice-max-mbs Правити

(Limit the size of each slice in macroblocks)

Задаємо максимальний розмір slice в макроблоків.

  • Примітка: На дані момент конфліктує з --tff, --bff.
  • В консолі: slice-max-mbs
  • У MediaInfo: Невідомо
  • Значення за замовчуванням: 0
  • Див. Також: --slices

--tff Правити

(Enable interlaced mode (top field first))

Включаємо череcстрочное кодування. Перше поле - верхнє.

  • Рекомендації: Черезстрочне кодування необхідно тільки для черезрядкових дисплеїв.
  • Примітка: x264 використовує для череcстрочного кодування MBAFF, і це набагато гірше прогресивного кодування.
  • В консолі: --tff
  • У MediaInfo: interlaced = 1
  • Значення за замовчуванням: Відключено
  • Див. Також: --bff

--bff Правити

(Enable interlaced mode (bottom field first))

Включаємо череcстрочное кодування. Перше поле - нижня.

  • Рекомендації: Черезстрочне кодування необхідно тільки для черезрядкових дисплеїв.
  • Примітка: x264 використовує для череcстрочного кодування MBAFF, і це набагато гірше прогресивного кодування.
  • В консолі: --bff
  • У MediaInfo: interlaced = 1
  • Значення за замовчуванням: Відключено
  • Див. Також: --tff

--constrained-intra Правити

(Enable constrained intra prediction)

Включаємо обмежене внутрішнє пророцтво, необхідне для base layer.

  • Рекомендації: Практично не застосовується. Цей ключ можна ігнорувати.
  • В консолі: --constrained-intra
  • У MediaInfo: constrained_intra =<0/1>
  • Значення за замовчуванням: Відключено

--pulldown Правити

(Use soft pulldown to change frame rate)

--fake-interlaced Правити

(Flag stream as interlaced but encode progressive)

  • В консолі: --fake-interlaced
  • У MediaInfo: Невідомо (зазвичай відображає як прогресивне)
  • Значення за замовчуванням: Відключено

--frame-packing Правити

(For stereoscopic videos define frame arrangement)

Виявлено використання розширення AdBlock.

Схожі статті