Отправляет email-рассылки с помощью сервиса Sendsay

Рассылка портала "КиноЛента"

  Все выпуски  

Рассылка портала "КиноЛента" Перевод фильмов из DVD-формата в Mpeg4


Информационный Канал Subscribe.Ru

"КиноЛента"        
Новокузнецкий портал для любителей кино
Выпуск No10: Перевод фильмов из DVD-формата в Mpeg4

Перевод фильмов из DVD-формата в Mpeg4

Необходимость написания данной статьи назревала давно. Неоднократно то один, то другой мой знакомый спрашивал: "Как бы мне DVD в AVI перевести, а то на них никаких гигабайт не напасешься?". И каждый раз приходилось рассказывать все по новой. Скажу сразу, что когда я сам в свое время столкнулся с такой проблемой, решением для меня стали статьи с ресурса: http://mpeg74.narod.ru. Так что, заглядывайте и туда.

Если вы являетесь счастливым обладателем DVD-RW привода, то, скорее всего, проблема компрессии фильмов с DVD для вас просто не существует. Но, к сожалению, даже у вас могут возникнуть затруднения при копировании фильма, если он записан на диск DVD-9 и занимает более 4,3Гб. Также иногда, хочется сохранить для коллекции хороший фильм, но на него жалко целой DVD-болванки из-за посредственного качества. Вобщем, я думаю, тема перевода DVD в AVI будет интересна многим.

Этап нулевой. Что нам понадобится?

В первую очередь стоит позаботиться о наличии кодеков видео (DivX, XviD и т.д.) и аудио (Lame MP3 или какой-нибудь другой). Новые версии этих и многих других кодеков всегда можно найти в кодек-паке K-Lite Codec Pack или каком-нибудь другом.

Далее нам понадобятся следующие программы:

  • DVD2AVI
  • VFAPI Reader Codec
  • Winamp 5.x, Sound Forge или любая другая программа позволяющая кодировать WAV или AC3 файлы в MP3. Может сгодиться Azid/Lame GUI, но я, применив к данному вопросу метод проб и ошибок, остановился на Winamp'е - там все быстро настраивается, и меня вполне устраивает результат. К тому же, он бесплатен и есть у всех.
  • и наконец самое главное - VirtualDubMod 1.5.10.1

Все необходимые программы можно найти у нас в разделе "Файлы"->"Софт для редактирования видео"

Этап первый. Копируем файлы

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

Фильмы и видео-бонусы хранятся на диске в виде последовательности файлов VTS_xx_x.VOB в папке VIDEO_TS, где x - какие-либо цифры.

Допустим, на диске содержатся два фильма, и, открыв его, в папке VIDEO_TS мы увидим примерно такой список файлов:

VIDEO_TS.BUP
VIDEO_TS.IFO
VIDEO_TS.VOB
VTS_01_0.BUP
VTS_01_0.IFO
VTS_01_0.VOB
VTS_01_1.VOB
VTS_01_2.VOB
VTS_01_3.VOB
VTS_02_0.BUP
VTS_02_0.IFO
VTS_02_0.VOB
VTS_02_1.VOB
VTS_02_2.VOB
VTS_02_3.VOB

Нужно узнать, где же "лежит" наш фильм. В данном случае, файлы, выделенные красным цветом, относятся к одному фильму, а выделенные зеленым - к другому. Нужно заметить, что порядок фильмов в меню (при проигрывании диска) далеко не всегда совпадает с порядком нумерации файлов на диске. Так как эти файлы представляют собой ни что иное, как видеофрагменты в формате MPEG-2, с их просмотром в каком-нибудь Media Player'е проблем возникнуть не должно. Поэтому просматриваем последовательности файлов *.VOB и отбираем то, что нужно.

Этап второй. Используем DVD2AVI.

Теперь распакуйте куда-нибудь упомянутый выше VFAPI Codec и запустите файл vifpset.bat для установки кодека. Он понадобится нам, чтобы воспользоваться программой DVD2AVI - запускаем ее.

Для начала, пробежимся по настройкам:

  • В меню Video ничего не трогаем.
  • Меню Audio:
    Track Number - номер аудиотрэка для обработки, обычно разные трэки соответствуют разным языкам.
    Channel Format - способ обработки аудиотрэка, ставим Auto Select
    Dolby Digital->Demux - отделить выбранный трэк в *.ac3 файл без перекодирования
    Dolby Digital->Demux All Tracks - отделить все трэки
    Dolby Digital->Decode - перекодировать выбранный трэк в *.wav файл (отмечаем этот пункт)
    Normalization - нормализация (ставим "птицу")
  • В меню Help - отмечаем пункт VFAPI Plugin

Теперь открываем первый файл из тех, что мы скопировали, допустим, это VTS_01_1.VOB, следующие за ним по нумерации файлы будут добавлены в список автоматически. Жмем Ок.

Далее выбираем пункт File->Save Project - сохраняем проект под каким-нибудь именем. Ждем, пока программа сохранит проект - в результате должны получиться два файла - проект *.d2v и звуковая дорожка в файле с расширением *.WAV.

Запускаем VFAPIConvEn.exe, нажимаем Add Job и выбираем файл проекта *.d2v. После добавления проекта в очередь обработки нажимаем Run. В результате должен получиться промежуточный файл с расширением AVI - он позволяет работать с видеоданными в файлах VOB. Именно поэтому теперь не стоит их переименовывать - полученный файл AVI содержит лишь ссылки на кадры.

Этап третий. Кодируем звук.

Как я уже писал выше, для конвертирования wav->mp3 я пользуюсь Winamp 5.x и кодирую с помощью кодека Lame MP3.
Запускаем Winamp и заходим в окно настроек (Ctrl+P).
Переходим к настройкам Plugins->Output и запоминаем текущий выбранный плагин вывода - после завершения кодирования нужно будет к нему вернуться, иначе вместо проигрывания Winamp будет кодировать.
Выбираем плагин NullSoft Disk Writer и переходим в его окно настроек.
Выбираем папку для сохранения результатов кодирования.
Ставим галочку в Convert to format.
Ставим Output File Mode - Auto.
Теперь перейдем к выбору и настройке кодека - жмем по кнопке ...
Выбираем формат - Lame MP3 и аттрибуты:

  • частоту дискретизации ставим такую, какая была у звуковой дорожки изначально, иначе может появиться рассинхронизация при сведении видео и звука. Для DVD обычно 48KHz)
  • выбираем битрэйт (т.е. количество бит на секунду звука), у меня обычно 128kBit/s
  • моно/стерео
  • CBR(постоянный битрэйт, обычно я выбираю его) или ABR(средний битрэйт).

Если параллельно с обработкой звука вы хотите заниматься чем-либо еще, то в настройках Winamp'а или в Диспетчере задач в Win2000/WinXP вам нужно поставить ему приоритет "ниже среднего". Это стоит сделать потому, что при кодировании Winamp сильно загружает процессор, а сам процесс довольно долгий - у меня (AthlonXP 2500+/Samsung DDR400 2*256Mb) занимает в среднем минут двадцать.
После установки всех параметров открываем в Winamp'е трэк фильма и нажимаем "Воспроизвести"(Play). В результате через несколько минут в указанной папке мы должны получить сжатую в MP3 звуковую дорожку фильма.

Этап четвертый. Кодируем видео

Ну а теперь самое интересное - кодируем видео. Запускаем VirtualDubMod, ставим его процессу приоритет "ниже среднего" и открываем с помощью этой программы полученный ранее промежуточный avi. Буду предполагать, что как работать с VirtualDub, вы знаете, и особо заострять внимание на мелочах не буду. Здесь нужно упомянуть самые распространенные проблемы, видимые при просмотре промежуточного avi-файла невооруженным взглядом:

  1. соотношение сторон изображения не совпадает с исходным
  2. картинка фильма занимает не всю площадь изображения, и по ее краям проходят черные полосы
  3. картинка фильма искажается сдвигами изображения наподобии гребенки

Теперь расскажу по порядку, как со всем этим справиться. Во всех трех случаях необходимо применить к фильму какие-либо фильтры. Для того, чтобы видеть эффект от их применения, идем в меню Options и ставим галочку напротив Swap input/output pains. По умолчанию, преобразованное видео находится справа или снизу от исходного и его почти не видно. Также нужно выбрать пункт Full processing mode в меню Video, то есть задать режим полной обработки видео.

  1. Для изменения пропорций картинки выбираем пункт меню Video->Filters или нажимаем Ctrl+F.
    Нажимаем кнопку Add(добавить фильтр) и в появившемся окне выбираем двойным щелчком фильтр Resize. Вводим новые ширину и высоту изображения.
  2. Для обрезки черной области по краям изображения снова открываем Video->Filters. Добавляем фильтр null transform и жмем OK. Выбрав добавленный фильтр в списке, нажимаем на кнопку Cropping(обрезка). В появившемся окне мышкой или указывая численно, задаем границы обрезки. Здесь есть одна деталь - кодек, которым вы собираетесь кодировать фильм, может накладывать ограничения на размеры изображения. Если это будет DivX, то ширина изображения должна быть кратна четырем, а высота - двум. Если вы об этом забудете, процесс кодирования, едва начавшись, прекратится и выдаст ошибку.
  3. Если вы наблюдаете при покадровом просмотре эффект "гребенки", заходите все в то же окно фильтров и добавляйте фильтр Deinterlace. В окне настроек фильта укажите Blend fields together, он обозначен в списке как лучший. После этого "гребенка" исчезает.

Теперь, когда изображение нас устраивает, можно приступать к настройкам кодирования - выбираем пункт меню Video->Compression. В списке кодеков выбираем, например, DivX. Обычно я пользуюсь им. Кодировать будем в два прохода - этот способ отличается значительно большим качеством изображения при том же размере видеофайла. Во время первого прохода происходит сбор статистики видеоинформации, во время второго - собственно компоновка сжатого видео.

В окне настроек DivX в списке Encode Mode выбираем Multipass, 1st pass (первый проход). Битрэйт я обычно ставлю на максимум, хотя не уверен, влияет ли это на качество. Применяем настройки и идем в меню File->Save As... В диалоге сохранения ставим галочку напротив Don't run this job - процесс сохраниния будет добавлен в Очередь заданий. Вводим имя для сохраняемого файла, например, 1st_pass.avi.

Возвращаемся в окно настроек DivX'а и в списке Encode Mode выбираем Multipass, Nth pass. Тепярь нам обязательно нужно задать битрейт для сжатого видео - от этого будет зависеть размер полученного файла. В последних версиях DivX есть встроенный битрэйт-калькулятор, а в XviD он есть уже очень давно. Если вы его не нашли, то вам пригодится программа Adv.DivX Bitrate Calc!. Посчитанный в таком калькуляторе битрейт вводим в окошко Average Bitrate. Применяем настройки и сохраняем файл (не убирая галочки с Don't run this job) под именем 2nd_pass.avi. Теперь, нажав F4, вызываем окошко Очереди заданий, выделяем первое задание и нажимаем Start.

Теперь нам остается только одно - ждать. У меня процесс кодирования (оба прохода вместе) занимает около четырех часов. Обычно я вечером запускаю процесс кодировния двух фильмов и иду спать. Если вы захотите поступить также, то в окне очереди заданий (Job Control) стоит поставить галочку напротив пункта Shutdown when finished в меню Options. В этом случае когда процесс сжатия завершится, программа автоматически выключит компьютер.

Этап пятый. Склеиваем видео и звук.

После того, как процесс кодирования завершится, мы файл сжатого видео. Теперь нам нужно склеить его со звуковой дорожкой. Откроем в VirtualDubMod получившийся видеофайл. Теперь выбираем пункт Streams->Stream List. В появившемся окне нажимаем Add и открываем файл звуковой дорожки. В меню Video выбираем Direct stream copy (прямое копирование потока). Если вам не нужно разрезать файл (например, чтобы записать его на два диска), то просто сохраните видеофайл под другим именем, например output.avi. Иначе вам придется сделать еще кое-что: в диалоге сохранения нужно отметить пункт Segment Output File и указать ограничение на размер каждого сегмента видео файла. Этот размер можно прикинуть "на глаз".

После сохранения файла можете поздравить себя с первым закодированным фильмом!

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

Надеюсь, что данный материал будет кому-либо полезен.
Спасибо за внимание.
Owl83
Адрес статьи на сайте


Наш сайт http://kinolenta.ka2i.ru
kinolenta@nvkz.net

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: rest.cinema.kinolenta
Отписаться
Вспомнить пароль

В избранное