Комплект программ необходимых для конвертирования DVD фильмов в DivX.

VirtualDub берите на http://www.virtualdub.org/download , а кодек DivX 5.02 здесь - http://www.borodin.com.ua/files/DivXPro502GAINBundle.exe



Задача конвертирования DVD фильма в DivX мне представляется в следующем описании: фильм должен умещаться на одном CD с приемлемым качеством видео и стереозвука. Сейчас, когда DVD с фильмами стОят 100р. Я не вижу смысла в конвертации фильма на два диска и тем более со звуком АС3. Когда диски DVD стОили по 600 рублей это было оправдано. Далее вся информация относится к варианту конвертации фильма на 1 CD. Эмпирическим путем я определил, что звук не претерпевает существенного падения качества при МР3 с битрейтом 112кбит/с или выше. Битрейт 96кбит/с и ниже существенно снижают качество звука в бОльшей степени его высокочастотную составляющую, высокие налинают “плавать” и приобретать характерный металлический призвук. Основная ошибка начинающих DVD рипперов в том, что они стремятся сохранить разрешение кадра максимально большИм, добиваясь “лучшей” четкости картинки – а-ля DVD. Это в корне неверный подход, запомните – DivX даже при максимальном разрешении кадра и битрейте никогда не даст полноценного качества DVD (точнее МПЕГ2). Если все-же очень хочется боьшОго разрешения, т.е. с размером кадра по ширине более 512 пикселей, вам прямая дорога к конвертированию на 2CD. Коротко опишу структуру DVD диска с фильмом. Изначально диск содержит две папки Audio_TS и Video_TS, фильм находится во второй. В этой папке записаны *.IFO и *.VOB файлы, первые – коротенькие, вторые до 1Гб размером нас интересуют VOB-ы, именно в них находятся видео, звук и титры. Видео на DVD пишется в МПЕГ2 формате, звук чаще всего в АС3.
Требования к компьютеру – наличие DVD-ROM, дисковое пространство ~10Гб. Ориентировочное время приведено для компьютеров с процессором 1000МГц.
Итак мы взяли DVD диск в прокат или у друга, не суть важно, что же необходимо определить в первую очередь. Открываем фильм в Power DVD, запускаем просмотр фильма, жмем правой кнопкой мыши (ПКМ) на изображении, выбираем пункт Audio Language (в русской версии Выбор языка) и запоминаем каким треком идет русский вариант озвучки на данном диске. Верхний трек это номер один. Т.е. если в списке первой строкой значится English, второй Russian, то номер необходимого нам трека будет второй. Бывают диски только с русской озвучкой, тогда трек, который нас интересует и он единственный, номер один. Так же есть варианты, когда в меню русского языка вообще не значится, это издержки DVD пиратства, в таком случае в меню может быть например английский и немецкий или другие языки. Просто перебираем их по очереди, до тех пор, пока не услышим русский вариант и запоминаем номер трека. Снова жмем ПКМ на изображении и выбираем Configuration (в русской версии Конфигурация), выбираем вкладку Information (Информация), в разделе Video Attribute: запоминаем какой системе записан фильм на данном DVD - TV system (PAL или NTSC) и Aspect Ratio (4:3 или 16:9). Для работы переписываем папку Video_TS с DVD на жесткий диск, пиратские диски как правило лишены защиты macrovision, по этому с ними проблем не возникает, фирменные диски необходимо сливать программами типа DVDdecrypter. Далее необходимо скачать необходимые программы для конвертации.
Опишу в кратце технологию конвертации DVD в DivX:
- с помощью DVD2AVI делается промежуточный project-файл *.d2v (размер его невелик) и извлекается звуковая дорожка в АС3 формате (в среднем 400Мб);
- с помощью VFAPIConv-EN из *.d2v создается псевдо AVI файл, это необходимо для того, чтобы открыть фильм в VirtualDub-e;
- AdvBitRate19 поможет нам оценить необходимый битрейт;
- с помощью VirtualDub-а открываем фильм, делаем ресайз, кроп, переводим видеоряд без финальных титров переводим в DivX, титры переводим отдельно, дополнительно используя фильтр EndCredits;
- с помощью AzidLameGUI переводим звук формата АС3 в WAV (тут же можно и в мр3 пожать, но по привычке я юзаю RazorLame);
- с помощью RazorLame переводим WAV в MP3;
- т.к. VirtualDub не может работать с МР3 напрямую, то с помощью Wavemp3, создаем из МР3 файла WAV файл, содержащий в себе МР3 (Wavemp3 лишь добавляет RIFF заголовок);
- с помощью VirtualDub склеиваем видео и звук
Запускаем DVD2AVI, меню File>Open выбираем файл VTS_01_1.VOB, жмем Открыть, затем ОК. Файл VTS_01_0.VOB открывать не надо, т.к. там как правило идет стартовое DVD меню, которое нас не интересует. В меню Audio>Trek Number выставляем номер аудиотрека, который запомнили ранее. Если фильм записан в NTSC, то в меню Video>Field Operation ставим Forced Film, если в PAL, то None, этот момент важен, не напутаете! В меню Video>ColorSpace ставим RGB 24-bit, т.к. фильтры VirtualDub работают именно в этом цветовом пространстве. Далее File>SaveProject сохраняем проект, в результате получим *.d2v файл и *AC3Tхх х_хchхххKbpsDELAY–хххms.ac3, это займет минут 15. Если в названии АС3 файла присутствует параметр “DELAY -ххх ms”, то ЗАПОМИНАЕМ значение в ms (миллисекунды) задержки звука, причем со знаком (+ или -). Закрываем DVD2AVI, он больше не понадобится, запускаем VFAPIConv-EN, Add Job открываем наш *.d2v, ОК, Convert, Exit, в результате получаем AVI файл с названием *_d2v-vfapi.avi, по времени это займет не более минуты. Запускаем VirtualDub, File>OpenVideoFile открываем наш AVI. Коротко опишу навигационные клавиши VirtualDuba снизу, слева на право:
- остановка воспроизведения;
- просмотр источника;
- предварительный просмотр результата, с применением всех фильтров;
- в начало;
- один кадр вперед;
- один кадр назад;
- в конец;
- один ключевой кадр вперед;
- один ключевой кадр назад;
- просморт обратно с остановкой на смене сцен;
- просмотр вперед с остановкой на стыке сцен;
- отметить начало источника;
- отметить конец источника;
Правее идет счетчик вкадрах и в скобках по времени. Выше, по всей ширине окна интерфейса, расположена полоса навигации по рабочему материалу – источнику.
Для начала подключим необходимые фильтры, тут надо определиться с размером кадра. Обычно фильмы на DVD пишутся в одном из трех вариантов aspect ratio (соотношение сторон кадра), 4:3, 16:9 или 2.35:1, наиболее широко встречаются два последних варианта. Узнать точно пропорции, в которых записан фильм, можно сохранив любой кадр из фильма в PowerDVD с помощью Capture frame (значек с фотоаппаратом) и последующим изучением ВИДИМОЙ части кадра в любом графическом редакторе (в том же Paint). Пропорции кадра нашего DivX фильма будут такими же, а размер кадра в пикселях (точках по горизонтали и вертикали) фильма необходимо приблизительно оценить. Для этого в первую очередь надо узнать длительность фильма без финальных титров в минутах. Перемещаемся по навигационной полоске к концу фильма до того момента, где начинаются титры и смотрим по счетчику на время, например эначение такое (1:27:39.378), округляем в большую сторону, получаем 88 минут. Экспериментальным путем установлено, что для получения достаточно приличного качества DivX фильма с размером ~700Мб (одна CD болванка) и по длительности (без титров) НЕ БОЛЕЕ 90 МИНУТ размеры кадра при различных aspect ratio следующие:
4:3 - 400х300
16:9 - 448х252
2,35:1 - 528х224
Обратите внимание, что площадь кадра при данных размерах практически одинакова, кроме того ширина кадра кратна 32-м, а высота 16-ти, при этой кратности фильмы обыно идут без проблем на любых видеокартах (т.е. нормально включается оверлей), ширину кадра по возможности делайте кратной именно 32-м. Высоту можно делать кратной и 8-ми.
При длительности фильма превышающей значение 90 минут необходимо уменьшить размеры кадра, для ориентировки размеры кадра для длительности 115 минут:
4:3 – 320х240
16:9 – 400х224
2,35:1 – 448х192
Все эти размеры в некоторой степени условны, т.к. немаловажный фактор имеет то, насколько фильм динамичен и в какое время дня, точнее при каком освещении происходит действие. Тут правила такие – чем динамичнее фильм, чем больше в нем ярких сцен, тем хуже фильм поддается сжатию (примеры – «Ангелы Чарли 1и2»), чем статичнее фильм, чем больше в нем темных, ночных сцен, тем лучше он поддается сжатию в DivX (примеры – «Дом 1000 привидений», «Другие», «Двухсотлетний человек»). Так же чем фильм старее, тем обычно он хуже поддается сжатию, т.к. содержит много шума, (пример – «Робокоп», «Индиана Джонс»). Эти факторы необходимо учитывать и соответственно можно увеличить или уменьшить размер кадра.
Для того, чтобы выставить необходимый размер кадра, идем в Video>Filters...>Add... , выбираем фильтр Resize, теперь вспоминаем значения Aspect Ratio, который нам выдал Power DVD, и если это 4:3 или 16:9, то заполняем значения New width (ширина кадра) и New height (высота кадра), в соответствии с перечисленными выше рекомендациями, Filter mode выбираем Precise biliniar. Далее ОК, еще раз ОК, возвращаемся в основной интерфейс VirtualDub-a, где двигаясь по навигационной смотрим на правое окно, визуально удостоверяясь в правильности пропорций (по форме лиц, и геометрических объектов), если снизу и сверху кадра идут черные полосы, то это значит, что фильм записан в формате 2.35:1, хотя бывает, что и в 16:9, возвращаемся в Video>Filters...>Add... , выбираем фильтр Null transform, в окне Filters выделяем Null transform и нажимаем кнопку Cropping... меняя Y1 и Y2 Offset обрезаем черные полосы, ОК и проверяем размер кадра в параметрах Null transform на предмет соответствия Aspect ratio 2,35:1 либо 16:9 и кратности высоты кадра 16-ти (или 8-ми).
Далее Video>Compression ... выбираем DivXPro 5.0.2 Codec (который был установлен ранее), Configure, в первой вкладке выставляем Variable bitraite mode: 1-pass, ставим только одну галку – Use Bidirectional Encoding, значение Encoding bitrate нам поможет вычислить программа AdvBitRate19, исходя из длины фильма (без титров!), емкости CD болванки и битрейте звука (112 кбит/с). Во вкладке General Parameters убираем все галки, оставляем значения 300 frames и 50%. Во вкладке Advanced Parameters значение Maximum quantizer ставим 5 для динамичных и ярких фильмов или 4 для мелодрам или темных «ночных» фильмов. Minimum quantizer оставляем 2. Perfomance/quality – Slowest. Далее ОК, ОК. Здесь я в кратце поясню логику работы DivX кодека. Самый важный его параметр это как раз QUANTIZER, фактически это КОЭФФИЦИЕНТ СЖАТИЯ, т.е. чем больше quantizer тем сильнее сжимается кадр, тем меньше занимает он места, но тем хуже его качество, т.е. больше квадратов. Значением Encoding bitrate мы указываем кодеку приблизительный уровень данных в секунду времени, а уже исходя из Encoding bitrate кодек сам подбираем quantizer. Отсюда бывают некоторые парадоксы – напримересли мы ставим битрейт 10 000кбит/с, а в результате реально получаем файл с битрейтом 200кбайт/сек, т.е. 1600кбит/с, это начит, c даже с quantizer = 2 реально битрейт не вышел за пределы 2400 кбит/с и дальнейшее его увеличение размера фильма уже не увеличивает.Только изменив в этом случае значение min quantizer на 1 или увеличение размера кадра увеличит реальный битрейт. И наоборот, выставив например битрейт 600, min q = 2, max q=4 и размер кадра 640х480, реальный битрейт будет около 200кбайт/с, т.е. 1600 кбит/с, это значит, что даже с максимальным значением quantizer (4) кодек при таких настройках не в состоянии вписАться в заданный битрейт, для этого надо либо увеличить max quantizer, либо уменьшить размер кадра, либо и то и другое сразу. Выше приведенные значения размера кадра при разных Aspect Ratio подобран экспериментально как раз для quantizer в пределах 2-5 (с более/менее приемлимым качеством сжатия) и объема фильма ~700Мб.
Выделяем область фильма без титров, для этого нажимаем кнопки «в начало» и «отметить начало источника», далее двигаемся по навигационной панели в то место, где фильм заканчивается, начинаются титры и жмем кнопку «отметить конец источника», выделенный фрагмент будет отмечен синим цветом.
Video>Full processing mode, File>Save as AVI... задаем имя нашего ави файла и сохраняем его, процесс кодирования займет около 3-х часов при фильме 90мин. и частоте процессора 1000МГц. Далее Edit>Move to selection end, ползунок навигатора перемещается в ранее отмеченное место начала титров, жмем «отметить начало источника», «в конец» и кнопку «отметить конец источника», далее добавляем фильтр EndCredits. Общий смысл этого действия в следующем – титры обычно по времени длятся до 10-ти минут, и при обычном кодировании могут занимать до 50 Мб!!! Это недопустимые растраты, лучше отдать 40мб из них на основной фильм, дабы повысить его качество, а в 10 уложатся титры (на практике будет и того меньше). Фильтр EndCredits позволяет из финальных титров делать слайд-шоу, т.е. последовательность статичных кадров, а не постоянно ползущие вверх титры, которые съедают уйму битрейта, в результате «вес» титров уменьшается раз в 10, а при значениях min и max quantizer равным 8 и того меньше. Итак Video>Filters>Add... добавляем фильтр EndCredits (фильтры подключенные ранее не убирать!!!), появляется интерфейс фильтра и мини навигатор по фильму. В навигаторе движемся в то место, где начинаются титры (предварительно запоминаем номер этого кадра) + 1 кадр, жмем кнопку AddStopFrame (добавить стоп кадр), кнопками Navigation можно перемещаться вперед на 10 или 100 кадров, а так же назад. Перемещаемся по титрам так, что бы нижняя строчка первого Stop-кадра в окне навигатора переместилась вверх и снова жмем AddStopFrame, и т.д. до конца фильма, ОК, ОК. Так из скроллинга титров мы получаем слайд шоу, которое в ~10 раз лучше подвержено сжатию. Далее снова File>Save as AVI... задаем имя нашего ави файла с титрами и сохраняем его, процесс кодирования займет около 20-ти минут. Теперь надо склеить Сам фильм и его титры, для этого File>Open Video File... открываем наш первый авишник с фильмом, далее File>Append AVI Segment... присоединяем титры и затем Video>Direct Stream Copy, File>Save As AVI ... задаем имя и сохраняем фильм целиком. Теперь видеоряд у нас полностью готов!
Пора перейти к звуку. Тут уже конкретно можно определить с каким битрейтом надо пожать звук, для этого определяем сколько у нас осталось места, т.е. 700 Мб – размер получившегося видеоряда в Мб, отнимем еще 3Мб для надежности. Запускаем AdvBitRate19, во второй вкладке «Диск.Место» вводим длину всего видеоряда (включая титры) в минутах, задаем битрейт аудио 112 кбит/с, битрейт DivX 0кбит/с и смотрим сколько места займет звук, если его объем меньше свободного места, то можно увеличить битрейт до 128-ми или еще болше. Может случиться, что для звука места осталось совсем мало, в этом случае можно вообще выкинуть титры, использовать перепрожиг при записи на CD болванку (~дополнительных 15Мб), болванку большего объема (800Мб), или пережать фильм заново, уменьшив при этом размер кадра или увеличив max quantizer. Запомним значение аудио битрейта.
Вспомним, что звук у нас находится в формате АС3, с помощью AzidLameGUI переведем его в WAV формат, для этого запустим AzidLameGUI, в Source (AC3) выберем наш АС3 файл, в Target (WAV) задаем имя будущего WAV файла. В параметрах Overall Output Configuration ставим галочку DynamicCompression (Nоrmal), и Gain, значение которого подбирается экспериментально, обычно оно лежит в пределах от 4-х до 24 Дб. Объясню кратко, зачем это делается, звук на DVD пишется с большим динамическим диапазоном, т.е. с большой разницей между самыми тихими и самыми громкими звуками что придает фильму некоторый реализм, при просмотре DVD есть возможность либо смотреть с «реальным» звуком, пугая периодически соседей, или при необходимости есть возможность сгладить эту разницу между громкими и тихими звуками кнопочкой на пульте, чтобы не делать каждый раз звук то громче, то тише. При переводе АС3 в WAV мы и делаем такую корекцию, т.к. низкобитрейтный МР3 не очень хорошо передает звук с большим динамическим диапазоном. Сначала ставим значение Gain в 24Дб, жмем кнопку АС3 to WAV, появляется окно конвертации, если внизу этого окна периодически выскакивают строчки содержащие слово overflow +xx db, то закрываем окно конвертации и уменьшаем значение Gain на хх db, округленное в бОльшую сторону, снова запускаем конвертацию и следим, не появится ли overflow, при его появлении еще уменьшаем Gain. Вся конвертация займет минут 30, для 90 мин. фильма, при этом размер wav файла, в зависимости от его длительности, может достичь 2Гб!
Следующим этапом переводим WAV в МР3. Открываем RazorLame, нажимаем ADD, окрываем наш WAV файл. Жмем LAME Options, в первой вкладке выбираем наш битрейт (112 или больше), JointStereo и путь, куда сохранить МР3. Во второй вкладке None и убираем все галки, во вкладке VBR убираем галку Enable VBR, Во вкладке Expert убираем все галки КРОМЕ одной - Disable all filtering, ATH control: default, q level: 0, Custom options не трогаем. Во вкладке Audio Processing если битрейт 128 и более убираем все галки и Output sample frequence ставим default. Если звук будет 112кбит/с, то ставим Output sample frequence в 48kHz, и Low pass filter первую галку в значение 16, вторую галку (нижнюю) в значение 2. Далее ОК и жмем кнопку Encode. Процесс займет минут 40 для 90 мин. фильма. Далее с помощью Wavemp3, кнопка Wave!, переводим наш МР3 файл в псевдо-WAV, который на самом деле будет МР3, только с RIFF заголовком, это займет около минуты. ВНИМАНИЕ!!! Если ваш МР3 находится в той же папке, что и исходный WAV файл, то он (исходный WAV) будет заменен на псевдо-WAV файл без предупреждения! Если вы хотите этого избежать, просто переименуйте МР3 файл или исходный WAV перед созданием псевдо-WAV файла. Теперь возвращаемся в VirtualDub, открываем видеоряд – File>OpenVideoFile, далее Video>Direct Stream Copy, Audio>Direct Stream Copy, Audio>WAV Audio... выбираем наш псевдо-WAV файл, AudioInterleaving ... ставим значение Delay audio track by в ms, находящееся в имени АС3 файла как «DELAY ххх ms», которое мы запомнили на этапе извлечения АС3 файла из VOB-ов, причем со знаком «-», если он там содержится. Если слова «DELAY» в имени АС3 файла нет, то ставим значение «0». Далее ОК. Если не поставить время задержки, то звук может несколько отставать от видео или наоборот. Теперь осталось File>Save As AVI ... задаем имя и фильм сохранится вместе со звуком. Все!
P/S Все написанное выше является лично моим мнением и оно может не совпадать с вашим. Можете экспериментировать благо границ для фантазий в этом деле просто нет. Насчет двухпроходного кодирования, я не вижу резона в его использовании, т.к. если изначально размер кадра подобран не верно (т.е. неоправданно большой), то и двухпроходное кодирование не спасает, оно лишь чуть лучше распределит quantizer по всему фильму, но не более того. Проще сразу «зажать» quantizer и CDелать размер кадра поменьше, я никогда не делаю фильмы с размером кадра по ширине более 512. Для повышения качества можно зажать quantizer еще сильнее, поставив его значение в «3» и при этом уменьшить значение Encoding bitrate процентов на 30, чтобы попасть в заданный объем. Может возникнуть ситуация, когда даже при min quantizer 2 и max quantizer 3 фильм все-равно получается очень маленького объема (как у меня было с «Домом 1000 трупов»), тогда можно поставить min quantizer=1, тем самым несколько повысится качество и одновременно увеличится объем видеоряда. Для повышения качества можно использовать CD болванки большого объема – 800Мб и более, но надо при этом помнить, что далеко не на всех CD приводах такие фильмы можно будет посмотреть.
Если вы принципиальный противник Bidirectional Encoding, то можете эту возможность кодека не задействовать, в этом случае во вкладке Advanced Parameters значение Maximum quantizer надо ставить 9 для динамичных и ярких фильмов или 7 для мелодрам или темных «ночных» фильмов. Minimum quantizer оставляем 2
В природе существует великое множество программ для конвертации DVD фильмов в DivX, в том числе VirtualDub работающий непосредственно с МР3, можете их использовать, возможно, что какие-то из них дадут лучшее качество.
Про конвертацию DV записей в DivX смотрите в разделе Panasonic DS30EN MiniDV FAQ (скоро появится).
Необходимый комплект программ для конвертации, в т.ч. DivX Codec 5.0.2 в скором времени постараюсь загрузить на сайт в виде единого архива.
Удачи!
(C) MEGAMONSTER 2004. При переопубликации статьи или ее части ссылка на этот сайт и автора обязательна!!!

Hosted by uCoz