Фильмотека на дисках

DVD-диски с фильмами заметно подешевели - вот только смотреть их можно далеко не на всех компьютерах, даже при наличии привода DVD-ROM. Впрочем, выход есть.

Вот уже несколько лет формат MPEG-4 безраздельно господствует в мире компьютерного видео. Причина - объектная природа MPEG-4, позволяющая добиться значительно большей эффективности сжатия видео в сравнении с MPEG-2, используемым в дисках DVD-video.

Но увы, очень часто при перекодировании видеофрагментов из формата MPEG-2 в MPEG-4 ставится цель уместить видеофрагмент продолжительностью, скажем, 2 часа, на 700-мегабайтный диск CD-R. Делается это за счет уменьшения разрешения и снижения качества звука. В то же время, один раз посмотрев DVD-видео на плейере или ПК с хорошей акустической системой 5.1, понимаешь, что при просмотре дешевого диска MPEG-4 впечатление о фильме получаешь превратное.

Между тем, легальные диски DVD-ROM существенно подешевели. Проблема лишь в том, что, не имея DVD-плейера, не так-то просто посмотреть записанное на диск видео.

Далеко не у всякого ПК хватит сил декодировать поток MPEG-2 со стандартным для DVD разрешением. Тут нужен либо аппаратный MPEG-декодер, либо мощный процессор - скажем, Pentium III 800, а лучше Pentium 4. На ПК с процессорами менее мощными, например Pentium II или Celeron 500, простая покупка привода DVD-ROM ничего не даст.

Однако выход есть. Нужно лишь самостоятельно перекодировать DVD-видео в тот же MPEG-4, обеспечив желаемый уровень качества видео и аудио. В частности, если ваша акустическая система поддерживает воспроизведение объемного звучания 5.1, вы, вероятно, захотите сохранить оригинальный пятиканальный звук в "родном" для DVD формате АС-3.

Внимание! Законами об авторском праве запрещается нелицензионное распространение видео- и аудиоконтента на платной или бесплатной основе. Более того, во многих случаях запрещается даже создание резервных копий CD- или DVD-диска. В каждом конкретном случае внимательно прочтите лицензионное соглашение или пометки на диске.

Разобрать и собрать

Суть перекодировки заключается в открытии видео- и аудиопотоков DVD-ROM и сохранении их в отдельные файлы на жестком диске с последующим преобразованием в нужный формат. Для видео таким форматом является MPEG-4/DivX, для аудио - AC-3, если нужно оставить многоканальный звук, и MP3, если достаточно обычного стерео.

Для первого этапа - преобразования потоков в файлы - вам понадобится либо DVD2AVI, либо FlaskMPEG версии не ниже 0.7.8.39. А специальный видеоредактор VirtualDub обеспечивает окончательное слияние видео и аудио в один AVI-файл.

Выбор инструмента

Для начала остановимся на основных различиях DVD2AVI и FlaskMPEG. FlaskMPEG обладает дружественным интерфейсом и достаточным набором опций для получения готового продукта. Но именно по этой причине страдает производительность (DVD2AVI справляется в полтора, а то и в два раза быстрее). Звук при этом кодируется сразу в нужном формате (не требуется дополнительно <склеивать> звук и видео). Очень полезная функция - обрезка черных полос при кодировании фильмов, имеющих формат 16:9 (об этом будет рассказано ниже).

Интерфейс и возможности DVD2AVI попроще, но зато сама программа более быстрая. Три часа фильма она преобразовывает за 5-6 часов на Athlon 800. Для сравнения: FlasKMPEG преобразует три часа видео на том же процессоре за 10-12 часов.

Используя FlasKMPEG, лучше открывать файл IFO, чтобы программа опознала весь фильм
Первый шаг

Запускаем FlasKMPEG, предварительно вставив диск в DVD-ROM, и выбираем File|OpenMedia. Затем следует правильно указать файлы, относящиеся непосредственно к видеофильму. На рисунке вверху это файл VTS_02_0.IFO. Перед ним - рекламные ролики и меню самого DVD.

Обратите внимание: если вы собрались кодировать весь фильм, то выбирать надо файлы с расширением .IFO (только так FlasK распознает весь фильм целиком и его не придется затем склеивать). Открыв нужный файл IFO, вы увидите в окне FlasKMPEG DVD Selector общую продолжительность фильма.

Здесь же выбирается аудиопоток - скажем, Russian-AC-3. Если хочется перекодировать отдельные эпизоды или ролики, то придется выбирать порядковый номер аудиопотока. Тут стоит полагаться только на эксперимент.

Видеонюансы

После выбора файлов для перекодировки необходимо указать выходной формат видео - Options|Select Output Format|AVI Output. Затем настроим основные опции FlasKMPEG в меню Advanced Options|Video.

Сперва необходимо задать разрешение будущего видео. Оптимальным можно считать разрешение 640х480 или 640х400. Но можно расcчитать его самому: от разрешения исходного видео по горизонтали и вертикали отнять любое число, кратное 16.

Под настройками разрешений находится раздел Time Base. По количеству кадров в секунду можно без труда определить формат исходника; 23,976 и 29,97 - NTSC, 25 - PAL. Если вы столкнулись с PAL или NTSC с частотой кадров 29,97, необходимо включить опцию Deinterlace output.

Еще один нужный раздел - iDCT options (использование специальных наборов инструкций процессоров). Включите автоопределение либо вручную укажите тип процессора.

Разрешение 640x400 при правильно выбранном битрейте обеспечивает приемлемое качество конечного результата
Разное звучание

Если вы не предъявляете жестких требований к качеству звука, в закладке Audio выберите Decode audio. Звук будет преобразован в тот формат, который вы укажете чуть позднее, и совмещен с видеоизображением в один AVI-файл. В итоге готовое видео получится за один прием.

Желающим оставить в видео высококачественный многоканальный звук нужно включить опцию Direct stream copy - она разделяет видео- и аудиопотоки в отдельные файлы. Звуковая дорожка снимается с исходника без изменений в формате АС-3. Звук будет сохранен только в этом формате, несмотря на любые другие настройки, даже противоречащие этому выбору. При использовании опции Direct stream copy будьте внимательны в настройках вкладки Files - убедитесь в правильности указания пути сохранения аудио- и видеофайлов. Во вкладках Post Processing и General настройки менять не рекомендуется, но эксперимент всегда допустим.

Теперь переходим к настройкам выходного формата Output format options. В этом разделе FlasK проверит наличие в вашей системе всех необходимых кодеков аудио и видео.

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

Для определенности договоримся, что кодируем видео в формат DivX. Рекомендуется использовать самую свежую версию (на момент написания статьи - DivX 5.0.5), так что выбираем в разделе Video Codecs кодек DivX Pro 5.0.5 (предварительно его необходимо установить на ваш ПК).

Внимание! Если используется FlasKMPEG, то в свойствах самого кодека DivX должны быть отключены некоторые настройки, перечисленные ниже. Иначе на выходе вы получите сюрпризы в виде несоблюдения пропорций экрана, подозрительных полос, рывков изображения и т. д.

Итак, настраиваем свойства кодека DivX во FlasKMPEG. Во вкладке Bitrate Control для параметра Variable bitrate mode выбираем опцию 1-pass (однопроходное кодирование). FlasKMPEG поддерживает также двухпроходное кодирование, в котором первый проход используется для определения оптимальных параметров кодирования. Однако здесь этот способ не рассматривается, поскольку его применение вызывает дополнительные проблемы.

По частоте кадров (Frame Rate) можно определить видеоформат оригинала - NTCS или PAL

Далее следует выбрать битрейт (ширину видеопотока, килобит в секунду). Рекомендуемых значений не существует. Качество видео на выходе зависит от сочетания заданного битового потока и разрешения. Чем больше разрешение, тем больший поток требуется для качественной картинки. С другой стороны, если разрешение невелико, а битовый поток высок, неоправданно возрастает объем файла, а качеству расти некуда. Битрейт для хорошего качества - не менее 1200 Кб/с, а то и больше.

При прочих равных меньше места будет занимать более темный и контрастный фильм. Если кодируемое видео насыщено сценами, снятыми в полумраке или под водой, результат получается очень компактным. Высококонтрастные видеофрагменты также сжимаются алгоритмом MPEG-4 очень хорошо, даже если в них много сцен, снятых при дневном свете.

Во вкладке General Parameters пригодятся параметры Max Keyframe interval и Scene change threshold. Keyframe interval - это промежуток между ключевыми кадрами. В алгоритмах MPEG ключевой кадр - это кадр, который сохраняется полностью, а за ним следуют так называемые промежуточные кадры, для которых алгоритм сохраняет только отличия от ключевого кадра.

Интервал 300 фреймов эквивалентен 12 секундам видео. Если его увеличивать, то при выборе эпизода уже при просмотре вы будете получать весьма существенную задержку видео, что раздражает. А если работать с пятиканальным звуком, сложнее будет добиться полной синхронизации.

Итак, 300 фреймов - приемлемый вариант, хотя нередко используются значения 50-100 фреймов. Помните, что малые интервалы увеличивают объем видеофайла. Поэтому для тех, кому дорого место на CD-R, рекомендуется увеличивать значение интервала до 500-900 фреймов.

При помощи параметра Scene change threshold можно выбирать между четкостью картинки, но неизбежной дискретностью на полутонах, или плавностью картинки, но некоторой размытостью контуров. Практика показывает, что можно смело указывать значение 60-70 %. Остальные огрехи правятся при просмотре с помощью DivX-фильтров.

Опции Enable Crop и Enable Resize при использовании FlasKMPEG НЕ ВКЛЮЧАТЬ! Эти значения понадобятся лишь при работе с DVD2AVI.

Функция Psychovisual Enhancement теоретически позволяет использовать особенности человеческого восприятия: те фрагменты изображения, которые человек не воспринимает, не кодируются.

Опция PreProcessing Source нужна экстремалам, которые стремятся получить видеофайл очень малого размера, при этом жертвуя задними планами. Чем правее ползунок настройки, тем более размыт задний план. А для опции Performance/Quality лучше оставить значение Slowest, соответствующее максимальному качеству.

Звуковой перекресток

После настроек видео необходимо выбрать алгоритм кодирования звукового сигнала. При использовании недорогих пластмассовых компьютерных колонок подойдет кодирование в режиме PCM Audio (PCM, 48 000 Гц; 16 бит; стерео).

Для качественной акустики лучше использовать алгоритм Fraunhofer IIS MPEG Layer-3 Codec с режимом 48 Кб/с, 24 000 Гц, стерео. Киноманам, которые по определению являются обладателями шестиканальной акустики, рекомендован неизмененный звук в формате АС-3.

DVD2AVI применяется в том случае, когда нужно сохранить оригинальный многоканальный звук AC-3
Обрезка полос

FlasKMPEG позволяет сэкономить место за счет исключения кодирования черных полос в верхней и нижней частях экрана в широкоэкранных фильмах. Для этого на основной панели FlasKMPEG откройте меню Video Panel, включите опцию Crop и подстройте появившуюся белую рамку по границе изображения (вместо 400 точек по вертикали останутся только 304).

Если же вы любитель видео в формате 3х4, то просто срежьте справа и слева около 30 % общего изображения.

Объемный звук

DVD2AVI - очень простая в использовании программная оболочка, но рекомендовать ее можно лишь тем, кто хочет в готовом видео оставить шестиканальный звук. Дело в том, что звук в DVD2AVI можно либо перевести в формат WAV, который занимает много места и требует последующей компрессии при помощи VirtualDub, либо оставить без изменений в родном формате АС-3 и позже объединить с видеофайлом.

В отличие от FlasKMPEG, где на исходном диске открывался файл IFO, в DVD2AVI нужно открыть VOB-файл с индексом _1. Далее программа будет сама последовательно открывать файлы по возрастанию индекса. Но можно выбрать и отдельный эпизод, удаляя ненужные файлы, либо вырезать фрагмент прямо в программной оболочке.

После открытия исходника нужно настроить программу. Кодирование NTSC-видео вызывает минимум сложностей, а вот в работе с PAL есть нюансы. Сразу после открытия исходника активируйте опцию Option|Information. Если в строке Frame Rate вы увидите 23.976, то это NTSC. Тогда включите опцию Video|Field Operation|Forced FILM, а в меню Audio|Track Number выберите номер звуковой дорожки (желательно заранее найти именно русскоязычную дорожку). В Audio|Output Method нужно включить опцию Demux (AC-3, MPA, DTS).

Затем сохраняем файл - File|Save AVI - и настраиваем кодек DivX, но уже используя все опции. Рекомендуется предварительно поэкспериментировать с настройкой General Parameters|Enable Crop. После подтверждения изменений начнется перекодировка. Для наблюдения за процессом используйте опцию Option|Display.

Если исходное видео имеет формат PAL, то во многих разрешениях (указанных в настройках DivX, причем родное разрешение исходника тоже не исключение) картинка будет вытягиваться до полной высоты экрана без сохранения пропорций сторон. Методом проб и ошибок было установлено <правильное> разрешение - 640х400, при котором пропорции не искажаются. Кроме того, в опции Video|Field Operation выбираем значение None.

На выходе вы получаете два файла: аудио (в формате АС-3) и видео. Теперь их нужно склеить в один файл, для чего понадобится видеоредактор VirtualDub, но не простой, а VirtualDub_АС3 в комплекте с фильтрами АС-3. Имейте в виду, что эти звуковые фильтры не работают в Windows 2000.

Нужно помнить, что при сохранении звука в формате AC-3 5.1 двухчасовое видео невозможно при приличном разрешении уместить на один диск CD-R. Как рассчитать объем готового файла? Можно воспользоваться различными калькуляторами, но есть способ проще: выбрать самую яркую и динамичную сцену и кодировать из нее одну минуту видео, а полученный объем умножить на длительность всего фильма.

Этот абсолютно ненаучный метод позволяет избежать перебора в объеме данных. Время, затраченное на эксперименты, не будет потрачено зря - вам все равно придется определяться с настройками звука.

Распаковав файл ac3-pack.zip (пакет не требует инсталляции), необходимо зарегистрировать фильтры в системе, запустив файл registerfilters-98.bat. Затем запускаем VirtualDub и поочередно выбираем в нем видео и звук, причем звук открывается через опцию Audio-WAV Audio (указав в настройках All files (*.*)). Программа сообщит данные потока - количество каналов и частоту семплирования.

Теперь необходимо задать прямое копирование потока для видео - Video-Direct Stream Copy, а для аудио - Audio-Interleaving-Preload 500ms, Interleave audio every 1 frames. Автор использует именно эти значения, хотя об их оптимальности можно спорить. Практика показывает, что значение Preload должно быть больше, чем интервал между ключевыми кадрами, иначе после нарезки готового видео на части при просмотре в режиме 5.1 вместо звука вы услышите треск, хотя в стереорежиме все будет нормально. Один фрейм равен 40 мс, соответственно 100 фреймов - 4000 мс. Предварительная проба обязательна.

Сохраняем полученный файл видео со звуком в формате AC-3, указывая его расположение и прописывая расширение *.avi - File-Save AVI.

После соединения звука и видео останется только разделить готовый продукт на части нужного объема. Это делается при помощи выделения нужного сегмента и его записи в файл через команду File-Save Segment AVI все в том же VirtualDub.

При использовании звука AC-3 значение Preload должно быть больше интервала между ключевыми кадрами
Настройка объемного звука

Видео с шестиканальным звуком 5.1 в Windows 9.x можно просматривать в Windows Media Player 6.4 (Program FilesWindows Media PlayerMPLAYER2.EXE). Кроме того, подойдет популярный BSPlayer. В Windows Media Player 7.0 и более поздних нет доступа к настройкам декодеров видео и звука.

Перед запуском фильма проверьте, включен ли режим Dolby Digital AC-3 decode в звуковой карте, затем включите в меню настроек плейера режим вывода потока AC-3 через S/PDIF звуковой карты на внешнее устройство для декодирования (для Windows Media Player - Файл|Свойства|Дополнительно; в BSPlayer меню вызывается правой кнопкой мыши).

Проблемы и решения

Если вместо звука вы услышали треск, то следует в настройках звуковой карты повторно выбрать вывод через интерфейс S/PDIF. Не рекомендуется во время просмотра перескакивать с места на место при помощи индикатора проигрывания фильма. Результатом будет рассинхронизация звука и видео (в режиме стерео этой проблемы нет).

Временным решением может быть повторная синхронизация звука путем перевода режима из S/PDIF в STEREO и обратно. При просмотре в WinDVD 5.0 или другом программном DVD-плейере проблема рассинхронизации не возникает.

Фильтры DivX настраиваются при включенном отображении фильма таким образом: верхний ползунок устраняет дискретность в изображении, а нижний (при очень плохом качестве) создает легкое зерно, отвлекая глаз и повышая контраст, тем самым сглаживая картинку. Для Windows Media Player процедура описана выше - нужно лишь выбрать в меню Дополнительно опцию DivX decoder filter.

Вот и все. Теперь файл (или файлы, если фильм разделен на фрагменты) можно записать на CD-R и воспроизводить на маломощном ПК без DVD-ROM. Приятного вам просмотра.


2008 © Computer repair