Продолжу начатый мною обзор кодеков. Рассмотрим теперь кодек DivX. Примерно 4 года назад появился кодек DivX3. Пользователи очень заинтересовался этим кодеком. Основание тому было самое прямое. DVD диски в то время были очень дороги (да и DVD проигрыватели были не из дешёвых), а после сжатия DivX3 фильм влезал на обычный CD диск (который был значительно дешевле).
Качество же после сжатия DivX3 было довольно не плохим (при продолжительности фильма не более 1,5 часа). Если "посмотреть в корень", то DivX3 был взломанной версией кодека Mpeg4 от компании Microsoft. После этого взлома кодек Mpeg4 стал общедоступным. Для сжатия при помощи него была написана программа - VirualDub. Но качество сжатия оставляло желать лучшего, и программисты пошли дальше. Эта программа была доработана и на свет появилась NanDub, которая была заточена исключительно на работу с DivX3 и Mpeg4. Какое-то время кодек DivX3 оставался без конкурентов (мы не смотрим на QuickTime, RealMedia, WMV, качество их было ниже). На взломе Mpeg4 было решено не останавливаться, и на свет начали появляться кодеки DivX4. Было выпущено огромное множество релизов DivX4 (13 штук). Кардинально в них ничего не изменялось, просто вносились небольшие правки.
Основной идеей был уход от клейма "Mpeg4" и в то же время оставаться ISO совместимым кодеком. Итак, в начале 2002 года появился кодек DivX5, который шёл как независимый продукт, и был ISO совместим. PRO версии начали продавать. DivX5 постоянно совершенствовался и развивается до сих пор. На данный момент вышла версия 5.1.1. Вот её то мы и рассмотрим.
Про DivX5.1.1 могу сказать одно - это очень медленный кодек, но от прогресса никуда не уйдёшь, как и корпорация Microsoft заставляет нас переходить на NT ядро, компания DivX заставит перейти на последние релизы.
Как обычно, для кодирования при помощи DivX5 будем использовать программу VirtualDub. Как попасть в настройки кодека наверное уже все знают, посмотрим на интерфейс самого кодека:
На вкладке "General" находятся настройки кодека, относящиеся к самому кодеку. Начнём сверху. "Selected profile". Здесь можно произвести настройку профиля работы кодека. В качестве настроек, управляемых из профиля выбраны: Quarter Pixel, GMC (Global Motion Compensation), Bidirictional Encoding, Video Resolution и Video frame rate. Теперь обо всём по-порядку. Нажав на копку "Select profile Wizard" попадаем в это меню:
Здесь можно выбрать какой-нибудь профиль или отключить их и произвести все настройки на своё усмотрение. Чекбокс "Disable profiles" отключает использование профилей. При этом, выдаётся предупреждение о том, что полученное видео может не проигрываться на устройствах, совместимых с Divx (аппаратных проигрывателях). Посмотрим, что повлечёт за собой включение любого из этих профилей или их отключение.
При выборе любого из профилей или их отключении, мы можем нажать на кнопку "Далее" и посмотреть на настройки, которые мы можем произвести далее:
Опции "Use Quarter Pixel" и "Use GMC" могут быть доступны только в случае отключения профилей на предыдущей странице.
Опция "Use Quarter Pixel" включает вычисление координат с точностью до четверти пикселя. Это повышает чёткость особенно на низких разрешениях, но вместе с этим, добавляет шум на изображение. Естественно, просто так это не происходит. Включение Quarter Pixel повышает загрузку процессора и увеличивает поток, используемый для этого. Включать эту опцию я не рекомендовал бы.
Опция "Use GMC" включает Global Motion Compensation - компенсацию движения. Она начинает проявлять своё действие, когда идёт панорамирование, наезд или отъезд на объект, а так же при вращении. Задумка конечно хорошая, но использовать я так же не рекомендовал бы.
Далее, посмотрим, что даёт выбор какого-либо профиля. По большому счёту, я не люблю пользоваться профилями - они вносят определённые ограничения в работе.
Включение профиля "Handheld" подразумевает кодирование с параметрами, соответствующим переносным устройствам. Рекомендуемое максимальное разрешение для этого профиля 176*144 при 15 кадрах в секунду. При этом, должны быть отключены B -frames и сжатие чересстрочного материала. Максимальный средний битрейт для этого профиля может быть 128 килобайт в секунду.
Включение профиля "Portable" подразумевает кодирование с параметрами, соответствующим портативным устройствам. Рекомендуемое максимальное разрешение для этого профиля 352*240 при 30 fps и 352*288 при 25 fps. При этом, могут быть включены B -frames и отключено сжатие чересстрочного материала. Максимальный средний битрейт для этого профиля может быть 768 килобайт в секунду.
Включение профиля "Home Theater" подразумевает кодирование с параметрами, соответствующими аппаратным проигрывателям, игровым приставкам и другим устройствам, которые могут проигрывать Divx. Рекомендуемое максимальное разрешение для этого профиля 720*480 при 30 fps и 720*576 при 25 fps. При этом, могут быть включены B -frames и сжатие чересстрочного материала. Максимальный средний битрейт для этого профиля может быть 4000 килобайт в секунду.
Включение профиля "High Def" подразумевает кодирование с высоким разрешением. Воспроизведение этих материалов будет возможно только на компьютере. Рекомендуемое максимальное разрешение для этого профиля 1280*720 при 30. При этом, могут быть включены B -frames и сжатие чересстрочного материала. Максимальный средний битрейт для этого профиля может быть 8000 килобайт в секунду.
Если мы включим какой-либо профиль, то нужно произвести настройку кодека в соответствии с этим профилем:
Для профилей, где доступен выбор "Use Bidirectional Encoding", лучше сделать этот выбор. Это включает работу кодека с использованием B-frames. Что это такое, я подробно описал в статье про кодек Xvid. Использование этого типа кадров даст небольшой прирост качества.
В поле "Video resolution" нужно выставить разрешение, с которым будет выходное видео. Пользоваться этой функцией я не рекомендовал бы. Дело в том, что не известно, какой метод интерполяции при этом используется, а иногда это бывает важно. Лучше производить изменение размера входящего видео в соответствии с теми размерами, которые нужны для работы выбранного профиля.
В поле "Video frame rate" выставляется частота выходящего видео, к которой будет приведено входящее видео. Опять же, лучше это делать программными средствами обработки до кодека, а не средствами кодека.
Эти функции сделаны в составе кодека "для ленивых". Кто не заботится о высшем качестве получаемого материала, а хотят быстрых результатов.
Итак, мои рекомендации по выставлению профилей. Если вы производите сжатие для высококачественного воспроизведения на компьютере или аппаратном проигрывателе, то нужно выбрать "Disable profiles" в первом окне выбора профилей и "Use Bidirectional Encoding". Больше вам ничего не потребуется для получения видео, которое будет воспроизводится без проблем.
Статья добавлена 23 января 2004 г.
|