DVD в AVI. Выбор программы-конвертера

Эта статья начинает новый цикл, посвященный вопросам перевода видеоматериалов одного формата в другой — в частности, DVD в AVI. Поскольку тема обширная, не исключено, что будут какие-то огрехи или повторное, более подробное, освещение какой-либо темы.

Хоть формат DVD и распространился повсеместно, формат AVI продолжает оставаться самым популярным. Чтобы убедиться в этом, достаточно собрать статистику в своей локальной сети. И этому есть ряд причин. Во-первых, AVI компактен (один фильм — один файл). Во-вторых, подавляющее большинство DVD используют кодек MPEG-2 (MPEG-1 вообще не имеет смысла вспоминать), в то время как у AVI (или подобного ему) может быть практически любой кодек. На практике это чаще всего MPEG-4 ASP кодеки XviD и DivX. Поскольку стандарт MPEG-4 новее и совершеннее MPEG-2, то и размер файлов при одинаковом "визуальном" качестве у MPEG-4 будет меньше (теоретически). В-третьих, с воспроизведением AVI-файлов меньше проблем, чем с воспроизведением дисков DVD (что спорно). Впрочем, при достатке желания можно все плюсы AVI обратить в минусы. Эксперименты с видео отнимают порой очень много времени. Транжирить таким образом свободное время могут позволить себе немногие. При этом качество полученного видеофайла может оказаться ниже ожидаемого. Итак, неважно, как, но DVD-диск у вас в руках. Вы, скажем, взяли его напрокат или у друзей на время. Вполне понятным окажется ваше желание оставить этот фильм в своей видеотеке. Оно же и вполне законное, если распространять и демонстрировать широкой публике вы его (фильм с диска) не будете. С другой стороны, у вас есть источник видеоматериала MPEG-2 (например, запись эфира DVB или аналогового ТВ соответствующего формата), и нужно убрать лишнее (рекламу) и сделать файл разумных размеров и приемлемого качества.

Несмотря на обилие всевозможных конвертеров видео, задача перезаписи диска не такая уж простая, если вы решили "немножко" сжать или подрегулировать некоторые параметры видеофайла. Такое обилие не столько помогает, сколько запутывает пользователя. И, что самое отвратительное, многие такие конвертеры на практике не гарантируют хорошего результата. С такой проблемой столкнулся, например, я, используя в свое время Virtual Dub MPEG-2 и Virtual Dub Mod. Наконец, существуют программы, востребованность которых очень и очень сомнительна. О том, как выбирать программы для перекодирования видео, я рассказывать не буду, потому что отличить добропорядочного автора от мошенника довольно легко, а вызывать гнев последних, приводя конкретные примеры их "изделий" в данном материале, я не хочу. Данный материал адресован прежде всего тем, кому эта тема интересна, а выбор софта еще не сделан. Ну, или тем, кого имеющийся в распоряжении конвертер не устраивает. Существующие на сегодня конвертеры условно можно разделить на две категории: программы типа "все-в-одном" и так называемые интерфейсы к отдельным утилитам. Рассмотрим достоинства и недостатки обеих категорий.

Программы типа "все-в-одном" (универсальные конвертеры), к числу которых с некоторой натяжкой можно отнести вышеупомянутые моды Virtual Dub, а также Nero Recode. Такие программы требуют от пользователя минимального вмешательства в процесс перекодирования, задавая общие вопросы типа "Ну, а на сколько дисков жать-то?" Подразумевается, что весь процесс распознавания, правильного декодирования содержимого диска эти программы берут на себя. Это одновременно и плюс, и минус. Плюс потому, что пользователю не надо задумываться над этими моментами. Минус потому, что программа может ошибиться. А поскольку вмешиваться в работу программы практически нельзя, ошибку исправить тоже будет нельзя. Также нельзя будет исправить ошибки отдельных модулей программы (будет даже трудно определить, кто "виновник").

Интерфейсы к отдельным утилитам, самый известный из которых, пожалуй, Auto Gordian Knot. Такие программы сами по себе ничего не кодируют — они всего лишь управляют отдельными специализированными утилитами. То есть в общем случае для перекодирования какого-либо видеоматериала нам понадобится сначала его декодировать, потом с помощью какой-то утилиты обработать и, наконец, сжать заново. Поэтому в общем случае программа типа Auto Gordian Knot просто автоматизирует процесс работы с тремя утилитами. При этом, если на каком-то этапе произойдет сбой, мы сможем относительно легко определить, в каком модуле он произошел, и заменить (или обновить, или перенастроить) его. Существует и другое достаточно большое преимущество перед программами первого типа: утилиты, которыми управляет интерфейс, являются специализированными, поэтому ошибок в них допускается меньше, чем в модулях, входящих в состав универсального конвертера. В дополнение ко всему каждую утилиту мы можем настраивать отдельно согласно ее документации минуя ограничения, которые может накладывать интерфейс. Не стоит забывать, что качество и скорость работы универсального инструмента чаще хуже, чем специализированного. В общем, универсальные конвертеры предназначены для того, чтобы не заморачивать пользователя ненужными ему знаниями и получить на выходе некоторый средний результат, сэкономив время. Правда, к этому же стремятся и интерфейсы. На деле получается так, что иногда проще немного узнать о цифровом видео и получить более предсказуемый и качественный результат, затратив на это на начальных этапах больше времени. Если "перегонять" видео часто, то проигрыша во времени не будет.

Что касается форматов хранения медиаданных, они могут весьма существенно отличаться по возможностям. Естественно, что, если у нас есть видеоматериал в одном формате, а нам нужно перекодировать его в другой формат (который уступает первому по возможностям), у нас могут возникнуть трудности. Вот, например, если перекодировать DVD-видео в формат AVI, можно неожиданно получить вместо "галереи картинок под музыку" какой-то очень краткий ролик без музыки. Разбираясь, в чем проблема, мы обнаружим, что в исходном материале каждая картинка "галереи" представлена одним кадром — просто частота кадров, скажем, 0,1 кадр в секунду. В формате AVI частота кадров видео должна быть одинаковой, и поэтому автомат- кодировщик может запросто установить частоту кадров для фрагмента галереи равной, допустим, 25 кадров в секунду, "забыв" о том, что каждый кадр в этом случае должен повториться 250 раз. Видео DVD, которое может пригодиться для обработки, можно охарактеризовать кратко: лицензионное или сравнимое с ним по качеству. Никаких дисков "8-in-1", хотя можете попробовать, чтоб согласиться. Как вы уже поняли, речь пойдет не об универсальных конвертерах. Изучение их возможностей, отлов их багов считаю бесполезной тратой времени. Для перекодирования видео сам я использую фреймсервер AviSynth в качестве обработчика и интерфейс MeGUI в качестве кодировщика (в редких случаях вместо MeGUI использую Virtual Dub). Если идет речь об обработке записей MPEG-2, здесь еще добавится декодер DGIndex (на самом деле это только индексатор — декодер называется несколько иначе). Конечно, весь этот набор (исключая Virtual Dub) можно использовать посредством MeGUI, однако такую возможность я не считаю удобной. К слову, Auto Gordian Knot использует тот же самый набор утилит.

Что себой представляет AviSynth? Это DirectShow-фильтр. Но это не слишком понятное объяснение. Давайте разберемся, как воспроизводит медиафайлы "среднестатистический" видеопроигрыватель Windows. Не слишком усложняя картину, скажу, что он делает это с помощью DirectShow. Воспроизведение, таким образом, разделяется на несколько независимых задач: чтение данных из файла, декодирование видео, декодирование аудио, фильтрация изображения, вывод видео и аудио. За каждую операцию отвечает какой-либо фильтр. Например, если DirectShow не найдет подходящего фильтра для декодирования видео, вы услышите только звук. В этом случае при установке подходящего кодека проблемы исчезнут. Таким же образом AviSynth регистрируется в системе как фильтр для файлов *.avs. Теперь понятно, что не имеет значения, чем открывать файл AVS, кодировщиком или проигрывателем. Открывая такой файл проигрывателем, мы можем обнаружить ошибки до того, как кодировщик примется за свою работу. Открывая такой файл, проигрыватель полагает, что открывает несжатый медиафайл. Так что возможность того, что какой-то фильтр исказит результаты работы AviSynth, минимальна. Итак, для того, чтобы перекодировать DVD-видео, нам понадобятся следующие программы:

1. DVD Decrypter поможет скопировать содержимое DVD-диска на жесткий диск. Скачать можно по адресу сайт .
2. DGIndex (DGDecode) будем использовать как декодер MPEG-2 для AviSynth. Последняя версия представлена на странице автора под общим названием DGMPGDec (скачивайте стабильную, а не самую новую версию): сайт .
3. AviSynth, в скриптах которого мы будем указывать, как хотим обработать видео. Актуальные версии можно скачать по адресу
сайт .
4. Virtual Dub, в котором будем просматривать результаты своей деятельности до того, как они будут отданы на "съедение" кодировщику. Также подойдет любая модификация. Базовый вариант можно найти здесь: сайт .
5. Ваш любимый кодировщик, на роль которого я порекомендую MeGUI. Стабильную версию можно скачать по адресу сайт .

Из всех перечисленных программ только AviSynth "обязан" регистрироваться в системе. То есть, если вы переустановили Windows, AviSynth тоже нужно будет переустановить (остальные программы переустанавливать не нужно). Однако у него есть папка Plugins, в которую будем "складывать" все полезные плагины. Чтобы не заполнять эту папку каждый раз при переустановке системы, будет удобнее просто не удалять папку AviSynth при переустановке. Так что выберите папку вне "стандартной" Program Files — например, D:\VideoTools — и устанавливайте в нее все вышеописанные программы. Для MeGUI потребуется также интернет, откуда после установки он захочет скачать инструменты для своей работы. Все они, разумеется, бесплатные. Как правильно обращаться с этим "арсеналом", мы рассмотрим в следующих статьях.

Продолжение следует.

Maxe Erte the Mad, maxe.erte@gmail.com


Компьютерная газета. Статья была опубликована в номере 12 за 2008 год в рубрике soft

©1997-2024 Компьютерная газета