Начиная разговор о DivX ;-), прежде всего
необходимо разделить понятия, схожие по написанию, но отличные по своей
сути. Первоначально аббревиатура Divx
использовалась для некоего коммерческого варианта DVD-дисков, которые
можно было использовать определенное время для просмотра (как правило
около двух дней), после чего считать информацию с них было невозможно.
Суть в том, что по стоимости такие диски были в несколько раз дешевле
полноценных DVD-дисков, потому и могли быть привлекательными для
пользователей (многие не любят смотреть фильм по нескольку раз, да и
дешевый вариант более доступен). Несмотря на кажущиеся достоинства,
широкого распространения данный вид услуг не получил.
Здесь же речь пойдет о совершенно другой технологии,
используемой для своего обозначения аббревиатуру DivX ;-).
Итак, двое хакеров, известных под прозвищами
MaxMorice и Gej, придумали
новый формат сжатия видеофайлов, названный ими DivX ;-). DivX ;-)
на самом деле является, всего лишь, взломанной версией, того же
Microsoft MPEG-4 Video Codeс (Low-Motion кодек, это
взломаная версия 4.1.00.4920 M$ MPEG4v3, а High-Motion кодек
- 4.1.4917 M$ MPEGv3), как утверждают авторы, они убрали глюки и
слегка его улучшили. В частности, они сделали возможным вывод файлов после
компрессии в формате *.avi, в то время, как кодек M$ MPEG-4 Video
Codec поддерживает формат *.asf и устанавливается вместе с Windows
Media Player или Windows Media Tools (последние версии кодеков
Microsoft MPEG-4 Video
Codec V1,V2,V3 также выводят поток в *.avi-файл).
Т.е. фактически, официально данный алгоритм не
поддерживается, по крайней мере в таком исполнении, тем не менее, DivX ;-)
базируется на формате MPEG-4, который, собственно
говоря не является форматом сжатия, а представляет собой новый
мультимедиа-формат, рассчитанный на низкоскоростную передачу данных. Суть
его заключается в том, чтобы подразделить материал на несколько типов
элементов (медиа-объектов): неподвижные, видео-, аудио-объекты и т.д.,
формализовать их структуру и взаимосвязь и скомпоновать в единую,
изменяемую пользователем сцену.
Прелесть алгоритма DivX ;-) в том, что фильм,
длительностью до трех часов можно сжать до объема, умещающегося на одном
CD, что вдвое меньше чем у VideoCD, получив при этом более качественную картинку,
особенно в плане разрешения. Появившиеся на рынках диски с записью фильмов
в стандарте MPEG-4 - как раз и есть тот самый случай использования
алгоритма DivX ;-). Стоят они на сегодняшний день 60руб. (в пакете с
обложкой) и 70руб. в обычной CD коробке. В качестве источника как правило
используется DVD. Большинство фильмов записано в формате 16:9, что не
сильно радует глядя в монитор, однако качество у таких фильмов как правило
выше, чем у фильмов с обычным форматом 4:3. Кроме того, чем короче по
времени фильм, тем большую скорость цифрового потока можно использовать,
заполняя все пространство диска CD. Разумеется и качество в этом случае
будет выше.
Что дает нам, простым обывателям эта новая технология? Я
бы сказал, кое-что дает... а именно: предположим к Вам какими-то
загадочными путями попал DVD-диск с хорошим фильмом. Благодаря технологии
DivX ;-) Вы можете сохранить у себя копию фильма, ужав его до объёма
одной-двух матриц CD-R, правда, с некоторой потерей качества. Однако, с
этим придется смириться - лучше DivX ;-) в руке, чем
DVD вдалеке.
Если же нет желания или возможности заниматься
самостоятельной компрессией, то вполне можно использовать готовую
продукцию, объемы которой стремительно нарастают.
Для просмотра компрессированных файлов по алгоритму DivX
;-) Вам потребуется любой подходящий плейер, например, Windows Media 6.4, но
если у Вас есть дистанционное управление к карте Hollywood Plus -
Real magic Remote Control, то я бы рекомендовал использовать microDVD
Player, поскольку в этом случае Вы получаете возможность управлять
просмотром на расстоянии. Вообще, количество программных плейеров для
просмотра DivX ;-) стремительно нарастает, что свидетельствует о
популярности алгоритма... Лично мне симпотичен BSPlayer, который по совокупности
некоторых редких и полезных функций, безусловно, находится в числе
лидеров.
Второй необходимый компонент - сам кодек DivX ;-),
который используется в программных плейерах для декомпрессии цифрового
потока. Этот же кодек используется и для компрессии в программных кодерах.
После того, как Вы перекачаете файл кодека, сначала прописываете его
(двойным нажатием мыши на значке файла divx_311alpha) в папку
C:\Program Files\DivX_311alpha. Затем заходите в нее и дважды
нажимаете на файл Register_DivX. После этого кодек регистрирует
себя в системе соответствующим образом для того, чтобы его могли видеть
другие программы, использующие этот кодек в работе. Не помешает установить
последние версии DirectX7.0
и DXMedia 6.0. Кроме того, Ваш компьютер должен отвечать определенным
системным требованиям и если у Вас слабая машина, то про DivX ;-) пока
придется забыть... Например, для более-менее нормального кодирования
необходим процессор не ниже P-II/300MHz, а полное время кодирования
полутора-часового фильма на P-III/500MHz может занять от 8-ми до 15-ти
часов, в зависимости, опять же, от выбранных предустановок кодирования.
Какой конфигурации хватает для просмотра - сказать трудно... Например,
фильм "Враг государства" (разрешение картинки 480x208) мне удалось
посмотреть даже на конфигурации P-200MMX/32/ATI Rage II 2Мб. Конечно же
это ни в коем случае не ориентир, поскольку фильмы с максимальным
разрешением картинки и при установке "максимального качества" в программе
Windows Media могут притормаживать даже на машинах вплоть до
P-III/550MHz (что скорее говорит о несовершенстве самого алгоритма, чем о
слабости машины). Отсюда правило - чем быстрее машина, тем меньше проблем
с декомпрессией.
Хочу обратить Ваше внимание на один момент. Если
изображение на мониторе при просмотре идет рывками - попробуйте нажать
правую кнопку мыши на экране с изображением и выбрать опцию
Свойства=>Дополнительно=>DivX MPEG-4 DVD Video
decompressor=>Свойства=>CPU(Quality) и установить программный
фейдер на отметку "0" (эта регулировака доступна в версии Windows Media
6.4). Тем самым Вы отключите так называемое "сглаживание" которое
позволяет в некоторой степени улучшить изображение. Это как раз и есть
регулировка, которую я в вольном переводе назвал как регулировку
"качества". Чем правее программный фейдер, тем выше качество. Однако,
необходимо иметь достаточно серьезный камень для того, чтобы
предусмотренная настройка дала эффект и даже на P-III/550MHz могут быть
притормаживания видео на отметках 3-4... На той же закладке можно
программно регулировать параметры изображения - яркость, контраст,
насыщенность. На разных фильмах эффект притормаживания может проявляться
по-разному. Зависит это в некоторой степени от формата картинки - чем выше
разрешение, тем сильнее загрузка системы. Если для отображения картинки
включается оверлей
(для этого должны соблюдаться некоторые условия, в частности, для карты
Matrox и TNT2 должна быть кратность разрешения картинки 32-м по
горизонтали, для карт на чипе TNT - кратность по горизонтали 16-ти), то
процессор значительно разгружается, если же фильм воспроизводится
программно, то нагрузка на процессор увеличивается и не всегда его
мощности хватает для успешной декомпрессии.
Если Вам интересно проверить каким образом декодируется
конкретный фильм - сделать это можно следующим образом - перевести экран в
разрешение 256 цветов и если фильм идет как через сетку, то декомпрессия
осуществляется программно, (следовательно процессор загружен сильнее), а
если же картинка идет полноцветная, то работает оверлей, т.е. механизм
вывода изображения на экран, когда не требуется преобразовывать формат
цветности изображения (обычно YUV) в RGB, и масштабирование картинки
происходит на аппаратном уровне.
В последнее время стали появляться софт-плейеры, успешно
решающие проблему включения оверлея у видео-карт, в случае, если
изначально фильм имеет значение горизонтали, не кратное 32-м (строки
доводятся до кратных значений, добавлением черных пикселов). Например: Sasami2k
the Advanced Mplayer (для корректного отображения меню необходимо
изменить расширение файла Sasami2000.ENU на *.RUS) либо
BSPlayer (для использования оверлея, его необходимо принудительно
включить, выбрав опцию Optiomns=>Preferenses=>General=>Use
Overlay). Со временем подобных продуктов будет появляться всё больше,
поскольку проблема оверлея - актуальна.
Надо сказать, что иногда имеет смысл установить
разрешение экрана у монитора 800x600, поскольку нагрузка на систему в этом
случае будет меньше, чем при более высоком разрешении, что позволит в
какой-то степени отдать большую часть ресурсов машины на декомпрессию
цифрового потока.
Если у Вас слабая машина (например: P-200MMX) и хочется
посмотреть имеющийся MPEG-4 фильм, а ресурсов не хватает, то выйти из
ситуации можно следующим образом - уменьшить разрешение картинки...
Теперь вкратце об устанавливаемых файлах при инсталляции
кодека и их предназначении:
- DivXc32.dll - Video Codec Version 4.1.00.3920 (Low-Motion
codec "div3")
- DivXc32f.dll - Video Codec Version 4.1.00.3917 (Fast-Motion
codec "div4")
- DivX_c32.ax - Direct Show Decoder Version 4.1.00.3917 (Hi
Quality Video decoder)
- DivXa32.acm - Audio Codec Version 4.1.00.3920alpha (Better
than MP3, DivX ;-) Audio codec)
- L3codeca.acm - Fraunhofer-IIS MP3 Radium's audio codec
Version 1.2.0.63
Можно отметить такой факт в работе кодеков - при удалении
файла c:\windows\system\DivX_c32.ax (что ранее применялось в
случаях с некратными фильмами для видео-карты Matrox G400 DH),
декопрессия видео осуществляется файлом
c:\windows\system\DivXc32.dll, независимо от того, каким кодеком
(Low-Motion или Fast-Motion) был сжат фильм. Если удалить и
его, то в работу вступит файл c:\windows\system\DivXc32f.dll. Т.е.
декомпрессия будет осуществляться наилучшим программным инструментом,
имеющимся на данный момент. Надо сказать, что в такой ситуации качество
картинки пропорционально ухудшается, однако, эта информация имеет чисто
теоретический интерес и на практике, удалением отдельных файлов Вам
заниматься, скорее всего, не придется :)
Кстати, о версиях кодеков - если Вы будете практиковать
самостоятельную компрессию, то можете скачать вариант кодеков с автоматическим
анализом сцен, позволяющих реально вставлять ключевые кадры в
необходимые места (поскольку кодеки в пакете divx_311alpha этой
возможностью, к сожалению, не обладают), что позволит улучшить в конечном
итоге качество компрессии... После скачивания и распаковки поместите файлы
DivXc32.dll и DivXc32f.dll в папку c:\windows\system,
заменив имеющиеся, которые были установлены при инсталляции кодека
divx_311alpha.
Нелишним будет узнать и про технологию смешанного кодирования...
Если говорить о недостатках DivX ;-), то есть один
существенный, на мой взгляд - нет возможности смотреть полученый в
результате всех телодвижений фильм на TV. Правда, если Вы счастливый
обладатель, скажем, Matrox Millennium G400/450 Dual
Head, то все будет в порядке, поскольку у нее прекрасный TV-OUT. Если
же в Вашем распоряжении нет видео-карты с полноценным TV-OUT, но есть
карта MPEG1/2 decoder, то в этой ситуации есть другой выход -
непосредственное кодирование DVD или DivX ;-) в поток MPEG-1, с
последующей возможностью просмотра фильмов через выход декодера на экране
TV (разумеется все проблемы с декодированием потока MPEG-1 карта также
возьмет на себя) и записью полученых файлов на подложки CD-R.
Что касается MPEG-4, то хочется надеяться, что в
ближайшем будущем появятся карты с аппаратной компрессией/декомпрессией и
полноценными видео- входами/выходами, либо аппаратные решения в виде
стационарных или портативных MPEG-4-плейеров с TV-OUT. Рассчитывать на
аппаратную поддержку DivX ;-) от фирм-производителей врядли стоит,
поскольку данный алгоритм не соответствует главной концепции формата
MPEG-4 для видео-изображений - способности кодирования/транспортировки не
только кадра, но и объекта, или смеси кадра и объекта. Например, когда на
общем плане движется объект, то и общий план и объект кодируются отдельно
и транспортируются каждый отдельно со своим собственным битрейтом.
Аппаратная же поддержка будет и должна соответствовать реальной
спецификации MPEG-4, но никак не варианту DivX ;-).
В заключении дам одну ссылку, по которой можно почерпнуть
массу полезной информации на данную тему: http://www.divx-digest.com/
Материал именно этого сайта послужил базовой основой для написания данной
страницы. На указанном сайте есть еще масса ссылок, софта, программных
плейеров, статей и подробное изучение данного ресурса может занять не один
день. Желаю Вам успехов в освоении DivX ;-)!
|