Меню

Xvid настройки кодирования видео

Xvid настройки кодирования видео

Инструкция к XviD4PSP 5 + XviD для:

Данная инструкция прежде всего нацелена на качество материала на выходе.

Данный материал составлен для бесплатного ознакомления, любое его копирование в каких-либо целях запрещено и является нарушением авторских прав. Авторство принадлежит сайту minisite.3dn.ru (minisite.gq), так что в случае обновления или дополнения инструкции, актуальная версия будет всегда только на minisite.

Перед началом работы рекомендуется установить последний пакет кодеков K-Lite Mega Codec Pack (в противном случае не гарантируется корректная работа программы) и обновить DirectX (Инструменты> Обновить DirectX) .

Рекомендуется использовать версию XviD4PSP 5 не ранее XviD4PSP 5.10.228.0 (2011-03-31) rc19, т.к. в старых версиях использовался косячный XviD 1.3.0 (версии билда ранее XviD 63), а начиная с этой версии используется XviD 1.3.1 (версии билда начиная от XviD 63) с пофиксенными косяками старой версии.

Инструкция написана на примере кодирования аниме, для кодирования фильма читайте пояснения к скринам.

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

Последнее обновление: 15.03.2013

Версия программы не ранее: Xv iD4PSP 5.10.228.0 (2011-03-31) rc19

Первая вкладка Main (основная):

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

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

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

Encoding mode выбираем 2-Pass Bitrate (двухпроходное кодирование или кодирование в 2 шага по заданному битрейту )- наилучший вариант для качественного кодирования, в первом проходе(шаге) программа анализирует видео, чтоб правильно перераспределить битрейт по всем кадрам, а во втором уже производит кодирование по результатам анализа.

По идее 3-Pass Bitrate (кодирование в 3 шага) должен кодировать еще лучше, за счет более тщательного анализа, но на практике часто разница между ними небольшая, качество не сильно отличается, а порой и вовсе одинаковое, при этом времени на кодирование уходит гораздо больше (например если в 2 шага время кодирования будет 1ч., то в 3 шага 1.5+ ч.). Ну если для вас главное качество и вы никуда не торопитесь то можете кодировать в 3 шага, все же хоть и не на много, но оно качественней кодирования в 2 шага.

А вот 1-Pass Bitrate (кодирование в 1 шаг) лучше не выбирать, хоть он и быстрее, но при этом качество картинки сильно портится, особенно на динамических сценах(практически большинство сцен с движением). При кодировании в 1 шаг битрейт получается постоянным на всем протяжении видео, потому что не проводится анализ видео, в следствии чего качество страдает(пиксели, квадратики, шумы и прочие артефакты), т.к. на простых сценах битрейта будет в избытке, а на сложных наоборот будет не хватать.

Grayscale mode не включать. Цветность убивается полностью, картинка становится серой (черно-белое кино).

Chroma optimizer включаем, улучшает качество, работая с цветовой информацией изображения, минимизирует эффект лестницы на границах.

Вкладка Motion (поиск движения):

Chroma motion estimation включаем, это оценка движения цветовой информации, улучшает качество изображения.

Вкладка Frames ( настройка качества фреймов(кадры видео)):

I-frames — ключевые кадры, с минимальной степенью сжатия. В них хранится основная информация о изображении. Ключевые кадры также используются для навигации по видео. В видео количество ключевых кадров значительно меньше, чем других типов кадров.

P-frames — промежуточные кадры, используют данные о изображении из предыдущих кадров. В них хранится только информация о том на сколько изменился кадр по сравнению с предыдущим. Степень сжатия выше чем у I-фреймов.

Квантизер(Q) B-фреймов расчитывается по формуле:

Q B-фреймов = средний Q окружающих двух фреймов * ratio + offset

средний Q окружающих двух фреймов = (Q предшествующего P-фрейма + Q следующего P-фрейма) / 2

ratio|offset = 1.50 |1.00

Closed GOP должно быть включено. Опция гарантирует что перед каждым новым I-фреймом будет всегда стоять P-фрейм.

Packet bitstream отключить, тем более потому что мы кодируем в 2 прохода.

Также можно жестко ограничить качество фреймов, в таком случае для наилучшего качества подойдут следующие значения:

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

Min Q I = 1-2, Max Q I = 2-4

Min Q P = 2-3, Max Q P = 3-5

Читайте также:  Настройка часов мицубиси лансер 10

Min Q B = 2-3, Max Q B = 3-5

Вкладка Rate :

Reaction(Reaction Delay Factor), Averaging (Averaging period) и Smoother оставляем значения по умолчанию(см. скрин).

Вкладка Misc (разное) :

Trellis quantization включить, также улучшает качество.

Use new XviD 1.3.x включаем, в противном случае часть опций просто не будет работать, т.к. их просто не поддерживает старая версия кодека, в последствии чего качество будет хуже. Э то глобальная опция.

В последней вкладке CLI (Command line Interface) нам делать нечего, там записан скрипт с нашими параметрами кодирования, который получился в результате наших настроек. Если не знаете что делаете, то там ничего не изменяйте.

Итак, с видео мы закончили, сохраняем профиль (кнопка с плюсиком, говорилось в самом начале) и нажимаем OK.

Далее настраиваем аудио как на скрине ниже:

Звук для фильмов лучше выбирать AC3 с битрейтом в 256-448 Кбит/сек, при условии что звук в исходнике качественный (5.1ch с хорошим качеством например).

В данном примере выбран MP3.

Replay gain (выравнивание громкости) оставляем отключенным(None ). В противном случае можем испортить звук, т.к. в принципе громкость звука в оригинале врятле постоянна на всем своем протяжении. Включать если только вам это нужно в определенных целях, но в большинстве случаев не рекомендуется.

Сохраняем готовый профиль аудио.

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

Экспериментируйте с настройками

Источник

Кодек Xvid

Сегодня, мы рассмотрим кодек Xvid, который претендует на звание «ISO совместимого». Это значит, что он должен проигрываться стационарными плеерами, поддерживающими Mpeg4 стандарт. На практике, это до сих пор не так.

Есть 4 реальных конкурента на рынке сильного сжатия видеоматериалов: Divx, Xvid, WMV_VCM и VP6. Между собой совместимы только DivX и Xvid (как последователи стандарта Mpeg4). Я не выделил бы ни один кодек в качестве однозначного лидера. У каждого из этих кодеков есть свои изъяны.

Кодек Xvid постоянно обновляется. Это результат того, что его код является открытым и любой, кому это интересно, может принять участие в доработке программы. Первоначальный код переписывался 3 раза полностью. Последние версии (альфа и бета) уже совместимы с кодом ISO Mpeg4. Это значит, что фильмы, сжатые при помощи кодека Xvid, будут нормально просматриваться декодером DivX. По моему мнению, декодер DivX более качественный, чем собственный декодер Xvid.

Начнём. Для сборки фильма я использую программу VirtualDub. Это очень простая программа. Захват в ней я описал, а обычная работа с VirtualDub описана во многих статьях и повторятся я не буду. После запуска VirtualDub и открытия в нём вашего видео вы должны будете произвести настройку фильтров (его я опишу в другой статье). Когда этот этап пройден, вам нужно сжать исходный материал кодеком с сильным сжатием для дальнейшего хранения и просмотра. Мы договорились, что это будет Xvid. На момент написания статьи, была выпущена версия Beta2, которую можно скачать с сайта. Я опишу работу с этой версией.

После того, как вы произвели монтаж своего фильма и произвели настройку фильтров, нужно настроить кодек. Для запуска настройки кодека Xvid, нужно произвести последовательность действий, отображённую на рисунке.

После запуска конфигурации кодека, вы увидите окно настройки кодека:

Для большего удобства я ввёл свои условные пункты от одного до шести. Далее, при описан кодека, я буду отталкиваться от этих пунктов.

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

Цифрой 2 помечены две вкладки.

Сверху на этой вкладке есть возможность выбора предустановок, про которые я уже написал. Опция «Quantization type» даёт возможность выбора типа матрицы квантизеров. Не вдаваясь в подробности что это такое, просто скажу, что даёт этот выбор. Мы можем сделать выбор из 3 пунктов:

Опция «Adaptive Quantization» включает возможность маскировки ярких и тёмных мест при сжатии. Раньше эта опция называлась «lumi masking». Эта опция нужна для того, что бы увеличить коэффициент сжатия исходного материала. Теоретически, человеческий глаз не заметит такого преобразования. Но на практике, при включении этой опции происходят искажения. В кодере Xvid этот алгоритм реализован недостаточно качественно.

Читайте также:  Thrustmaster dual trigger 3 in 1 настройка

Опция «Interlacing» включает работу кодека с чересстрочным видео. При включении этой опции кодек начинает сжимать не кадры, а поля. Эта опция пригодится только в том случае, если вы производите сжатие без деинтерлейса. Я не вижу практического применения такому сжатию, но кто знает, может вам пригодится.

Опция «Quarterpel» включает разрешение с точностью до четверти пикселя. Это повышает чёткость особенно на низких разрешениях, но вместе с этим, добавляет шум на изображение. Естественно, просто так это не происходит. Включение Quarterpel повышает загрузку процессора и увеличивает поток, используемый для этого. Включать эту опцию я не рекомендовал бы. Качество работы до сих пор не безупречно.

Опция «Global Motion Compensation» предназначена для компенсации движения. Она начинает функционировать, когда идёт панорамирование, наезд или отъезд на объект, а так же при вращении. Задумка конечно хорошая, но использовать я так же не рекомендовал бы.

А вот про опцию «Reduced resolution» ничего не известно. И вообще, не понятно, делает ли она что-нибудь.

Далее, опция BVOPs включает использование B-frames. Само по себе использование B-frames должно повысить качество кодируемого материала. Объясню, что такое B-frames.

Разобрались, включение B-frames (BVOPs) повышает качество.

Посмотрим теперь на опцию «Max consecutive BVOPs». Здесь нужно ставить максимальное количество идущих подряд B-frames. Если поставить 0, то мы попросту отключим использование B-frames. Если поставить больше 1, то качество картинки (на мой взгляд) падает. Плюс, я встречал появление необоснованных артефактов. Я рекомендую ставить 1.

Опция «Quantizer ratio (%)» означает, во сколько раз будет повышен квантизер для B-frames. Теперь объясню, что такое квантизер.

Максимальный квантизер, ограничивается кодеком. Причём, чем больше квантизер, тем больше потерь в детализации будет происходить. Изначально, если кодек не ограничивать в размерах получаемого файла, он будет стремится держать квантизеры как более низкими. Но при этом размер получаемого файла будет получаться большим. Теперь, если ограничить размер получаемого AVI файла, кодек начнёт повышать эти квантизеры до тех пор, пока не попадёт в заданный размер. Причём, он устанавливает для каждого кадра свои кантизеры, в зависимости от сложности кадра.

В опции Quantizer ratio (%) мы указываем, во сколько раз увеличится квантизер и соответственно, во сколько раз ухудшится детализация на B-frames. Квантизер B-frames считается по следующей формуле: [(Quantizer of previous P-frame+Quantizer of following P-frame)*(B-frame quantizer ratio)/200+(B-frame offset/100)]. Исходя из формулы, квантизер B-frames зависит от значений квантизеров окружающих его P-frames, значения Quantizer ratio (%) (множитель) и Quantizer offset (смещение). Снижать этот параметр не рекомендую (теряется смысл B-frames). Повышать вы можете на своё усмотрение, это повысит сжатие B-frames (соответственно, снизит качество этих кадров) и повысит качество I и P-frames.

Опция «Quantizer offset» показывает, сколько нужно прибавить к квантизеру B-frames относительно расчётной величины после Quantizer ratio (%). Изменять этот параметр не стоит. Если включить опцию «Packed bitstream», то производится упаковка P-frames и B-frames в одном потоке. Это даёт возможность декодировать B-frames без задержек. При 2 проходном кодировании и включении этой опции кодер работает не правильно. Если у вас достаточно мощный процессор, нет никакого смысла включать эту опцию.

Опция «Closed GOV» предназначена для того, что бы перед I-frames никогда не стоял B-frames. Если вы не собираетесь сжатый материал впоследствии резать или сращивать, нет никакой надобности в этой функции. Зато при отключении этой функции качество можно ещё повысить за счёт добавления B-frames. Если же, вы собираетесь впоследствии как-либо монтировать Mpeg4, то вам понадобится включение этой функции. Только одно предостережение, вы сможете резать готовый Mpeg4 файл только по ключевым кадрам и многие стыки получатся очень корявыми. Лучше позаботиться о монтаже заранее.

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

Цифрой 3 (Encoding type) помечена опция, управляющая типом работы кодека.

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

В окошке «Stats filename» стоит название файла, в который будет записываться статистика от первого прохода о фильме.

Теперь расскажу, о двухпроходном режиме и переменном битрейте. Для этого нужно немного рассмотреть теорию работы кодека. Кодеки Mpeg4 разработаны таким образом, что они видят не картинку целиком, а только объекты и изменение картинки от кадра к кадру. Из этого можно сделать вывод, что шумное видео сложнее сжимать, чем чистое и статичные картины так же проще сжимаются, чем динамичные (именно эту информацию и собирает кодек во время первого прохода). Допустим, у вас есть какой-то ролик или фильм. В любом видео, не бывает, что бы было абсолютно монотонное движение и неизменное количество объектов. Получается, что для каждого кадра нужно выделять разное количество памяти. Для того, что бы выделять каждому кадру своё количество битрейта, был введён переменный битрейт. То есть, во время первого прохода кодек собирает информацию о количестве движения и объектов, производит запись её в файл. Во время второго прохода, кодек начинает обрабатывать фильм снова. Только он уже производит сжатие исходного материала, пользуясь статистикой от первого прохода. При этом, для каждого кадра выделяется нужный ему битрейт. Таким образом происходит повышение качества кодируемого материала.

Читайте также:  Skype в ubuntu настройка звука

Продолжим рассмотрение настроек типа работы кодера.

Для того, что бы произвести сжатие в два прохода, вам потребуется воспользоваться возможностями программы VirtualDub. Конкретно, как это делается, написано в моей статье «Личный опыт работы с DivX».

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

Здесь мы можем задать размер файла, который мы хотим получить (при этом кнопка будет подсвечена надписью «Target size (kbytes)»). Только учтите, что у вас ещё есть звук, на который то же надо оставить место. Если вы хотите сделать фильм на один CD диск, то для подсчёта размера видео лучше всего воспользоваться каким-либо калькулятором, который учтёт размер звука в итоговом файле. В том случае, если кнопка подсвечена надписью «Target bitrate (kbps)», то задаваться будет средний битрейт, с которым будет кодироваться фильм. Для того, что бы переключить из одного режима в другой, нужно нажать на эту кнопку. Битрейт можно изменять слайдером и вводом цифр вручную, а вот размер файла можно задавать только вводом вручную, в килобайтах.

Для того, что бы вызвать дополнительные настройки кодека, нужно нажать на кнопку 5.

При этом вы увидите окно:

Перейдём на следующую вкладку «Quantization».

На последней вкладке находится отладочная информация кодека.

Далее, идут два пункта («OutputDebugString debug level» и «Print debug info on each frame»), которые требуются для отладки кодека и при сжатии они абсолютно не нужны.

И последний пункт в этой закладке «Display encoding status». Эта опция включает информационную панель во время сжатия.

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

Теперь последний пункт 6

Здесь указываются интервалы, на которых нужно повышать или понижать битрейты. Этот пункт очень удобно использовать на титрах. На них не обязательно сохранять полное качество, но полностью отрезать их мне не очень то нравится. При нажатии на кнопку «Add» добавится ещё один пункт в списке. Для того, что бы его отредактировать, нужно нажать на кнопку «Edit»:

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

Вы можете просто выделить его и скопировать в буфер. После вставления этого номера в окошко «Start frame #» можно продолжать настройки для этого раздела. Всё, что вы настроите ниже, будет применено только для этого раздела.

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

При выборе параметра «Weight» в окошке нужно указать коэффициент умножения битрейта (ставится вручную или ползунком). Если поставить 0,5, то битрейт снизится в 2 раза относительно расчётного значения. При выставлении в 1 с битрейтом ничего не произойдёт.

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

Источник

Adblock
detector