кодек xvid

Продовжимо розгляд налаштувань типу роботи кодера.

3 тип - Twopass - 2 st pass. Це другий прохід двопрохідні режиму. Заглянемо в його налаштування:

Розгляну настройки зверху.
  • "Stats filename" тут вказується файл, в якому знаходиться статистика від першого проходу. Ви запитаєте, навіщо це треба? Справа в тому, що вже з'явилися програми, що дозволяють правити цей файл. Якщо ви створили (виправили) свій власний файл статистики, то можна вказати його тут і кодування відбуватиметься за цими даними.
  • "I-frame boost%" ця функція робить збільшення потоку на I-frames. Вказується в процентному співвідношенні. Тобто, якщо вказати 10, то на I-frames піде на 10 відсотків більше бітрейт, щодо розрахункового значення (розрахунок спочатку виробляє кодер, а ми можемо до цього ще додати).
  • "I-frames closer than ... frames" тут вказується відстань між сусідніми I-frames, менше якого вважається, що ключові кадри слідують один за одним. Якщо якісь I-frames потрапляють в цю межу, то проводиться зменшення потоку, що витрачається на них. При установці цього параметра в 1, проводиться відключення цієї функції. Оптимальним значенням я вважаю 2.
  • "... are reduced by%" ця функція зменшує бітрейт перших I-frames в ряді йдуть підряд I-frames. Останній I-frames йде з нормальним коефіцієнтом стиснення.
  • "Max overflow improvement" цей параметр визначає, на скільки можна піднімати бітрейт, щодо середнього бітрейта, на нетривалих ділянках (там, де це потрібно). Занадто велике значення уповільнює роботу кодера.
  • "Max overflow degradation%" цей параметр визначає, на скільки можна знижувати бітрейт, щодо середнього бітрейта, на нетривалих ділянках (там, де це потрібно). Занадто велике значення уповільнює роботу кодера.

Для того, що б провести стиснення в два проходи, вам буде потрібно скористатися можливостями програми VirtualDub. Конкретно, як це робиться, написано в моїй статті "Особистий досвід роботи з DivX".

Тепер ми дійшли до компресії по криволінійному алгоритму (Curve compression). Ця функція є тільки у кодека Xvid. Я б не назвав це великою перевагою кодека Xvid, але в певних обставинах це може додати трохи якості.
  • "High bitrate scenes%" тут можна вказати, скільки відсотків бітрейта може забрати кодек зі сцен з високими бітрейтами і перерозподілити на середньо і нізкобітрейтние сцени.
  • "Low bitrate scenes%" цей параметр вказує, скільки відсотків бітрейта потрібно додати сценам з низькими бітрейтами. Цей бітрейт буде забрано з сцен із середнім і високим бітрейтом.
  • "Overflow control strength%" цей параметр вказує, на скільки кодек може виходити за розрахункові значення в кожному кадрі (без різниці, зменшення або збільшення). При установці цього параметра в 0, кодек починає працювати по-замовчуванню (як закладено в алгоритмі кодека).

Під цифрою 4 ховається потік, який буде витрачатися на фільм.

Для того, що б викликати додаткові налаштування кодека, потрібно натиснути на кнопку 5.

При цьому ви побачите вікно:

Перейдемо на наступну вкладку "Quantization".

Що таке квантізери я вже пояснював вище. У цьому меню можна розставити, в яких інтервалах працюватимуть квантізери окремо для I, P і B-frames. За великим рахунком, не бачу сенсу міняти ці значення. Кодер Xvid розпоряджається квантізерамі досить добре. Але скажу, що це значить ще раз.
  • "Min. -frame quantizer" - мінімально можливий квантізер для. типу фреймів. Чим нижче це значення, тим більш чітка картинка буде виходити (за умови, що бітрейт буде досить високим для досягнення цього квантізера). Для I-frame це буде найнижче значення, для P-frame - вище, а для B-frame найвище. Але краще не чіпати значення за умовчанням.
  • "Max. -frame quantizer" - максимально можливий квантізер для. типу фреймів. Високе значення цього параметра знижує деталізацію картинки. Для I-frame це буде найнижче значення, для P-frame - вище, а для B-frame найвище. Але краще не чіпати значення за умовчанням.
  • "Trellis quantization" на даний момент, ця функція працює тільки з матрицею квантування H.263. За рахунок невеликого зміни математичного алгоритму роботи повинно відбуватися поліпшення якості. Ця функція експериментальна. При включенні цієї опції я не помітив великої різниці від матеріалів, стислих без неї. Різниця була як на гойдалках, то в її користь, то навпаки. Якщо врахувати, що це використовує нестандартні функції, то включати "Trellis quantization" напевно не варто.

На останній вкладці знаходиться налагоджувальна інформація кодека.

При виборі параметрів оптимізації для конкретного процесора ( "Performance optimizations") можна зробити 2 вибору:
  • "Automatically detect optimizations" - включає автоматичний вибір оптимізації під ваш процесор.
  • "Force optimizations" - ручне виставляння параметрів оптимізації.
  • Наступна доступна функція "FourCC used". Поясню, що це таке. При стисненні, в заголовку AVI файлу прописується мітка, яким кодеком це було стисло. При відтворенні програвач зчитує цю мітку і запускає відповідний декодер. Для Mpeg4 сумісних кодеків можлива заміна декодера. Так, стискати вигляді мені більше подобається за допомогою кодера Xvid, а переглядати за допомогою декодера DivX (цей декодер має менше проблем з різними програвачами і картинка після нього має менше артефактів). Для того, що б змінити FourCC мітку, потрібно зробити вибір в випадаючому меню. Якщо тут вибрати DX50, то для відтворення запуститься декодер DivX5. Саме це я вам і рекомендую зробити.

Далі, йдуть два пункти ( "OutputDebugString debug level" і "Print debug info on each frame"), які потрібні для налагодження кодека і при стисканні вони абсолютно не потрібні.

І останній пункт в цій закладці "Display encoding status". Ця опція включає інформаційну панель під час стиснення.

На цій панелі буде відображена інформація про кавнтізерах, які були використані при стисненні, діапазоні квантізеров для кожного типу кадрів, середній бітрейт і багато іншої інформації про кодування.

Тепер останній пункт 6

Тут вказуються інтервали, на яких потрібно підвищувати або знижувати бітрейти. Цей пункт дуже зручно використовувати на титрах. На них не обов'язково зберігати повне якість, але повністю відрізати їх мені не дуже подобається. При натисканні на кнопку "Add" додасться ще один пункт в списку. Для того, що б його відредагувати, потрібно натиснути на кнопку "Edit":

Зверху тут вказується, з якого кадру почнеться дія цього розділу. Його дія йде до наступного розділу, а якщо наступного розділу немає, то дія йде до кінця фільму. Номер кадру вводиться вручну. Подивитися, з якого кадру вам потрібно робити розділ дуже просто. Для цього в VirtualDub потрібно перейти на потрібний кадр (рухаючи слайдер мишею, а для точного позиціонування стрілками право-ліво). Внизу відображається номер кадру, на якому ви зупинилися.

Ви можете просто виділити його і скопіювати в буфер. Після вставляння цього номера в віконце "Start frame #" можна продовжувати настройки для цього розділу. Все, що ви налаштуєте нижче, буде застосовано тільки для цього розділу.

Далі, в настройках інтервалів, можна вказати коефіцієнт бітрейта або квантізер, з яким буде проводиться стиснення.

При виборі параметра "Weight" в віконці потрібно вказати коефіцієнт множення бітрейта (ставиться вручну або повзунком). Якщо поставити 0,5, то бітрейт знизиться в 2 рази відносно розрахункового значення. При виставленні в 1 з бітрейтом нічого не відбудеться.

Якщо вибрати "Quantizer", то у вікні потрібно вказати квантізер, з якими буде проводитися стиснення. Це не дуже зручно. Я користуюся зниженням бітрейта. Мабуть, цей пункт можна використовувати для того, що б отримати на якомусь проміжку передбачувану якість. Для цього ми задаємо на цьому проміжку якийсь квантізер (наприклад 10 - це досить високий квантізер, при якому практично всі деталі будуть збережені).
  • "Force keyframe" якщо ви поставите галочку в цьому пункті, то перший кадр цього розділу буде зроблений як I-frame (ключовий кадр). Це буває дуже зручно, коли ви хочете позначити початок якогось моменту.
  • "Greyscale" включення цієї функції переводить зображення в чорно-біле.
  • "Chroma optimizer" ця функція усредняет кольору на яскравих / темних місцях. Це призводить до більш якісним краях. Я б рекомендував використовувати цей режим тільки для мультфільмів.

Отже, я розповів про все настройки кодека Xvid, що має значно полегшити вам життя при налаштуванні цього кодека і подальшому кодуванні. Для деяких параметрів я дав рекомендації, для інших ви повинні самі вирішити, як їх налаштувати, вся інформація для цього є в статті. На цьому я можу закінчити статтю про кодере Xvid.

Додаткові матеріали:

CleverClean SLIM-Series VRpro - самий плоский робот-пилосос Незважаючи на невеликі, майже іграшкові габарити, новий робот-пилосос компанії CleverClean може похвалитися тим, чого не зможе зробити ніхто інший його більший побратим. Він легко пропилососити під диваном або комодом, де пил може збиратися місяцями, а то й роками, адже дістатися туди нелегко навіть звичайними засобами: шваброю і ганчіркою

Згода на обробку персональних даних