Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Компьютеры -> Видео -> DivX, MPEG-4 Video Codec

Начиная разговор о 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, который по совокупности некоторых редких и полезных функций, безусловно, находится в числе лидеров.

Skin BSPlayer, стилизованный под девайс фирмы Pioneer

Второй необходимый компонент - сам кодек 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 ;-)!

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.