Главная
Новости
Программы
Проекты
Статьи
Ссылки
Контакты
Перегон DVD в MPEG4 (DivX)

Немного за жизнь

Взяться за написание этой статьи меня подвигло следующее. Какое-то время назад я решил заняться перегоном из DVD в какой-нибудь формат, который бы позволял создавать копии DVD с приемлемым качеством и при этом не занимал бы много места, желательно один фильм средней продолжительности (до 2-х часов) на один стандартный CD-R 700 Мб. Сначала шло не все гладко, но в данный момент, как мне кажется, я достиг того, чего хотел.

Сейчас меня часто спрашивают, как и что нужно для перегона DVD. Я, честно говоря, пока не знаю всех тонкостей и подводных камней (надеюсь то, что не знаю я, мне подскажете вы), но кое-какой опыт в этом нелегком деле у меня есть, так что решил им поделиться.

Я сам начинал с чтения разных статей в Сети, обычно эти статьи повествовали об использовании около десятка программ, а сам процесс перегона выглядел страшно и непонятно, как китайская грамота. Сейчас, наоборот, стали появляться статьи, в которых предлагается много не думать, а запустить какую-нить программу (типа Auto Gordian Knot) и возрадоваться результатам. Смею надеяться, что мой скромный труд будет чем-то средним между этими двумя крайностями.

Итак, не будем тянуть резину в долгий ящик . Для начала хочу оговориться, что в данной статье конечный формат предполагается DivX, версии 5.2.1, думаю, почти все из сказанного здесь можно будет применить и для более новых версий. Есть и другие кодеки, которыми народ тоже пользуется, например XviD, 3ivX (если не вру название) и т.д., здесь они не рассматриваются.

Конечно, многие могут сказать, что можно не заморачиваться перегоном, что это не актуально, а купить DVD резалку и уже на ней строгать фильмы в исходном виде без потери качества. Можно-то можно, но и у Mpeg 4 есть свои преимущества перед DVD. Короче, плюсы и минусы при перегоне я здесь обсуждать тоже не буду, кому интересно могут найти в Сети массу статей на эту тему.

Что делать с DVD-диском

Смотреть . А если серьезно, то настоятельно рекомендую переписать содержимое DVD диска на винт. Причем копировать на жесткий диск я рекомендую в любом случае: как при просмотре, так и при перегоне, особенно при перегоне. Сделать это можно либо с помощью специализированных программ, например DVDDecrypter (www.dvddecrypter.com) или просто так, то есть копируете папку VIDEO_TS с DVD на жесткий диск, попутно переименовав ее в понятное себе название. Отмечу, что копирование "просто так" теоретически не всегда должно удаваться, так как на DVD может присутствовать защита от копирования и т.д., а практически мне за все время ни разу не попадались диски с защитой, так что как снимать защиту я не знаю. Если верить другим статьям в Сети, то защиту снять не так уж и сложно – та же программа DVDDecrypter (как пишут лучшая в своем роде) спокойно справляется с этим.

При копировании могут возникнуть проблемы:

  1. Диск плохо читается и в каком-то месте выдается ошибка при копировании. В таком случае грабить диск нужно DVDDecrypt-ором, но в нем включить настройку Ignore Read Errors на вкладке I/O, возможно еще потребуется включить Fast Error Skip на вкладке Device. Однако при таком подходе кадры в полученном фильме могут, что называется, проскакивать, т.е. те кадры, которые не прочитались с исходного диска "выпадут". Если ошибок мало, то их можно спокойно игнорировать.
  2. Номер зоны DVD диска не соответствует номеру зоны DVD читалки. Я с таким тоже ни разу не сталкивался, но вот что хочу сказать: обычно номер зоны читалки можно менять только строго определенное количество раз (обычно 5 раз), а после этого читалка навсегда останется с тем номером, который ей присвоили в последний раз, так что осторожней. Как правило, наши доблестные пираты стряпают мультизонные диски, на них обычно пишут вместо номера зоны All, такие диски читаются на любом приводе. Читалки, которые продают у нас, обычно настроены на наш (Российский) номер: 5. Не исключена ситуация, когда к вам попадет диск (например, лицензионный) с отличным номером зоны. Обойти это не получится, защита происходит на уровне привода, так что никакие программы не смогут его обмануть. Если диск жизненно важен, тогда можно прибегнуть к смене зоны у читалки, но, во избежание нерациональной траты оставшихся попыток смены зоны привода, не спешите менять потом номер обратно, как я говорил большинство дисков в продаже мультизонные, так что они все равно будут успешно читаться. Тут еще можно порекомендовать найти мультизонную прошивку к Вашему приводу, если такая существует в природе или сходить к приятелю, у которого есть (если есть) мультизонная читалка.

Папку VIDEO_TS я советую копировать полностью, так как программы-плеера, например мой Power DVD, не всегда хотят мириться с отсутствием некоторых файлов. Я это говорю, потому что DVDDecrypter норовит скопировать не все файлы, а только нужные с его точки зрения, что вполне годится для перегона, но не для просмотра. Может можно хитро грабить DVD, когда и файлы не все и плеер не ругается. В принципе вес дополнительных файлов обычно несопоставимо мал по сравнению с основными фалами, так что думаю не стоит заморачиваться вычислением нужных и ненужных файлов.

Собственно видео хранится в фалах .VOB, у них в конце имени есть номер. Обычно самый большой файл (обычно 1024 Мб=1 Гб) с самым маленьким номером и есть начало фильма, далее идут файлы с таким же именем и размером и с номерами по порядку, а файл меньшего размера с последним номером – это окончание фильма. Если какие-то файлы, кроме этих в упор не хотят читаться, то можно не переживать и скинуть только сам фильм. Перегон такого фильма не вызовет проблем, а вот просмотр не знаю, думаю, придется искать плеер, который это все воспримет, скорее всего при воспроизведении не удастся воспользоваться всевозможными меню и т.д.

А зачем все-таки копировать на винт DVD диск можете спросить вы? А вот зачем: кроме вполне очевидных причин – большей скорости доступа, исходный диск можно отдать тому, у кого брал и т.д., но есть еще одна причина, которую многие упоминают – ваша DVD читалка запросто может перегреться от постоянного обращения к ней в течении долгого времени и если даже не сгореть, то заметно уменьшить ресурс своей работы. Посудите сами, если фильм на DVD длится от полутора до 3-х и больше часов, что уже по себе неслабо, то перегон может занять и 7 часов и больше (может и меньше – все зависит от мощности компьютера). Новые читалки имеют тенденцию работать постоянно на максимальной скорости, что значительно увеличивает нагрев, да еще создает лишний шум и вибрацию. Некоторые приводы могут автоматически снижать скорость во время просмотра фильма. Если очень хочется непременно смотреть фильм с DVD-ROMа, я бы советовал попробовать для начала установить на нем минимальную скорость чтения (например программкой CDSlow), а потом погонять в нем диск с полчаса, а там уже решать – как и что.

Как закодировать фильм

Да вот так сразу, во многих статьях по DVD перегону надоедает ждать, когда же наступит этот момент . К этому моменту будем считать, что у вас на диске уже лежит сграбленный фильм, со всеми файлами или только файлы .VOB. Лучше, конечно, когда есть все файлы.

Для кодировки фильма я обычно пользуюсь одним из способов:

  1. Легкий способ. Берем программу DVDX или FlaskMPEG, настраиваем ее, запускаем перекодирвоание, ждем (можно оставить комп на ночь, если такое возможно). В результате должен получиться готовый фильм в формате MP4.
  2. Сложный способ. Этот способ я обычно применяю при кодировании проблемных фильмов. Выдирается отдельно видео и звуковая дорожка, подправляются (если надо), каждая сжимается надлежащим кодеком, а потом в замечательной программе VirtualDubMod они совмещаются и получается опять же готовый фильм. Хочу заметить, что программу VirualDubMod неплохо бы иметь в своем арсенале на всякий случай. Она небольшая и к тому же совершенно бесплатная.

В принципе программа DVDx полностью содержит все то, что нужно, чтобы перегнать фильм из DVD в MP4 за один прием. К сожалению, не знаю почему, но эта программа у меня иногда выдает ошибку при кодировании на некоторых фильмах, причем ошибка может вылезти и через минуту и через час от начала кодирования. Хорошо хоть такая ошибка, если он появляется, возникает строго на одном и том же месте в фильме. Это можно вылечить установкой кое-каких опций в программе, но фильм получается со сдвинутым звуком относительно изображения и приходиться подправлять звук в программе VirtualDubMod. Ничего страшного в этом нет, просто это неудобно. Еще один минус DVDx в том, что, как мне кажется, изображение в MP4 фильме получается немного менее насыщенным, краски более блеклые, по сравнению с тем, что получается после обработки программой FlaskMPEG. Трудно сказать, с чем это связано, может в алгоритмах работы с видео используются немного разные приемы. В общем, выбор за Вами, какой программой пользоваться, я постараюсь описать работу с ними обеими.

Кстати, вот небольшой совет, не начинайте кодирование сразу всего фильма целиком, попробуйте сначала закодировать небольшой кусок фильма, благо каждая из рассматриваемых программ позволяет легко это сделать. Этот совет дается обычно в других статьях по перекодировке, я ним полностью согласен. От себя могу лишь добавить, что если Вы кодируете MP4 фильм продолжительностью более 1.5 часов и хотите поместить его на один компакт диск емкостью 700 Мб, то кусок в исходном фильме выбирайте так, чтобы в нем были типичные для фильма сцены, например действие средней интенсивности и достаточное количество деталей. Не очень-то понятно, правда? Другими словами, если Вы выберете тестовый кусок фильма, где сплошная темнота и/или почти ничего не двигается или не происходит, то вполне возможно получиться очень неплохая картинка, а после кодирования всего фильма то тут, то там будет заметна всякая "рвакля" и "квадраты". По той же самой причине, скорее всего, не следует тестировать кодирование на быстрых сценах, например вид пробегающих мимо поезда или машины деревьев. Может получиться страсть что, а в целом фильм очень даже ничего, просто в обычном фильме, даже в боевике с погонями, сцен, когда почти все в кадре движется, относительно немного.

Изменение размеров исходного видео

Обычно на DVD видео идет в разрешении 720х480, все зависит от конкретного диска, но разрешение все равно обычно приличное. Кодировать с таким разрешением фильм совершенно не нужно. Разрешение желательно уменьшить, так как при большом разрешении не обязательно будет лучшее качество, а скорее наоборот. Все из-за того, что из такого большого потока информации на небольшом битрейте (особенно меньше 1000 бит/с), кодек будет сжимать изображение очень сильно, из-за чего потом в фильме может быть полно "квадратов" и "рвакли". Если же разрешение уменьшить, то при меньшей четкости изображение будет значительно лучше в целом, так как на единицу информации (если так можно выразиться) будет приходиться больше битрейта, т.е. бит/с. Сравнение, может быть, несколько неуклюжее, но все же.
Какое выбрать результирующее разрешение? Ответ не так уж прост, можно уменьшить исходное в 1.5 – 1.8. раз. Главное, чтобы новое разрешение было кратно 16, это нужно для эффективной работы кодека.

Одно и двух проходное сжатие

Кодировать ведеопоток можно за один проход, а можно за два (вообще-то можно и больше, чем в два). Зачем нужно морочиться с двухпроходным сжатием и ждать в два раза дольше? Ответ: для более лучшего качества получаемого фильма. В общем виде работа кодека выглядит так:

  1. Сжатие в один проход. Кодек сжимает исходный фильм, используя текущую информацию, он ничего не знает о других частях фильма, поэтому заданный битрейт (количество информации в период времени, для видео это обычно бит/с) расходуется неэффективно.
  2. Сжатие в два прохода. Во время первого прохода кодек собирает специальную статистику о фильме, которую использует на втором проходе для того, чтобы распределить заданный битрейт более эффективно. Таким образом, получается более качественное изображение.

Свойства кодека

Рассмотрим основные свойства кодека. Окно со свойствами одного и того же кодека одинаково в программах. Здесь я опишу кратко только некоторые из свойств кодека, на мой взгляд, самые необходимые, чтобы потом на них больше не останавливаться. Полное описание всех свойств можно легко найти в Сети.
Здесь на рисунках видно, что окно настройки кодека имеет две закладки "General" и "Video".

Рис. 1. Окно кодека DivX 5.2.1

Рис. 1. Окно кодека DivX 5.2.1 "General"

Итак, на первой закладке сверху вниз слева направо есть несколько параметров:

  • Encode performance. Этот параметр определяет, насколько быстро будет кодироваться фильм. Естественно, чем выше скорость, тем ниже качество получаемого фильма. Доступно четыре значения: Fastest (Самый быстрый), Fast (Быстрый), Standard (Нормальный), Slow (Медленный). На рис. 1 справа от этого параметра видна нехитрая гистограмма соотношений Качества, Скорости и Степени сжатия (Quality, Speed, Compression). Эта гистограмма меняет свой внешний вид каждый раз, когда меняется параметр Encode performance (рис.2.):

Рис. 2. Качество сжатия и гистограмма

Рис. 2. Качество сжатия и гистограмма

  • Average bitrate. Этот параметр определяет величину потока данных, или битрейт. Используя заданное значение кодек будет "запихивать" в это количество выдаваемой информации сжатый видеопоток. Говоря другими словами, чем меньше битрейт, тем больше будет выброшено избыточной информации из исходного видеоряда и, естественно, будет ниже качество изображения. Для подсчета требуемого битрейта можно воспользоваться встроенным калькулятором (рис. 3.). Обычно неплохие результаты получаются при выставленном значении от 900-1000 kbps.

Рис. 3. Встроенный калькулятор битрейта

Рис. 3. Встроенный калькулятор битрейта

Я думаю здесь все понятно. Единственное, что хотелось бы отметить: задавайте длину фильма минуты на 2-3 больше его реального размера, это даст некоторый запас по величине получаемого итогового файла. Кстати, здесь в калькуляторе присутствует также параметр Audio bitrate. Здесь нужно задать тот битрейт, который будет выставлен при кодировании звука в фильме (об этом чуть позже).

  • Encode mode. Этот параметр отвечает за режим кодирования – одно- или двухпроходное сжатие. Можно сжимать больше, чем двухпроходным сжатием, но это, на мой взгляд, из разряда траты лишнего времени. Доступны следующие значения: "1-pass" (однопроходное), "Multipass, 1st pass" (многопроходное, первый проход), "Multipass, Nth pass" (Многопроходное, N-й проход).
  • Bitrate modulation. Этот параметр становится доступным при использовании многопроходного сжатия. С помощью него можно выбрать тип кодируемого видеопотока – много движущихся сцен (high-motion) или мало (low-motion). Рекомендуют ставить значение low-motion и я полностью с этим согласен и вот почему: в основном в фильмах присутствуют сцены, когда в кадре происходит относительно немного изменений. Это касается, как ни странно, даже всяких супер-пупер боевиков.
  • Multipass encoding files. При однопроходном сжатии все параметры недоступны и они не нужны. При установленном первом проходе двухпроходного сжатия становится доступен параметр выбора файла статистики "c:\divx.log". Можно задать новое имя и месторасположение файла. При установленном многопроходном сжатии и втором проходе (N-ом проходе) флажок "write log file" становится доступным и меняет свое название на "update log file". ВНИМАНИЕ! Этот флажок должен быть сброшен на втором проходе, т.е. после того прохода, который назывался "Multipass, 1st pass". Нам на втором проходе ничего не надо обновлять, нам нужно только читать файл статистики, что прекрасно будет обеспечиваться флажком "read log file", который будет к тому же заблокирован от греха подальше, чтобы, видимо, случайно от большого ума его никто не сбросил

Закладка "Video"

На этой закладке не так уж много параметров, которые надо менять (рис.4.). В принципе все можно оставить так, как показано на рисунке. Можно поиграться с параметром "Source pre-rpocessing", который отвечает за выкидывание мелких деталей из видео для улучшения сжатия и общего вида картинки в кадре (рекомендую ставить Ligth, не более) и параметром "Psychovisual enhancements", который что-то делает, что для меня является некоторой загадкой.

Рис. 4. Окно кодека DivX 5.2.1

Рис. 4. Окно кодека DivX 5.2.1 "Video"

Описание программ для перегона

Наверно хватит про свойства кодека. К тому же про эти свойства понаписано много всего и более подробно, найти которое, я думаю, не составит труда. Вообще-то существует много всяких разных программ, может некоторые лучше тех, которыми я пользуюсь, но я остановился на двух из них FlaskMPEG и DVDx, а еще точнее на первой. Итак, обо всем по порядку.

Программа Flask MPEG

Web-сайт : http://go.to/flaskmpeg

Доступная на текущий момент версия 0.7.8.39.

Архив с ней можете взять отсюда.

Ну что сказать о программе? На вид выглядит вполне обычно. Старые версии имели прорву глюков, которых сейчас вроде как почти не осталось. Вообще-то она мне нравится и я последнее время пользуюсь только ей.

Шаг 1. Открытие DVD фильма

После запуска программы появляется главное окно:

Рис. 5. Главное окно программы FlaskMPEG 0.7.8.39 сразу после запуска

Рис. 5. Главное окно программы FlaskMPEG 0.7.8.39 сразу после запуска

Чтобы открыть фильм, нужно выбрать в меню команду "Open Media", потом среди DVD файлов найти один файл под названием VTS_01_0.IFO или с подобным – главное, чтобы был .IFO. Можно также взять файл VIDEO_TS.IFO. Либо взять файл .VOB с минимальным индексом и с размером где-то гигабайт, далее идут файлы с таким же именем и с последовательными индексами (см. описание выше). В последнем случае программа сама возьмет остальные файлы.

В ответ будет выведено подтверждение открытия того или иного трека из фильма:

Рис. 6. Здесь отображен один видео-трек и два аудио.

Рис. 6. Здесь отображен один видео-трек и два аудио.

 

Тут все понятно, как мне кажется

Шаг 2. Настройка кадра

Рис. 7. Главное окно программы после открытия фильма

Рис. 7. Главное окно программы после открытия фильма

Окно в программе выглядит вот так несколько необычно – разделенным на несколько частей. Справа жмем кнопку "Video panel". К этим двум окнам добавятся еще два. ВАЖНО! Если у Вас разрешение экрана установлено не более 800х600, то эти окна Вы не увидите – они откроются за пределами видимости, для избежания такой печальной участи нужно нижнюю часть окна (контрольную панель) сдвинуть немного влево, тогда контрольная панель для видео будет доступна. Небольшое неудобство, но жить особо не мешает.

Рис. 8. Окно настройки кадра

Рис. 8. Окно настройки кадра

Здесь белая рамка служит для настройки обрезки кадра от всякой ерунды, например черных полос. Обратите внимание на галочку "Brightness" – можно увеличить яркость результирующего фильма. Растягивая и двигая рамку, настраиваем то, что должно остаться в фильме. Обратите внимание, что размер рамки меняется с градацией в 16 точек – это нужно для более эффективной работы кодека (насколько мне известно). Да и еще. Кнопками "Height" и "Width" можно менять размер кадра в выходном фильме, кстати, тоже с градацией в 16 пикселей.
Для настройки советую выбрать целиком светлый кадр, чтобы ясно видеть его границы, например, как на рис. 8.

Шаг 3. Настройка звука

Жмем кнопку "Audio Panel"

Рис. 9. Окно настройки звука

Рис. 9. Окно настройки звука

Первая галка "Dynamic Range Compression" должна отвечать, по-видимому, за динамический диапазон в звуке получающегося фильма. Чем выше ползунок, тем меньше разрыв по громкости между самым громкими и тихими звуками.

Вторая галка более полезна. Она позволяет увеличить или уменьшить громкость звука в фильме. С учетом того, что мне сейчас очень много дисков попадается с тихим звуком – эта настройка очень и очень полезна.

Шаг 4. Настройка кодека

Выбираем команду в меню "Options", там выбираем "Output Format Options"

Рис. 10. Окно настройки кодека.

Рис. 10. Окно настройки кодека.

Здесь выбираем нужный кодек. Для видео либо жмем кнопку "Configure" для однопроходного сжатия, либо сначала кнопку "Configure First Pass", а потом "Configure Second Pass".

Для аудио выбираем нужный кодек и справа нужный битрейт. Для Mpeg4 фильмов лучше выбирать MP3 кодек, это является вроде как стандартом, почти все Mpe4 идут с таким звуковым кодеком. Для фильмов вполне достаточно и 128 кбит/с, а для клипов можно выбрать значение повыше. В любом случае – выбор за Вами. Только при расчете битрейта нужно учитывать битрейт обоих кодеков.

Жмем "Ок".

Шаг 5. Дополнительные настройки

Выбираем в меню команду "Options", "Advanced Options".

Рис. 11. Окно дополнительных настроек для видео

Рис. 11. Окно дополнительных настроек для видео

В принципе, здесь ничего менять не надо, если точно не уверены, иначе результатом игр может стать дерганное движение в кадре. Единственное – нужно пометить галку "Perfom Dual Pass", если хотите выполнить двухпроходное сжатие.

Идем на закладку "Audio"

Рис. 12. Окно дополнительных настроек для звука

Рис. 12. Окно дополнительных настроек для звука

Здесь выбираем опцию "Decode audio", другие опции нам пока не нужны. Первая – вытягивать звук в виде один-в-один, а третья – это не обрабатывать звук вообще.
Галка "Same as input" помечается, если и звук в фильме и кодек имеют одинаковую частоту дискретизации. Для ДВД это почти всегда (другого я не встречал) 48000 Гц. Если Вы выбрали кодек с частотой 44100, то здесь тоже надо выбрать эту же частоту, иначе звук будет не очень – может появиться "звон", металлические отзвуки и прочее.

Идем на закладку "Post Processing"

Рис. 13. Окно дополнительных настроек изображения

Рис. 13. Окно дополнительных настроек изображения

Настройки справа лучше не трогать, если не уверены. Настройки слева – это метод пересчета размера изображения при кодировании. Если идти сверху вниз – обработка становится лучше, но скорость, естественно, ниже. Лучше всегда включать HQ (4-ая опция), наилучшее качество.

Идем на закладку "Files"

Рис. 14. Окно настроек выходных файлов

Рис. 14. Окно настроек выходных файлов

Тут все просто – указываете путь и имя файла, в который выльется весь результат работы. Если Вы выбрали опцию звука "Direct stream copy", то откроется второй путь для сохранения аудио-дорожки в ее первозданном виде. Потом с ней, этой дорожкой можно делать все что угодно.

Последняя закладка, но тем не менее "General"

Рис. 15. Окно прочих дополнительных настроек

Рис. 15. Окно прочих дополнительных настроек

Польза от этих настроек весьма сомнительна, к тому же я не могу сказать, работают ли они вообще, так как никогда ими не пользуюсь. Здесь можно указать, что кодировать надо не весь фильм или что после окончания процесса нужно выключить компьютер.

Шаг 6. Кодирование

Ну вот в принципе и все! Жмем кнопку в главном окне "FlasK it!", сидим и ждем результатов. Ждать придется долго – может и часов 10 и больше – все зависит от мощности компьютера.

Важное Дополнение

Чтобы быть уверенным в результате и не разочароваться после длительного кодирования, настоятельно советую сначала откодировать кусок фильма длительность пару минут. Многое сразу становится ясно. Сделать это можно очень просто.

Рис. 16. Область управления длительностью кодирования

Рис. 16. Область управления длительностью кодирования

В этой части контрольной панели в главном окне сначала удалите задание "Job 1", а потом добавьте свое, короткое. Кнопки "|_" и "_|" служат для отметки начала и конца участка кодирования, а две другие под ними для перемещения указателя в начало и конец. После того, как Вы отметили нужный маленький кусочек фильма, то добавьте его кнопкой "Add". Закодируйте его и посмотрите результаты. Потом можно снова выбрать весь фильм таким же образом. Лучше перед этим все-таки перезапустить Flask, на всякий случай.

Кстати, описанным методом, можно пользоваться для отрезания от фильма титров, что и делаю, полученный резерв времени вплоть до 10 минут можно использовать для увеличения видео битрейта.

Программа DVDx

Web-сайт : http://dvdx.sourceforge.net

Доступная на текущий момент версия: 2.2

Архив с ней можете взять отсюда.

Общее описание

Эта программа имеет более дружественный интерфейс. Пользоваться ей в целом удобнее, она также поддерживает одно- и двухпроходное сжатие. К сожалению, как я уже говорил, у нее есть неприятный глюк – иногда, без видимых причин кодирования прерывается с ошибкой. Это лечится выставлением специальной опции ("Audio/Video synchronization"), но звук в результирующем фильме будет смещен и его придется выравнивать другой программой, например VirtualDub. К тому же, на мой взгляд, изображение получается менее насыщенным и контрастным. По этим причинам я отказался от ее использования.

В программе есть вроде как встроенная возможность "взламывания" защиты DVD, на наших просторах пока не очень-то и нужная.

Отличительной особенностью этой программы является возможность создания файлов форматов Video CD и Super Video CD, которые тоже вряд ли особо нужны.

Рис. 17. Главное окно программы DVDx 2.2

Рис. 17. Главное окно программы DVDx 2.2

Шаг 1. Открытие DVD

Выбираем в главном меню команду "File", следом "Open DVD root" – для указания каталога DVD с видео (каталог VIDEO_TS), либо команду "Open IFO" – для открытия конкретного .IFO файла, либо "Open Mpeg(s)" – для открытия файла .VOB, этот режим начинает открывать файл очень долго, не в пример FlaskMPEG-у

После выбора файлов, появляется следующее окно

Рис. 18. Окно настройки входного потока

Рис. 18. Окно настройки входного потока

Это архиважное окно, в нем определяются параметры входного потока. Описание настроек (перевод с английского):

Program chain

  • Index: Номер дорожки видео, обычно 0.
  • Angle: Выбор указанного угла съемки, обычно 1.
  • DeMacroVision: Убрать защиту MacroVision из исходного видео (если есть).

Key Search: Режим поиска CSS ключа (значение 0 работоспособно в 99% случаев)

  • 0 – Поиск ключа один раз во время старта
  • 1 – Поиск нового ключа в каждом VOB-ID
  • 2 – Поиск нового ключа в каждом CELL-ID
  • 3 – Поиск нового ключа в каждой комбинации VOB/CELL-ID

Audio

  • Track: Дорожка звука для извлечения, обычно первая в списке
  • Dolby suround: Разрешить сжатие Dolby Soround. Желательно разрешить, чтобы получить лучшее качество 5.1 в стерео режиме

Audio 48 to 44.1 KHz : понижение частоты дискретизации

  • 0 : Обычный режим (самый быстрый)
  • 1 : Высокое качество (медленнее)
  • 2 : Экспортировать источник в AC3 файл, выбор местоположения которого можно сделать кнопкой "Select AC3 output"
  • 3 : 44.1KHz (без преобразования) : Выберите этот режим, когда не хотите выполнять преобразование и источник имеет такую же частоту дискретизации
  • 4 : 48.0KHz (без преобразования) Выберите этот режим, когда не хотите выполнять преобразование и источник имеет такую же частоту дискретизации

Volume:

Повысить громкость звука на выходе. Нормализация не выполняется. Значение "1" не изменяет звук, но звук может получиться очень тихим. Сделайте несколько небольших клипов, чтобы определить приемлемое значение. Вы можете использовать "Sound Normalizer", чтобы определить требуемое значение. Значение по умолчанию : 2.5

Subtitle:

  • Show subtitle: Показывать субтитры.
  • Subtitle Offset: Вертикальное смещение субтитров в точках. Это значение автоматически настраивается, если субтитры выходят за край экрана.
  • Original color: Сохранять исходный цвет из IFO файла. Снимите отметку, если начертание субтитров слишком жирное.

Output frame rate: Частота кадров в выходном видео файле. 25 (PAL) or 23.97,29.97 (NTSC). Внимание! Это значение не устанавливается автоматически, если Вы выберете значение, отличное от входного видео, будет выполнено "выбрасывание" "лишних" кадров. Избегайте конвертации из NTSC в PAL.

  • Detect 24Fps: Автоматически определять 24Hz progressive NTSC.
  • Force 24Fps: Принудительно считать входной поток 24Hz progressive NTSC, используйте эту настройку, если считаете, что "Detect 24Fps" не работает. Этот флаг доступен, если поставлена галка "Detect 24Fps".

Luminace filter: Позволяет настроить яркость источника.

iDCT: Алгоритмы Обратного Дискретного Косинусного Преобразования (Inverse Discrete Cosine Transform routines), включающее также компенсацию движения

  • MMX – самый быстрый
  • FPU – Дает лучшее качество

Audio Video Synchronisation: Периодически выполнять ресинхронизацию видео и звука (не всегда необходимо).

Deinterlace Filter: Фильтр, для уменьшения эффекта, вызванного через строчным источником видео. "Interpolate" – работает всегда, но на Super VideoCD может снизить качество.

Save your DVD drive: Место, кде находится временный буфер во время кодирования. Если у Вас на компьютере достаточно памяти, то можете выбрать вариант использования RAM. Если Вы используете RAM, то для ускорения работы можно запретить виртуальную память в операционной системе. Если выбран вариант хранения на жестком диске, то файл буфера храниться в каталоге, указанном в переменной окружения TMP.
Примечание. Данная возможность предусмотрена для того, чтобы DVD-привод работал меньшее время. Программа обращается к приводу, копирует часть фильма указанного размера и работает только с этой частью какое-то время, потом копирует снова. Таким образом, чем больший буфер используется, тем меньше нагружается DVD-привод.

Шаг 2. Настройка выходного потока

После выполнения 1-го шага, переходим к настройки того, что у нас должно получиться в результате. Для этого заходим в меню "Settings", "Output settings". Появляется еще одно окно. Его внешний вид меняется в зависимости от того, какой выбран формат для кодирования.

Рис. 19. Окно настройки выходного потока

Рис. 19. Окно настройки выходного потока

Настройки в этом окне:

Video Bitrate: Битрейт для MPEG видео. Для VideoCD битрейт должен быть выбран в диапазоне от 650 до 1150 кбит/с. Для Super Video CD битрейт должен быть выбран менее 2600 кбит/с (рекомендуется 2376)

Audio Bitrate: Битрейт звука для MPEG файла. Для Video CD это значение должно быть равно 224 кбит/с

Motion Search: Скорость оптимизации сжатия.

  • Good : Лучшее качество (медленно)
  • Normal : Обычное качество
  • Bad : Плохое качество (быстро)

Caculation mode: Режим расчета процессора

  • 0 : MMX (работает только на MMX-процессорах фирмы Intel)
  • 1 : 3DNow (для процессоров AMD)
  • 2 : SSE2 (для Intel P4 процессоров)
  • 3 : Normal (медленно, MMX расчеты не используются)

DCT/iDCT: DCT и iDCT алгоритмы

  • 0 : MMX – для MMX процессоров
  • 1 : SSE2 – для IntelP4 процессоров
  • 2 : FPU – лучшее качество

Mux Rate: Увеличение мультиплексирования (прим. – точно не знаю, что это). Используйте это для избежания потери значимости, но размер файла немного увеличится. Значение по умолчанию для VCD = 1.4%, SVCD = 5.6%

Vbv buffer size: Размер VBV буфера, рекомендуется 20 для VCD и 112 для SVCD

Pulldown 3:2: Конвертация из 23.976Hz в 29.97Hz (только для NTSC).

Resolution: Разрешение для захвата в точках. Для PAL:352*288, для NTSC:352*240

Export: Формат видео для передачи в плугин Premiere (совместимом с Video Server) и для AVI кодека. Для AVI поддерживается только RGB и YUY2. YUY2 на самом деле формат YUY 4:2:2 (рекомендуется для кодирования DivX). Внутренний кодек MPEG работает только с 4:2:0 настройками.

Zoom:

  • Letterbox, medium and pan scan : Конвертирует пропорции из 16:9 в 4:3
  • Full : Не выполняет коррекцию пропорций
  • Custom: Позволяет производить произвольную настройку обрезки и размеров изображения

Примечание. Чтобы задать произвольную обрезку видео, надо выбрать "Custom", а потом в меню команду "Crop", "Render Source". В окне, растягивая зеленую рамку выбрать ту область видео, которое попадет в результирующий фильм. Не надо обращать на пропорции, так как в этом режиме отображается источник видео. Чтобы посмотреть то, как будет выглядеть результат, надо выбрать команду "Crop", "Render Dest". Размеры выходного видео задаются Вами вручную в окне "Output Settings", так что за кратностью 16 у размеров Вам нудно следить самостоятельно. Может также помочь следующая команда, "Crop", "Adjust Output Resolution", "Preserve Ratio", которая выполняет коррекцию размеров изображения путем изменения его высоты для сохранения пропорций исходного видео.

Video Resize: Фильтр изменения размеров видео.

  • Nearest neighbour : Берет ближайшую точку (без фильтрации)
  • BiLinear : Очень точно (медленно)
  • BiLinear MMX: Очень точно (быстро)
  • BiCubic : Очень точно (очень медленно)
  • SSE BiCubic : SSE реализация предыдущего режима, работает на PIII и K7 или выше
  • Pseudo BiCubic : Неточно (очень быстро)
  • Bilinear использует 2*2 ближайших точек для сглаживания картинки
  • BiCubic использует 4*4 ближайших точек для сглаживания
  • TAP фильтры - двухпроходные, они выдают наилучшее качество, но они медленнее

Max frames: Максимальное количество кадров для кодирования. Можно использовать небольшие значения (1000-3000) для кодирования пробных участков фильма. Позиция, с которой начинается кодирвоание определяется ползунком в нижней части главного окна. Чтобы закодировать весь фильм можно нажать кнопку "Whole", которая расположена чуть ниже. Будет произведен подсчет кадров во всем фильме и это значение автоматически будет занесено в это поле.

Volume don't exceed: Размер файла с фильмом, который будет сгенерирован. Программа будет генерировать файлы с именами, в конце которых будет добавлять "_01", "_02" и т.д.

Ignore Overwrite message: Не проверять существование файла от предыдущего кодирования и всегда выполнять перезапись его новым, без запросов.

Premiere plugin encoder: Позволяет использовать внешний кодек. Вы можете подключить плагин, встроенный в Adobe Premiere. Дополнительная информация находится в файле readme_1st.

Multi Pass: Позволяет быть видео и звуку быть прочитанным два раза.

AVI specific : Настройки AVI

Audio:

  • Disable : Не использовать звук
  • Store to WAV : сохранять звук в WAV
  • Use Lame : Использовать встроенный кодек MP3. Настройки задаются в окне "Audio lame"
  • Use ACM : Копировать звуковой трек в виде один-в-один.

Ниже идет список доступных видокодеков, после выбора нужного можно настроить только первый проход или первый и второй соответствующими кнопками.

Шаг 3. Кодирование

Жмем в главном окне правую нижнюю кнопку. У меня на рисунке она зеленая. Но если включена другая "Тема" ("Скин"), то она может выглядеть по-другому.

Само кодирование будет длиться тоже очень долго, поэтому еще раз советую сначала откодировать небольшой кусок фильма, чтобы убедиться, что все нормально.

Программы для работы с готовыми фильмами.

Итак, будем считать, что все пошло как надо и у вас есть закодированный фильм. Хорошо, если все получилось как надо. Но бывает так, что результат "сыроват". На помощь придут программы, которые способны помочь Вам в доводке готовых фильмов. Вот какие у меня частенько возникали проблемы и их решения:

  • Готовый фильм имеет чуть бОльшую продолжительность, чем вмещается на болванку – можно отрезать кусок, скажем в титрах.
  • Невысокая громкость звука – ее можно увеличить без повторной перекодировки всего фильма.
  • На принесенных фильмах обнаруживаются проблемы – кодирование экзотическими кодеками, нарушение синхронизации между звуком и изображением, пропорций и еще много подобного – если не все, то многие из проблем можно также решить с помощью специальных программ.

Универсального решения всех проблем, как Вы понимаете, не существует. Я попробую описать некоторые из них, на мой взгляд, самые распространенные. Сначала опишу парочку программ, которые помогут в этом деле

VirtualDub и VirtualDubMod

WWW : http://www.virtualdub.org/index

Доступная версия : 1.5.10 – стабильная, 1.6.7 – экспериментальная
Взять версию 1.5.10 вы можете здесь (VirtualDub) или здесь (VirtualDubMod). Об отличиях чуть позже. Русскую версию "простого" VirtualDub можете взять здесь.

Всех возможностей программ я не знаю, потому что их не использовал.

Итак, главное окно программ практически одинаково.

Рис. 20. Главное окно программы VirtualDubMod

Рис. 20. Главное окно программы VirtualDubMod

Внешнее отличие "простого" VirtualDub-а состоит в том, что в меню вместо команды "Streams" команда "Audio".

Внутренние отличия гораздо важнее. Версия "Mod" может работать сразу с несколькими звуковыми дорожками, а главное использовать MP3 в качестве дорожек. Это, наверно, самое большое отличие этой версии. Также для звуковых дорожек поддерживаются дополнительные функции, например перекодировка в другой формат, увеличение/уменьшение громкости, поддержка эффектов и др.

Открытие файла

Открыть файл можно командой "File", "Open Video File". Выбираете нужный файл. Поддерживается множество форматов, список их можно увидеть внизу, в списке типов файлов.

Добавить к уже открытому файлу еще один можно командой "File", "Append Segment".

Наверно не стоит описывать все функции, какие знаю, просто так, подряд. Лучшим подходом, как мне кажется, будет составление небольшого FAQ, где я постараюсь осветить все те вопросы, которые мне задавали.

Очень важное дополнение! Если вы не обрабатываете видео, то ОБЯЗАТЕЛЬНО ставьте настройку "Video", "Direct Stream Copy", иначе видео будет сохраняться в так называемом несжатом виде, а это около гигабайта (!!!) на минуту.

Программа HeadAC3He

WWW : http://darkav.de.vu

Доступная версия : 0.23a

Взять ее можете здесь.

Эта программа очень полезна, она может перекодировать файлы из одного звукового формата в другой. Причем в программе имеется масса настроек, которые позволяют очень тонко влиять на результат. У программы нет помощи, о действии некоторых функций приходиться только догадываться.

Рис. 21. Главное окно программы HeadAC3He

Рис. 21. Главное окно программы HeadAC3He

Кнопка "Source File" позволяет выбрать исходный файл, кнопка "Destination File" выбирается результирующий файл.

"Destination Format" выбирает целевой формат, в который будет преобразован исходный файл.

Галка "2-Pass Mode" включает двухпроходной режим кодирования.
Назначение опций "dumb", "hybrid", "float" мне не совсем ясно, но такое ощущение, что последняя опция дает более качественные результаты. "Normalize" – задает степень нормализации звука.

Настройки "Start Frame" и "End Frame" наверно задают начальный и конечный интервал, я этими опциями никогда не пользуюсь.

Настройка "Resample" позволяет изменить частоту дискретизации.

Настройка "Booster" видимо повышает уровень звука.

Приоритеты, задаваемые внизу, лучше ставить по-меньше. На скорость работы программы в режиме конвертации это особо не повлияет, но зато система не подвиснет из-за перегрузки процессора.

Настройки, появляющиеся справа при нажатии кнопки "Options" позволяют произвести тонкую настройку конвертации. Учтите, что эту кнопку нужно нажимать последовательно несколько раз, т.к. там два окна с параметрами – при последовательном нажатии кнопки сначала появляется первое окно, потом второе, потом оно исчезает и так снова.

Небольшой FAQ

Вот и небольшой вопрос-ответ. Тут, в основном, предполагается, что речь идет о DivX фильмах. Также в основном предполагается, что речь идет о программах VirtualDub или VirtualDubMod. Напомню еще раз: если не указано обратное, то после открытия фильма ставьте опцию "Video", "Direct stream copy".

A: Всегда ли с помощью описанных программ (FlaskMPEG, DVDx) получается хороший результат?

Q: У меня почти всегда На самом деле это сильно зависит от исходного материала. На запущенных пиратских копиях встречались проблемы, например, приходилось кодировать фильм до какой-то точки, потом проскакивать полторы минуты и кодировать дальше, иначе все было очень плохо. Если диск даже средненький, то, как правило, не возникает никаких проблем. В любом случае, требуется некоторый опыт, чтобы бороться с различными глюками, всего ведь не опишешь, да и я не знаю всего, так что сам постоянно учусь.

A: Какой видео и аудио битрейт самый правильный?

Q: Однозначный ответ дать трудно. Для себя я сделал вывод, что при двухпроходном сжатии приемлемые результаты получаются на уровне видео битрейта около 1000 кбит. Можно чуть меньше, скажем до 750, а лучше – больше. Аудио для фильмов вполне подходит на 128 кбит или даже 96. Вообще-то можно кодировать изображение, оставляя при этом оригинальный звук, но надо учесть, что родной трек весит около 300-400 мегабайт, так что фильм, скорее всего, придется заливать как минимум на два диска.

A: Какое разрешение фильма надо задавать?

Q: Главное, чтобы разрешение было кратно 16. Основной принцип такой: чем меньше изображение, тем меньше четкость, но кодек его лучше обрабатывает, то есть качество изображения будет выше, а если разрешение больше, то кодеку придется сильнее сжать это изображение, в результате чего могут появится различные артефакты. Так что тут нужен определенный компромисс.

A: Чем можно нарезать один большой видео-файл на несколько таких, которые умещались бы на болванку?

Q: Такие вещи прекрасно делаются в программе VirtualDub, причем даже, как мне кажется, лучше, чем в версии "Mod" – работает быстрее. Как сделать: открываем видео-файл, не забываем ставить "Video", "Direct Stream Copy". Выбираем команду "File", "Save Segmented AVI" (либо "Save As…" в "Mod"), указываем лимит файла в мегабайтах и сохраняем его. Итоговое имя будет таким: имя_файла.00.avi, имя_файла.01.avi и т.д. Потом эти куски можете переименовать, как будет душе угодно.

A: Можно ли "мучать" только кусочек фильма, а то целиком долго экспериментировать?

Q: Не "мона", а "нуна" Далем так. Открываем фильм (VirtualDub или "Mod"), ставим ползунок на начало, выбираем команду "Edit", "Set selection start", передвигаем ползунок на конец нужного фрагмента, ставим "Set selection end". Все. Кстати, можно воспользоваться кнопками "Home", "End". Довольно странное предназначение на мой взгляд.

A: Какой глюконат чаше всего встречается?

Q: Мне больше встречались из проблемных фильмов такие, у которых была нарушена синхронизация звука с изображением. Опишу подробнее эти случаи чуть ниже. Также иногда встречались фильмы, закодированные экзотическими кодеками или с нарушенными пропорциями.

A: Звук рассинхронизирован с изображением, что делать?

Q: Глюк злобный и встречающийся часто, но в основном в принесенных фильмах, если кодировать самому через эти программы, то такого не наблюдалось со времен старых версий Flask-а. Разберем, по возможности, все случаи:

  1. Звук начинает "сползать" после некоторого времени просмотра (не путать со случаем 4). Либо даже, если звук сначала идет нормально и взять перескочить несколько раз (около десятка) ползунком плеера по фильму и снова вернуться на "нормальное" место, то звук удивительным образом сползет. К сожалению, такой глюк встречался в ранних версиях Flask-а, я точно не знаю чем это вызвано, скорее нарушениями в алгоритмах генерации AVI файла. Лечится так: отделяется звук и видео в два файла (см. ниже), а потом снова "склеивается" в VirtualDubMod. Все другие глюки со звуком не реагируют таким же образом на случайное перемещение ползунка плеера (по крайней мере, я это не заметил), т.е. если в каком-то месте звук расходился на какую-то величину с изображением, то сколько не метаться по фильму, при возврате на проблемное место отставание останется таким же, не изменится, как в этом случае.
  2. Звук сдвинут на какой-то отрезок времени одинаково по всему фильму. Довольно простой случай. Лечится настройкой смещения в программе VirtualDub – "Audio", "Interleaving", а в VirtualDubMod – "Streams", "Stream list", потом правой кнопкой на дорожке в окне "Available streams" выбираем "Interleaving". Там в поле "Delay audio track by" ставим значение в миллисекундах – позитивное значение, если звук опережает изображение и негативное, если отстает. Небольшой совет – выберите в фильме такой кусок, где бы соответствие изображения и звука было бы очевидно, например, кто-то хлопает дверцей машины или что-то подобное.
  3. Звук сползает постепенно к концу фильма. Тут причина, скорее всего, кроется в несоответствии длины видео и звука. Лечится так: в любом из доблестных VirtualDub-ов открываем фильм, дальше "Video", "Frame rate". Смотрим значение. В поле третьем сверху под названием "Change so video and audio durations match".Если здесь стоит одно из значений : 23.976, 24, 25, 29.97 и оно отличается от значения в самом верхнем поле, то ставим здесь галку. Если же значения совпадают, то надо уменьшить исходное значение – когда звук постепенно отстает или же увеличить, если звук забегает. Смысл такой – видео проигрывается как бы немного быстрее или медленнее звука, вот и постепенно нарастает расхождение. Меняя частоту кадров мы меняем скорость воспроизведения видео. Нужно очень уккуратно изменять это значение – можно начать с тысячных или сотых.
  4. Звук в разных местах фильма сползает на разные интервалы, в тяжелых случаях иногда забегает, иногда отстает. Если честно, то этот глюк мне встретился всего один раз и то, когда я выдирал фильм с не читающегося в конце диска. Вылечилось так: отклеил звук от фильма, перекодировал его из VBR в CBR MP3 и снова воссоединил с изображением.

A: Как отделить видео и звук?

Q: Звук отделить проще простого. Если Вас устроит простой WAV, то это можно сделать в "простом" VirtualDub – команда "File", "Save WAV". В VirtualDubMod - "Streams", "Stream list", в окне выбираем нужную звуковую дорожку (она обычно одна), потом жмем кнопку либо "Save WAV" – понятно зачем, либо "Demux" – чтобы извлечь MP3 дорожку.
Изображение сохранить без звука еще проще – в простом VirtualDub ставим "Audio", "No audio", либо в VirtualDubMod "Streams", "Stream list", выделяем дорожку, жмем справа кнопку "Disable". Подтверждением правильности действий станет заштриховка дорожки.

A: Как подклеить звук к видео?

Q: Открываем фильм, далее в VirtualDub – "Audio", "WAV audio…" указываем нужный файл со звуком. Скорее всего, простой WAV в фильме не нужен, в таком случае его можно зажать нужным кодеком (см. ниже). В VirtualDubMod – "Streams", "Stream list", в появившемся окне жмем кнопку "Add", выбираем любой из поддерживаемых звуковых файлов.

A: Как пережать звук, поменять громкость и т.д. не трогая видео?

Q: Открываем фильм, выбираем в VirtualDub – "Audio", "Source audio" и "Full processing mode". Далее, в обязку ставим сжатие в "Audio", "Compression" – кодек, битрейт (ставьте в окне кодека галку "Show all formats"). Далее, если хотите добавить обработку дополнительными фильтрами, отметьте "Use advanced filtering", после этого становится доступной команда "Filters…", которая вызывает окно, где в список можно добавлять фильтры. Назначение фильтров я представляю себе довольно смутно, так что можете сами поэкспериментировать с ними. Чтобы увеличить или уменьшить звук выберите команду "Volume", которая доступна только при деактивированной опции "Use advanced filtering". То же самое касается и команды "Conversion", с помощью которой переконвертировать частоту дискретизации и еще кое-что. В VirtualDubMod все это делается также, но только в окне, которое вызывается командой "Streams", "Stream list" и далее вызовом контекстного меню правой кнопкой мыши на интересующей дорожке (она одна, как правило).

A: Как пережать, поменять пропорции и т.д. видео, не трогая звука?

Q: После открытия фильма ставим "Video", "Full processing mode", если нам нужны настройки всех возможностей – фильтры, частота кадров, глубина цвета, сжатия. Если поставим "Normal recompress", то лишимся фильтров, а если "Fast recompress" то еще вдобавок лишимся глубины цвета. Назначение видеофильтров я себе тоже представляю смутно, только могу догадываться об их действии по названию и все. Думаю, что в большинстве случаев нам подойдет "Fast recompress". Далее, настраиваем нужные нам параметры, например тип кодека и его параметры. Если хотите, то добавьте в редиме "Full processing mode" какие-то фильтры. Когда все настроено, то сохраняем результат. Вот в принципе и все.

A: А как пережать видео в два прохода?

Q: Почти точно также, как и в один проход, только кодек настраиваете на двух проходное сжатие по аналогии с тем, как это описано в статье по перегону. Сначала настраиваете кодек на первый проход, сохраняете результат, потом настраиваете на второй и снова сохраняете. В этом случае Вам может придти на помощь возможность пакетной обработки заданий, которая описывается чуть ниже.

A: Как пережать и видео и звук сразу?

Q: Просто делаете нужные настройки и для видео и для звука сразу и сохраняете результат.

A: А можно ли автоматизировать процесс?

Q: Да, можно. Просто при сохранении результата, в диалоге ставьте галочку "Don't run this job now; add it to job control so I can run it in batch mode". Список заданий можно увидеть в окне по команде "File", "Job control…" или по клавише F4. Каждое из заданий в списке можно отменить, запустить или удалить. Очень удобно для выполнения двухпроходного пережатия фильма.

A: Что-то маловато информации, может ссылки есть какие?

Q: Есть, ищите и найдете. На что нам Яндексы, Рамблеры и прочие Гуглы?

A: Тут неправильно ….., а надо так …….

Q: Может быть, я буду признателен, если скажете где и что, желательно с конкретными ссылками на первоисточники.

На этом пока все. Если что, пишите мне на softonic@narod.ru (тема "111222333")

18.06.2005 г.
Используются технологии uCoz