Ключевые слова:dvd, avi, divx, mplayer, (найти похожие документы)
From: Pavel <http://po1tinnik.narod.ru/>
Date: Mon, 18 Nov 2004 14:31:37 +0000 (UTC)
Subject: Как превратить DVD в AVI
Оригинал: http://po1tinnik.narod.ru/
Данный текст не является ни руководством, ни инструкцией по кодингу в
MPEG4. Это просто мой опыт борьбы с видеогигабайтами. Современные
кодеки позволяют при грамотной раскладке перегонять фильмы практически
без потери качества, при условии качественного первоисточника. В свое
время я перепробовал для этого множество программ и остановился на
mencoder (http://www.mplayerhq.hu/homepage/design7/news.html).
К сожалению (или нет) под Windows (http://www.microsoft.com/) не существует
качественного порта mencoder. Win сборка ограниченна по функциональным
возможностям и годится лишь для изготовления полуфабрикатов, которые
можно скормить VirtualDub (http://www.virtualdub.org/) или его клонам
(http://www.doom9.org/software2.htm#editing) (они так и не могут
научиться понимать сырой MPEG. странно). Поэтому если у вас нет опыта
и желания работать в Linux, (http://www.linux.org/) дальше можно не читать.
Что умеет mencoder? Можно сказать, что практически все. На самом деле
из пакета собирается 2 программы: mplayer и mencoder. Mplayer понимает
и воспроизводит все видеоконтейнеры и все видеопотоки. Очень удобно
кстати. Mencoder же умеет эти контейнеры открывать и создавать
полноценный avi. Есть только 2 вещи которые неплохо было бы добавить к
функциональности mencoder - разрезка файлов по заданным параметрам
(эта фича присутствует, но ограничена по возможностям) и добавление
нескольких звуковых дорожек. Хотя все это умеет делать другой пакет
под названием transcode. (http://zebra.fh-weingarten.de/~transcode/)
Итак, перед нами стоит задача перегнать
MPEG2 (http://www.mpeg.org/MPEG/index.html) в MPEG4 и запихнуть
его в контейнер, придуманный, но как всегда больше не поддерживаемый,
MicroSoft, (http://www.microsoft.com/) т.е. Avi (http://www.jmcgowan.com/avi.html#Definition)
Я не буду описывать сборку (компиляцию) пакета mplayer, описание
можно найти в прилагаемой документации, кстати, оно выполнено великолепно
и очень самодостаточно, причем есть и на русском языке.
Первый этап - выбор кодека. На момент написания статьи (31.10.2004) лучшим,
на мой взгляд, является опенсорсная ветка DivX (http://www.divx.com/) -
XviD (http://www.xvid.org/) При равных параметрах, потери в качестве у XviD
наименьшие. Да и под linux DivX не особо блистает. Поэтому я буду
рассматривать в примерах XviD. Второе, это нужно определиться с
размерами готовых файлов. Здесь много вариантов и все зависит от
вкусов и желаний. К слову, mencoder имеет встроенный калькулятор
битрейта. Работает это так: кладем vob-ы содержащие фильм в
какой-нибудь директорий, пишем скрипт::
cat *.vob | mencoder -oac mp3lame -lameopts preset=medium -aid 128 -ovc frameno -ni -
cat *.vob | - читаем по порядку vob файлы и отдаем в трубу.
-oac mp3lame - перегоняем звук в mp3
-lameopts preset=medium - установка битрейта mp3, причем VBR. можно не
указывать, тогда будет standart. детальное описание в man.
-aid 128 (0x80) - говорим какая звуковая дорожка. может быть другая,
но можно проверить в mplayer и выбрать нужную.
-ovc frameno - без видео. для калькулятора само то.
-ni - Force usage of non-interleaved AVI parser (fixes playing of some
bad AVI files) к слову, не помешает.
- - читаем из трубы.
в итоге вы получите файл test.avi, содержащий только звук, и расклад
по битрейту.
Достаточно наглядно, не правда ли? Кстати если DVD с ac3 можете
указать -oac copy, тогда получите битрейт с ac3. Если вы определились
с битрейтом, то пора приступать к енкодингу. Сперва удалим лишний
мусор, который добавляют в vob для совпадения картинки с пропорциями
экрана монитора, те croping и изменим размер картинки примерно
512хХХХ, те scaling. Такой формат считается оптимальным соотношением
по качеству выходного продукта. Натравливаем mplayer на любой vob (у
вас может быть другое имя файла):
mplayer -vf cropdetect vts_01_2.vob
увидите следущую картинку
crop area: X: 8..711 Y: 63..409 (-vf crop=704:346:8:64)% 5,4% 0 0%
запомните эти параметры -vf crop=704:346:8:64 (первые 2 цифры размер
полезного окна, 3 цифра отступ слева, 4 отступ сверху) и снова с уже
известными параметрами пробуете скалинг:
mplayer -vf crop=704:346:8:64,scale=512:280 vts_01_2.vob
я специально задал второй параметр у скалинга неверный, и mplayer его
сам скорректировал (в самом низу картинки). Но так бывает не всегда,
иногда требуется явно указывать -aspect 16:9. И это еще не все. Бывает
cropdetect тоже не срабатывает, и приходится определять crop вручную.
А поскольку дело это неблагодарное и cropотливое, я пользуюсь
avidemux2 с его виsуальными настройками этих фильтров. Но тут уж
каждый сам себе терапевт...
Ну а теперь за дело. Во все том же самом директории пишете новый
скрипт:
cat *.vob | mencoder -nosound -ovc xvid -xvidencopts vhq=1:pass=1:qpel:trellis -sws 2 -ni -vf \
crop=704:346:8:64,scale=512:280,pp=lb -o /dev/null -
-nosound - при первом проходе нам звук не нужен
-ovc xvid - собственно XviD :)
-xvidencopts vhq=1:pass=1:qpel:trellis - pass=1 это и есть первый
проход при котором кодек обсчитывает каждый фрейм и записывает в файл
калькуляцию. остальные опции смотрите в man, и решайте стоит их
включать или нет.
-sws 2 - тоже в man
-vf crop=704:346:8:64,scale=512:280,pp=lb - pp=lb убирает
деинтерлизинг. нужен только если после скалинга не исчезеат расческа.
-o /dev/null - то что получается на выходе отбрасываем. толку от этого
не много, нам нужен только xvid-twopass.stats
Картинка, правда, от другого процесса, но смысл понятен...
По завершению первого прохода делаем второй, причем очень важно
сохранить все настройки фильтров идентичными:
cat *.vob | mencoder -oac copy -aid 128 -ovc xvid -xvidencopts \
vhq=1:pass=2:qpel:trellis:bitrate=950 -sws 2 -ni -vf \
crop=704:346:8:64,scale=512:280,pp=lb -o Name.ac3.avi -
-oac copy - именно copy, так фильм будет качественней.
bitrate=950 - фильм получится размером 700 М (первая картинка)
а на третий проход, если вы решили сделать звук в mp3 то:
mencoder -ovc copy -oac mp3lame -lameopts preset=medium -o Name.mp3.avi Name.ac3.avi
Вот в принципе и все, добавлю только что на моем атлоне 2000 час
фильма собирается примерно 2-2.5 часа, зато результат остается надолго
в коллекции. Вы же в праве делать, так как хотите, хоть все за один
проход.
ЗЫ. Если появятся практические вопросы по енкодингу, пишите в форум
сюда (http://mm.pk.ru/forum/) или сюда (http://linux.pk.ru/phorum/read.php?f=5&i=1&t=1)
Постараюсь ответить.
CopyLeft (C) 2004 г.
звук вообще можно не делать ни в 1 ни во 2 проходе те -nosound. только нужно сохранить test.avi. когда видео готово:
avimerge -i film.avi -p test.avi -o film+sound.avi
В самом начале статьи написано "Современные кодеки позволяют при грамотной раскладке перегонять фильмы практически без потери качества" Ну нельзя так писать. Лбое сжатие приводи к потере информации. Если вы будете смотреть фильм на КПК, то разныцы не заметите. Но посмотрите хотя бы на 32'' и обратите на мелкие детали в быстрых сценах - волосы на ветру, мелькающие провода или ветки.
AppGeeker DVD Ripper
http://www.ilikemall.com/convert/rip-dvd-to-avi-mac.html не только делает рипы DVD-фильмов, но и конвертирует файлы, чтобы они подходили вашим устройствам мультимедиа. эта мощная программа не только конвертирует DVD-форматы в AVI, MPEG, WMV, DivX, MP4, H.264/MPEG-4 AVC, RM, MOV, XviD, 3GP, MP3, WMA, WAV, RA, M4A, AAC, AC3 или OGG, но и делает рипы аудио в форматы MP3, WMA, AAC или WAV.
Я хочу сохранить на ж.диске dvd с любительскими записями без потерь, либо в формате VOB, но с возможностью нормального просмотра на ПК (с прокруткой вперёд-назад). Пытался конвертировать с помощью Movavi, но безуспешно. Перебрал в настройках все основные форматы (Mpeg2, MP4, AVI, пользовательский) и разные битрейты (до 110 мгб/сек) , увеличивал частоту кадров до 60, др настройки, - мне не удалось добиться такого же качества, как в dvd. Если говорить точнее, то получается следующее: статичные сцены, в которых нет быстро движущихся объектов и если камера не двигалась, получаются после конвертации нормально. Но если сцена динамичная (камера двигалась или объекты перемещаются в кадре относительно быстро) , то отличия от dvd очень заметные: картинка в dvd относительно плавно меняется, а после конвертации дёргается, меняется рывками (по направлению движения объекта или камеры). Пытался конвертировать с помощью Адоб ПремьерПро (там много настроек, я в них не смог полностью разобраться), и результат такой же как в Movavi. Вы не можете подсказать способа конвертации без потерь качества, либо сохранения на Ж.диске а формате VOB, но так, чтобы можно было просматривать нормально (мои просмотровые проги VLC медиа плеер и К-lite открывают файлы VOB , но не позволяют прокручивать видео вперёд-назад)?