Конвертируем DVD в MPEG4

Технология компрессии MPEG video files


Технология компрессии MPEG video files (в нашем случае dvd-файлов *.vob) по методу DivX ;-) заключается в следующем: сам алгоритм DivX ;-) применяется в кодеке, который используется в программе непосредственно кодирования и является отдельным подключаемым программным модулем, наряду с другими имеющимися модулями-кодеками. Т.е. для того чтобы преобразовать какой-либо *.vob файл в файл *.avi (получаемый, в частности, при использовании кодеков DivX ) Вам необходимы две вещи - программа-кодер и сами кодеки DivX в качестве подключаемого модуля. Скачиваются и инсталлируются они отдельно. После удачной инсталляции при запуске программы-кодера в настройках выбора типа кодека должны появиться кодеки DivX MPEG-4 Low-Motion и DivX MPEG-4 Fast-Motion. Именно, выбрав один из них Вы и получите, в результате преобразования, файл *.avi. Т.е. описываемая здесь методика аналогична той, которую применяют (на этапе компрессии) для производства дисков MPEG-4 VIDEO, появившихся в большом количестве на рынках.

Вот перечень программ, которые понадобятся Вам для процедуры перекодировки файлов *.vob в *.avi:

  • cladDVD или подобная, для снятия защиты MacroVision, кодировки CSS, мульти-регионального кодирования и копирования *.vob-файлов на хард;
  • Flask MPEG 0.594 (на текущий момент) сама программа, под управлением которой происходит сам процесс кодирования. Можете использовать оптимизированную версию программы под конкретного производителя процессоров:


    • FlasKMPEG_0594_Intel.zip - оптимизированная версия программы для процессоров от Intel;
    • FlasKMPEG_0594_AMD.zip - оптимизированная версия программы для процессоров от AMD;


  • divx_311alpha непосредственно кодеки DivX ;-), работающие в оболочке программы Flask MPEG;


    • DivX.Scene-Detect.Patch.v1.0 новый вариант кодеков Low-Motion и Fast-Motion, позволяющих самостоятельно вставлять ключевые кадры в необходимые места, в зависимости от изменения содержания кадра, что позволит улучшить в конечном итоге качество компрессии. После скачивания и инсталляции divx_311alpha, распакуйте зип, поместите файлы DivXc32.dll и DivXc32f.dll в папку c:\windows\system, заменив имеющиеся.








    • cladDVD и divx_311alpha имеют стандартную процедуру установки, надо лишь принимать предлагаемые во время инсталляции условия и софт ляжет там, где ему надо и не будет мешать другим программам. Не забудьте зарегистрировать кодеки DivX ;-) в системе, запустив файл Run Me First!!. FlasKMPEG необходимо поместить в отдельную папку, с гордым одноименным названием (программа вполне этого заслуживает). Кстати, можно использовать русификатор программы, который существенно облегчит ее освоение. Файл Russian-SL.lang.flask надо поместить в папку Lang в директории, где лежит Flask MPEG. Затем выбрать в Options=>Language=>Russian-SL.

      После того, как весь необходимый софт успешно установлен, Вам необходимо переписать с помощью программы cladDVD(или подобной) содержимое DVD-диска на хард. Это может потребовать от 5Гб свободного места на диске. Настройки программы достаточно доступны для освоения и ее использование не должно вызвать затруднений.

      Запускаем программу FlasK MPEG, под управлением которой будет осуществляться компрессия. FlasK MPEG - мощный программный инструмент, который может преобразовать любой MPEG-1 или MPEG-2 поток в целый ряд форматов, как например: DivX, AVI, MJPEG, MPEG-1 или MPEG-2 и т.п.! Программа имеет два основных компрессионных режима:

    • Open File: позволяет открыть любой mpeg-файл и преобразовать его в какой-либо формат;
    • Open DVD: специальный способ, позволяющий читать DVD-диски аналогично плейеру. В этом режиме можно выбрать язык сопровождения, субтиры и развитие сюжета.


    • На странице Конвертируем DVD в MPEG1 рассмотрены некоторые настройки программы FlasK MPEG, правда в том случае она используется для кодирования в поток MPEG-1, однако большинство настроек имеют общий вид. Остановлюсь лишь на выборе разрешения картинки и настройках непосредственно кодека DivX ;-) для видео и MP3 для звука.

      Что касается разрешения картинки, то для начала немного углубимся в теорию... Дело в том, что для получения более-менее приличного качества при столь малых объемах получаемых файлов (один-два CD) неизбежно приходится уменьшать исходное на DVD разрешение картинки (для системы NTSC - 720x480, для системы PAL -720x576). Здесь существует простое правило - чем меньше разрешение картинки, при одной и той же задаваемой скорости цифрового потока - тем более качественной будет компрессия (меньше артефактов), т.е. на один и тот же блок изображения (16x16 пискселов) будет отводиться больше бит информации. Однако, с уменьшением разрешения неизбежно уменьшается и четкость, поэтому необходимо искать разумный компромисс... Кроме того, чем больше блоков имеет картинка, тем больше потребуется машинных ресурсов для декомпрессии потока. Если Вы ориентируетесь на свою машину, то в результате экспериментов можете выяснить технический предел для успешной декомпрессии и в дальнейшем его придерживаться.

      Еще один момент - как Вы знаете, фильмы записываются в нескольких форматах - 4:3; 16:9; Wide Screen. В случае, если изображение выводится на весь экран (соотношение сторон 4:3 как у большинства домашних телевизоров), то мы имеем коэффициент соотношения сторон 1,33(3). А если еще учитывать то обстоятельство, что для многих серьезных видео-карт должно выполняться требование кратности горизонтали 32-м (для работы оверлея), то при изменении исходного размера кадра остаются следующие соотношения сторон: 768x576 (разрешения полного кадра в системе PAL), 704x528, 640x480, 576x432, 512x384, 448x336, 384x288 и т.д..



      Для фильма в системе NTSC с исходным размером кадра 720x480 - ближаешее значение для уменьшения картинки, с выполнением описанных выше требований, будет 640x480.

      В случае, если фильм записан в широкоформатном варианте - сверху и снизу на экране видны черные полосы, то мы имеем возможность удалить их при компрессии, отводя весь цифровой видео-поток на кодирование самого изображения. Рассмотрим небольшой пример: фильм в формате 4:3 и c разрешением картинки 576x432, содержит 972 блока(16x16). На описание каждого блока отводится n-ное количество бит цифрового потока. В случае, если мы сжимаем фильм 16:9 с конечным разрешением картинки 576x256 (576 блоков), то задавая ту же общую скорость потока, мы описиваем меньшее количество блоков (мешьний размер кадра), получая меньшую степень компресси и, как следствие, более высокое качество.

      Итак, имеем широкоформатный фильм на DVD, задача - обрезать черные полосы и уменьшить разрешение картинки. Открываем любой *.vob-файл в программе FlasK MPEG, выбираем Options=>Global Project Options=>Show Output Pad=>Reset Settings (как это будет называться по русски, здесь и далее - догадаетесь сами:)) и видим исходное разрешение картинки и отдельный кадр фильма.


      Содержание раздела