Обновлена 02.05.06г.
Конвертирование DVD в DivX (XviD)
с сохранением качественного звука и хорошего
качества изображения с помощью Gordian Knot.
1. Введение и мотивация.
Подобные строки были написаны до меня, но всё же я спозиционирую цель этого текста - научить новичков делать копии DVD, предостеречь от некоторых ошибок, и, надеюсь, кто-то даже заинтересуется этим занятием. Исходя из этого я принципиально не буду затрагивать программу "Auto Gordian Knot", использование которой, по-моему, имеет смысл в случае "одноразового" конвертирования и не даёт хороших результатов. Текст направлен на людей, совсем ничего не знающих о конвертировании и монтаже видеоданных, а также немного знающих - в пределах открыл в VirtualDub'е, сделал кроп (обрезание краёв), сделал ресайз (изменение размера) и сохранил в другом формате.
2. Инструментарий.
Для извлечения и конвертирования используются постоянно одни и те же инструменты, поэтому собралась команда энтузиастов и в помощь нам разработала 2 очень удобных пакета инструментов: Gordian Knot Rip Pack (актуальная версия 0.35), для извлечения и монтажа, и набор кодеков Gordian Knot Codec Pack (последняя версия 1.9 – уже давно устарела и нам не понадобится). Также нам понадобятся видеокодер x264, аудио кодеры OGG и LAME. Оба пакета GK и кодек разрабатываются группой профессионалов и распространяется целиком и полностью бесплатно – по лицензии GPL. Так что скачивать бесплатно можно даже исходники.
3. Установка и настройка.
Установка происходит весьма просто и элементарно: запустил -> ответил везде "Да" -> пользуешься. Запускаем впервые саму оболочку, указываем родной язык. Итак, перед нами оболочка GK(Gordian Knot), идём на закладку "Настройки". Здесь нам нужно проверить и выставить в случае отсутствия следующие галки: "Показывать подсказки", "Скрывать дополнительные закладки" (на дворе отнюдь не 2000 год и сжимать Nandub'ом мы не будем), "Use advanced SaveAVS window" («Использовать продвинутый вид окна для создания avs-проекта»), "Следовать стандарту ITU-R BT.601" (мотивацию можно прочитать в том же окне ниже). Итак, теперь нужно определится, каким видеокодеком будем сжимать. Нам предлагают четыре кодека на выбор. Вариант "DivX 3.11" отпадает из-за того, что сейчас можно достичь значительно лучшего сжатия. Это вариант для ретроманов или больших спецов, не желающих переходить на новые кодеки (99% случаев – это предубеждение). Далее рассмотрим каждый вариант и сделаем наш выбор.
DivX – обеспечивает, как правило, несколько худшее качество картинки (само собой, при всех остальных равных), но большой плюс его использования – это реализация декодирования в бытовых DVD-проигрывателях, что, несомненно, очень приятно. Минусом является, как уже сказано, худшая компрессия, "незнание" кодеком режима для сжатия мультиков (разница между мультиком пожатым DivX и XviD «на лицо»), его платность (есть, конечно, adware версия, но всё-таки).
XviD – кодек с открытыми исходниками => интенсивно развивается (точнее сказать, развивался, сейчас работа существенно замедлилась – все силы брошены на развитие x264), а также это означает, что он очень "вылизан" и из сжатия H.263 в лице XviD (кстати, DivX только наоборот - палиндром ;-)) выжато почти всё. Плюсами являются: открытость исходников и всё отсюда вытекающее (см. выше), поддержка в бытовых проигрывателях (DivX'овый декодер проигрывает весьма прекрасно), наличие режима сжатия мультфильмов.
x264 – представитель славного семейства кодеков H.264, следующей ступенью развития DivX'подобных кодеков семейства H.263, ныне изживших себя. Обеспечивает лучшее качество из всех представленных здесь кодеков, но как кодирование видео, так и декодирование требует значительно больших вычислительных мощностей. До недавнего времени считалось, что минимальные требования для просмотра dvd-рипа (т.е. с разрешением до 720x576) нужен компьютер с процессором эквивалентным P4-1.5GHz. Но не так давно появился альтернативный декодер H.264 потока – CoreAVC. Этот декодер интересен тем, что очень сильно оптимизирован по скорости при идентичном с другими декодерами качеством. Сам я не тестировал и за достоверность слухов ручаться не могу, но существует мнение, что сейчас для просмотр видео с dvd разрешением достаточно P3-700MHz. Так же достоверно могу сказать, что CoreAVC помогает при просмотре видео с HDTV (телевидение высокой чёткости) разрешением, и декодер оптимизирован для многопоточных вычислений (2 двуядерные процессора были загружены задачей декодирования). Но вернёмся к обзору x264. Кодер является также полностью открытой разработкой и постоянно (о-о-очень интенсивно обновляется – иногда по два-три раза за сутки) совершенствуется и при этом уже весьма достоин. Пока не реализовано проигрывание в бытовых DVD-проигрывателях, но по заявлениям работа уже ведётся.
Вывод: для просмотра на домашнем проигрывателе – XviD, для просмотра на компьютере(в случае не сильно слабого компьютера) - x264. Опять-таки стоит учесть тот факт, что сжатие x264 займёт в 2-4 (можно, конечно, и раз в 20, но это уже извращение) раза больше времени, чем XviD'ом.
Настройки кодеков:
Для всех кодеков и при любом кодировании какой бы то ни было программой, настройки первого и второго (и n-ного в случае многопроходного кодирования) проходов должны быть АБСОЛЮТНО ОДИНАКОВЫМИ!
XviD – открываем настройки для первого прохода. В вылетевшем окне жмём кнопочку напротив надписи "Profile @ Level" и в новом окне выставляем "Adaptive Quantization", "Quarter pixel", "Global Motion Compensation" и снимаем "Packed bitstream" (в случае кодирования как худ. фильмов, так и мультфильмов). Так же здесь нас интересует матрица квантования – упрощённо говоря, таблица сжатия блоков, с каким квантизёром (показателем качества) сжимать какой-то конкретный момент. Нам предоставляются 3 варианта: H.263, MPEG, MPEG-custom. Матрицу H.263 имеет смысл применять, когда у Вас битрейт довольно низок (ниже 900 кбит/с). На низких битрейтах она даст лучший результат, чем MPEG, но платой за это будет бОльшая "замыленность" (размытость). И соответственно матрицу MPEG имеет смысл применять на более высоких битрейтах, при этом Вы получите бОльшую детализированность картинки. MPEG-custom предназначена применения "внешних" матриц квантования т.е. вместе с установкой XviD'а Вы "становитесь счастливым обладателем" дополнительных 15 матриц. Соответственно, "поигравшись" с матрицами, можно получить лучшую картинку в каких-то определённых случаях. Но я Вам не советую этого делать на первых порах Вашего обучения, возможно, поднабравшись опыта, Вы захотите поэкспериментировать - сжатие фильмов для КПК или, наоборот, получение очень детализированного, качественного видео с большим битрейтом и т.д. Для большинства фильмов и усреднённых (700-1700 кбит/с) битрейтов с лихвой хватает MPEG и H.263.
Закрываем окно, и открываем "Zone Options...". Ставим галку "Chroma Optimizer enabled". Лезем в "Advanced Options..." и ставим "Maximum I-frame interval" 450, а если фильм был просмотрен ранее и заметили множество статичных сцен, можно увеличить и до 1500 ;-)
При кодирование мультфильмов к лучшему результату приводит установка галки "Cartoon Mode" в окошке "Zone Options…".
x264 – приводим настройки к такому виду:
Небольшие пояснения. Это я привёл достаточно тяжёлые по затратам процессорного времени настройки. Значительно облегчить их можно, убрав галочку «Trellis» и выставив «5» в «Partition decision». Так же, если Вы – счастливый обладатель двуядерного процессора (или двух физических процессоров или просто P4 с HT (тогда я Вас не считаю счастливым :-)), то можно с чистой совестью поставить «Threads» равное 2. Только стоит учесть, что в x264 распараллеливание происходит с использованием слайсов, что неизбежно уменьшает качество, так что при кодировании в два потока советую, чтобы галка на «Trellis» стояла и «Partition decision» выставить в «6b».
Так же индивидуально для каждого фильма подбираем силу inloop-фильтра: «Strengh» и «Threshold». Чем меньше число, тем менее сильно работает фильтр. В зависимости от качества фильма и битрейта фильма рекомендую их изменять от 0 (в случае низкого (ниже 500) битрейта) до -4 (в случае очень чистого исходника и весьма большого (1500 и выше) битрейта). Для мультиков, как правило, идеальными являются настройки около 0 (от -3 до +3). В случае самого Вашего любимого мультика и большого битрейта (для мультиков с dvd, не сильно грязных, при этом битрейт 1000 является весьма большим) советую -3, не меньше.
Закрываем окна настройки, и нажимаем на кнопку настройки второго прохода, настройки должны будут автоматически скопироваться из настроек первого прохода, но Вы своим чутким глазом смотрите, чтобы они были идентичными, поправляете, в случае неодинаковости.
4. Что нужно знать о DVD для конвертации.
Из названия понятно, с каким источником видео мы будем иметь дело - DVD. DVD - это не Digital Video Disc, а Digital Versatile Disc и на DVD можно записать как видео, так и аудио, да и вообще любую цифровую информацию, хоть книжный архив. Нас интересует DVD-Video. Физически на диске записаны две папки: AUDIO_TS и VIDEO_TS, при этом в AUDIO_TS нет никаких файлов (я ещё не встречал), зато в VIDEO_TS валяются файлики с расширениями *.vob, *.ifo, *.bup. Vob-файл - это mpeg2 видео поток и аудио поток AC-3 или LPCM (обычный wav поток с частотой дискретизации 48 kHz), в случае, если перед нами DVD с клипами, хотя бывают и исключения. Собственно вот эти-то вобы нам и нужны, т.к. в них-то вся интересующая нас информация и содержится. *.ifo и *.bup – это файлы "навигации" т.е. в них содержится информация о менюшках и главах (эпизодах) фильма. Пока что мы менюшки делать не собираемся и эти файлы нас не интересуют.
Извлечение видеоданных.
Оговорка: данный раздел морально устарел (DVD Decryptor более не входит в GK RipPack) и оставлен «ради истории» и для тех редких случаев, когда человеку встречается действительно защищённое DVD.
Легальное копирование DVD запрещено, хотя и обсуждается разрешение "архивного" копирования, в ограниченном кол-ве, но когда окончательно DVD-Forum решит, как всё это организовать и когда появятся первые "разрешённые" фильмы, я не знаю и ждать не собираюсь. Поэтому будем пользоваться программой "DVD Decrypter" (актуальная версия – 3.5.4.0), входящей в состав GK. Эта программа считается лучшим декриптором ("извлекатель" данных с DVD, находящихся под защитой). Также заранее оговорюсь, если Вы делали имидж диска программой "Alcohol 120%", то можно просто скопировать нужные вобы на жесткий диск, по моим экспериментам, они будут совпадать бит-в-бит, или же можно использовать вобы прямо с виртуального диска – результат один и тот же!
В оболочке GK переходим к закладке "Считывание". Вернёмся к декриптору – лезем в меню Mode и ставим галку на пункте IFO, остальное оставляем как есть. В чекбоксе "Источник" ("Source") выбираем привод. Перед нами окно декриптора с выделенным, скорее всего, VTS модулем фильма (определяем по длительности), если нет, то раскрываем оставшиеся VTS'ки и ставим курсор на PGC с длительностью фильма, дальше смотрим, куда предложено положить – показываем куда надо положить.
Переползаем на вкладку "Потоки" (Stream Processing) ставим галку "Разделение потоков" (Enable Stream Processing) и убираем ненужные нам языки (при просмотре, первой дорожке соответствует 0x80, второй 0x81 и т.д. – это касаемо AC-3, с LPCM дела обстоят проще: один язык на диск ;-) и субтитры, также различных языков.
.
Всё готово – как говорится "жми кнопку Макс" и жмём на картинку "DVD>HDD", ниже информативного текста.
Ждать придётся от 5 до 40 минут в зависимости от мощности имеющегося "железа".
5. Создание проекта и выделение звука.
Итак, извлеченные вобы имеем, далее нужно создать d2v-проект и выделить отдельно звук. Единственное, что нужно твёрдо усвоить: ВОБЫ НЕ УБИВАЕМ ДО ТОГО, ПОКА НЕ УБЕДИМСЯ, ЧТО ГОТОВЫЙ ФИЛЬМ ВАС УТРАИВАЕТ!!!
ВИДЕО
Нажимаем на такой значок в главном окне GK. После появления окна DGMPGDec (ранее применялся DVD2AVI, DGMPGDec является его развитием) нажимаем кнопку "F2" или File -> Open и выделяем интересующие нас вобы. (Начальный воб можно определить по размеру в 1Гб, предварительно нажав правой клавишей в окне и в меню "Вид" выставив "Таблица".), после чего программа покажет начальный кадр фильма (точнее, конечно, того воба, который Вы определили как основной; если ошиблись – вместо начальных кадров фильма будут кадры менюшки DVD). Обязательно проверяем, чтобы в меню Video -> Field Operations стояла галка Honor Pulldown Flags, а в меню Video -> YUV -> RGB стояла PC Scale. Переходим к окошку Information. (нажмите "F5" или "F6", а потом остановите пробелом или "Esc".)
В этом случае имеется PAL’овский исходник, якобы интерлейсинговый.
Здесь нас интересуют несколько параметров (их можно даже в отдельный файлик или на листик записать): Aspect Ratio (соотношение сторон), Frame Rate (кол-во кадров в секунду), Video Type (цветовое пространство, в котором записан фильм), Frame Type (наличие или отсутствие черезстрочности).
Ключевые термины:
Interlaced – от англ. "черезстрочность", метод записи видео, применяющийся для упрощения прорисовки картинки на телевизорах, заключающийся в разбивании картинки на чётные и нечётные поля и их чередовании. Интерлейсинг полезен в случае просмотра через бытовой проигрыватель, но является большой помехой при конвертировании: ухудшение картинки при просмотре на компьютере и усложнение при сжатии, т.к. чем лучше картинка, тем лучше сжимаемость материала.
Telecine – процесс преобразования 24p (24 прогрессивных кадра в секунду) в 30i (30 интерлейсинговых кадров), и состоит он в создании каждого 5 кадра (из 4) путём копирования полей из двух предыдущих, т.е. получается последовательность 3 прогрессивных, 2 интерлейсинговых, 3, 2...
P.S. В нашей работе этот фильтр ни в коем случае использоваться не будет, у нас цель наоборот избавится от следов его работы.
Inverse Telecine (IVTC) – процесс, обратный телесину, восстановление 30i до 24p, достигается соответственно удалением дублирующихся полей и/или кадров.
Для комфортного просмотра на компьютере и улучшения сжимаемости мы будем избавляться от разного рода черезстрочности (Interlacing или Telecine). Бороться с ней нам предстоит применением соответствующих фильтров. Но не стоит полагать, что всё так просто и красиво, на самом деле проблем намного больше, и я их описал только поверхностно. (Интерлейсинг может оказаться просто перепутанными полями, телесин может чередоваться с прогрессивом.) Поэтому не стоит надеяться на идеальный результат без каких-либо усилий, и нужно быть готовым к тому, что изредка могут случаться "провалы" у фильтра, т.к. из всех правил бывают исключения и бывают даже лицензионные фильмы (в основном, anime) с совсем непонятными полями.
Рассмотрим исходные (DVD до конвертации) параметры видео:
Video Type бывает 3 типов: PAL, NTSC и FILM в случае прогрессивного NTSC. PAL может иметь Frame Type Interlaced и Progressive и всегда имеет Frame Rate 25 fps (25 кадров в секунду). А NTSC бывает тоже Interlaced и Progressive (в этом случае вместо NTSC в Video Type будет FILM nn%) и для него Frame Rate всегда 29,970 fps! Это в исходнике.
Остановимся на Frame Type и Frame Rate (ЗАПОМНИТЬ или записать ОБА параметра – они пригодятся далее):
FRAME TYPE
Если у Вас в поле Frame Type – Interlaced, то сразу же настораживаемся и точно запоминаем, что у нас черезстрочное видео. Но, DGMPGDec иногда, но ошибается, и нам нужно проверить действительность его выводов. Запускаем VirtualDubMod (Пуск -> Программы -> Gordian Knot -> Apps -> VirtualDubMod), жмём File -> Open video file... (Ctrl+O) и идём туда, куда положили наши вобы, открываем какой нам больше приглянулся (проще всего последний: он, как правило, самый маленький и, следовательно, быстро загружается :-). Открыв его, перетягиваем ползунок куда-нибудь к середине, останавливаемся и стрелкой клавиатуры "->" листаем вперёд следующие кадров 8-12 по одному, всматриваемся в картинку в местах движения, на предмет присутствия горизонтальных чёрточек (эффект гребёнки).
Обведённые области наиболее заметны при движении, почти вся фото в интерлейсинге!
Если чёрточек нет, значит, DGMPGDec ошибся и материал на самом деле прогрессивный. Тогда мы ничего не делаем, радуемся и идём дальше. Если же всё-таки материал действительно интерлейсинговый, то смотрим на Video Type – PAL или NTSC и соответственно 25 или 29,970fps. Если это Pal, то материал интерлейсинговый и нужно будет делать деинтерлейсинг, а если NSTC, то материал телесиненный и необходимо провести Inverse Telecine (IVTC). В этих случаях никаких галок никуда не ставим, оставляем всё как есть и идём дальше.
Если же Frame Type – Progressive, то это замечательно и Вам весьма повезло. Прогрессивный материал подозревает под собой то, что фильм был снят и после этого никаких "лишних"(для просмотра на компьютере) манипуляций над ним не производили и кадры не разбиваются на поля и тем проще будет кодировать.
Идём дальше. Изучим поле FRAME RATE.
NTSC: Frame Rate у Вас должен быть 23,976 в случае исходника FILM<95%, 29,970 - в единственном случае, когда у Вас Frame Type – Interlaced и будет проведён IVTC;
А если 29,970, когда FILM при процентном отношении выше или равно 95%, то галка "Video -> Field Operations -> Forced Film" не стоит. Её надо поставить, вследствие чего Frame Rate изменится в DGMPGDec с 29,970 на 23,976.
PAL: 25 в случае и интерлейсингового и прогрессивного.
Если у Вас 20 fps – ошибка! стоит галка "Forced Film", хотя исходник паловский! Убрать галочку.
Всё сказанное выше объединим в одну таблицу, чтобы легче было ориентироваться.
Video Type
|
Frame Type
|
FPS оригинала
|
Обработка в DGMPGDec
|
FPS после DGMPGDec
|
Обработка в GK
|
FPS результата
|
NTSC
|
Interlaced
|
29.970
|
Honor
|
29.970
|
IVTC
|
23.976
|
FILM <95%
|
|
29.970
|
Honor
|
29.970
|
IVTC
|
23.976
|
FILM >95%
|
|
29.970
|
Forced film
|
23.976
|
-------------
|
23.976
|
PAL
|
Progressive
|
25
|
Honor
|
25
|
-------------
|
25
|
Interlaced
|
25
|
Honor
|
25
|
Deinterlace
|
25
|
Небольшие комментарии к таблице выше: под «обработка DGMPGDec» подразумевается выставление соответствующей галочки в DGMPGDec -> Field Operation -> значение из таблицы.
Под «Обработка в GK» – выставление соответствующей точки в окне «Save AVS».
Конечно, с первого раза всё это кажется весьма сложно и запоминать много, но на самом деле достаточно пару раз заглянуть в этот мануал, и Вы привыкните и поймёте, что к чему, как и зачем.
ЗВУК
В этой части описывается конвертирование с помощью отдельных кодеров и не описывается конвертирование шестиканального звука. Скоро эта «плешь» будет устранена. Я напиcал кратенький обзор для начинающих по использованию программы BeHappy, которой я настоятельно и рекомендую пользоваться для перегонки файлов различных звуковых форматов в те форматы которые Вам угодно. В данный момент он доступен для скачивания на моём сайте. В ближайшее время проведу интеграцию этих двух документов и попытаюсь включить всё в эту статью.
Далее мы решаем, какой у нас будет звук: шестиканальный или двухканальный. В случае шестиканального звука нам потребуется извлечь AC-3 (в случае DTS – рекомендую его зажать в соответсвие со статьёй по BeHappy, если хотите неизмененный DTS – читайте про AC-3 и сделайте так же только с DTS’ом). Сразу скажу, что шестиканальный звук AC-3, скорей всего, если у Вас однослойная DVD с одним фильмом, (т.к. бывает, что пираты пакуют по два фильма в 4.7 Гб – там может быть перекодированный звук, который можно определить по битрейту – 320 или 384) такой же как и оригинальный, показываемый в кинотеатрах. Но за такую прелесть нужно платить. Если Вы окончательно определили, что конвертируете на один диск, то без вопросов Вам нужно будет перекодировать звук в 2-х канальный (хотя всё-таки могут быть и исключения). Может быть, у меня и предубеждение, но звук кодирую всегда отдельно, не пользуясь внутренними средствами GK. (Непонятно какими тюнами и какими-то странными строчками GK предлагает сжимать звук, руками всегда надёжней ;-) И плюс всегда перед кодированием можно проверить, последняя ли версия кодера используется.
Как известно, DVD может содержать несколько переводов и, как следствие, несколько звуковых дорожек. Можно, конечно, выбрать Audio -> Output Method -> Demux All Tracks и после извлечения всех дорожек проиграть и выбрать нужный перевод. А можно запустить какой-нибудь DVD плеер и посмотреть, какой по счёту идёт нужный Вам перевод и в Audio -> Output Method выбрать просто Demux, а в Audio -> Track Number указать номер нужной дорожки тогда извлечётся только одна дорожка. Также в меню Audio стоит проверить, чтобы 48->44.1 KHz стояло в Off. В случае многоканального звука стоит отключить нормализацию (проверить, стоит ли галка в Audio -> Normalization, если да – убрать).
Также в окне Information нас интересует в секции Audio поле Track1 , здесь будет указан формат и битрейт извлекаемого звука. "DD 3/2 384" будет означать, что это шестиканальный звук в формате AC-3 (разработка Dolby Digital (сокращение DD)) с битрейтом 384 (чаще всего, 448, 384, 320 (довольно редко), 192-224 – в двухканальном варианте).
Также возможны Linear PCM (стерео высокого качества) и DTS (пятиканальный).
AC-3 звук (6-канальный).
Если у Вас звук был AC-3 и Вы решили его оставить, то ничего делать не будем, оставляем все, как есть.
Теперь в DGMPGDec сохраняем проект ("F4" или File -> Save Project). Скорость работы DGMPGDec зависит от скорости процессора, жесткого диска, и длительности фильма.
После завершения работы DGMPGDec в папке появится 2 файла: проект d2v и файл звука. Имя файла звука имеет интересный формат "X Y TN Ch B D", где "X" – название Вашего d2v проекта, "Y" – формат звука (wav, AC3, DTS), "TN" – номер звуковой дорожки в DVD по счёту, "Ch" – кол-во каналов (шестиканальный звук обозначается как "3_2"), "D" – задержка по времени в миллисекундах. Пример: "1 AC3 T01 3_2ch 448Kbps DELAY 3641ms.ac3". Расшифровываю: название проекта 1.d2v, звук зажат в формате AC-3, эта дорожка первая по счёту в DVD (0x80), кол-во каналов – 6 (3*2), битрейт – 448 (эту дорожку никто не пережимал, она в таком виде, в каком хотели видеть её авторы), задержка по времени – чуть больше 3,5 секунд.
Linear PCM (стереозвук).
Как правило, такой звук применяется в концертах или клипах. Звук не сжат, в отличие от AC-3, DTS. Ставим галку Audio -> Output Method -> Decode to WAV. Нажимаем "F6" и в окне информации смотрим, появилось ли в секции Audio в поле Track 1 "Linear PCM". Если да, то лезем в File->Save Project (или нажимаем "F4"), сохраняем в созданную для конвертирования папку наш проект. Эта же самая последовательность, кроме, конечно, информационного окна (оно не меняется в зависимости от настроек – оно показывает звук, находящийся в вобах).
Сейчас нужно принять ещё одно решение – в какой контейнер Вы будете класть свой фильм. Предлагаются три варианта: AVI, OGM, MKV (Матрёшка;). OGM отсекается как очень медленно развивающийся, мало кем поддерживаемый, да и не самый функциональный. Остались два гиганта: AVI – гигант совместимости, да и просто с детства знакомы всем и каждому, и проект Матрёшка (Matroska) в лице файлов *.mkv, в который можно запихнуть почти все, что душе угодно и на что хватит фантазии (утрированно, конечно ;-). Большим минусом стандартного AVI является то, что при упаковке "нестандартного" ogg'а в него могут возникнуть проблемы с проигрыванием. Лично я для себя давно решил и делаю все фильмы в матрёшке. Матрёшка – открытый проект и также весьма быстро развивается (постоянно начинает поддерживать всё новые кодеки и форматы). А ещё мелочь, но приятно – у матрёшки, по сравнению с AVI, значительно меньше уходит на чередование аудио и видео (при отсутствие рассинхрона!) – это, допустим, 2 мегабайта против 8 (разница фактически небольшая, но в 4 раза). Если выбор пал на AVI, то звук будем делать в mp3, а если самый интересный вариант – MKV, то звук будем упаковывать в ogg (на самом деле, туда можно засунуть и AAC, и многое другое, но это уже совсем в другой раз). Рассмотрим оба варианта (mp3 и ogg):
MP3
Итак, перед нами имеется файлик *.wav, из него сейчас будем получать mp3. Для этого нам понадобится собственно аудиокодер и LAME (и графическая оболочка к нему, можно, конечно, и без неё, – Razor Lame (актуальная версия – 1.2.0)).
Выкачали, распаковали, запустили. Перед нами возникла такая оболочка:
Нажимаем кнопку "Add" добавляем нашу дорожку, добавив, лезем в Edit->Options и показываем программе, где у нас лежит сам кодер LAME, показали, далее спускаемся на строчку ниже, Edit->LAME Options. В появившемся окошке сразу же лезем на закладку Expert и ставим "Only use custom options". Далее вписываем строчку: "--abr 96 -h --nspsytune --athtype 2 --lowpass 16 --ns-bass -8 --resample 44.1"
Несложно догадаться, что итоговый битрейт получится около 96 kbps, можно поставить 112, или при огромной экономии 80, но не ниже. Конечно, 96 – это тоже немного, но для большинства случаев подойдёт.
OGG
Сразу оговорюсь, что ogg хорош тем, что он значительно лучше LAME'а (в свою очередь lame - лучший кодер mp3) жмёт звук. Поэтому здесь можно и до 64 битрейт опустить, если очень нужно. А стандартно советую примерно 80. Выкачиваем ogg, библиотеки, нужные для его запуска, лучше с тюном aoTuV (актуальная версия «Oggenc2.81 using aoTuVb4.51»). С ним значительно проще, и не нужно запоминать огромную строчку, поэтому можно действовать из командной строки. Нужно запомнить всего-навсего то, что -q 0 равняется битрейту 64, -q 1 = 80, -q 2 = 96. Больше битрейта 96 на звук я отводить не советую (само собой, это относится только к OGG'у). Как правило, 80 "хватает с головой". Само кодирование не представляет чего-то сверхгениального: создаёте текстовый файл, меняете расширение на *.bat, открываете его и записываете всего одну строчку: "oggenc2.exe -q 1 название_вашей_дорожки.wav".
6. Создание avs-файла, фильтры, и подготовка настроек кодирования
Вернёмся к нашим баранам, точней сказать, оболочке GK (DGMPGDec можно уже закрыть), переходим на закладку "Битрейт". Для начала смотрим в нижний правый угол и видим раздел "Сохранить".
Нажав на выпадающее меню, Вы увидите 16 позиций, предназначенных для сохранения настроек кодирования фильмов. Это весьма удобно, т.к. у каждого фильма свои настройки кроппинга, битрейта видео, звука, длительности. Нажимаем "Переим.", называем так, чтобы потом смогли понять, какой это фильм, и в следующий раз выбрать другой, свободный слот. А ещё есть две кнопочки "->" и "<-", соответственно сохранить и загрузить настройки в/из внешнего файла.
Выставляем выбранный Вами контейнер, кодек сжатия, выставляем в "Режим"-е "Считать средний битрейт", кол-во CD на которые кодируем, размер одного CD советую ставить 703, а не 700, т.к. стандартные диски "штатно" вмещают 703Mb. В секции "Чередование & Перерасход" обязательно нужно поставить флаг "Подсчитать превышение размера". Если у Вас одна звуковая дорожка (например, один перевод), то надо выбрать в выпадающем меню "Audio 1" тип звука, а "Audio 2" не трогаем. Кол-во кадров, через которые будут чередоваться потоки, лучше выставлять 1 или 2, если больше – возможна рассинхронизация, но чем реже чередование, тем меньше битрейта уходит. Это в случае AVI, матрёшка лишена такого недостатка, ей без разницы кол-во кадров. В левом нижнем углу имеется кнопочка "Открыть", настало время ей воспользоваться. Выбираем наш проект *.d2v и перед нами возникает окно с кадрами фильма. Оно нам ещё понадобится, поэтому сворачиваем его и возвращаемся к закладке "Битрейт". Теперь выбираем звуковую дорожку в секции "Audio A", если их 2, то и в "Audio B", иначе оставляем. (Ещё есть интересная кнопочка добавить в секции "Файлы" для добавления размера файлов титров, менюшек, второго видеопотока, но нас ничего из перечисленного не интересует, её просто игнорируем.) Внизу около кнопки "Открыть" имеется секция "Кадры" с общим кол-вом кадров в фильме и fps, на которые стоит обратить внимание. Если Вам нужно будет делать IVTС, то поменяйте fps с 29.970 на 23.976. В остальных случаях у Вас сразу после открытия проекта должно быть или 25 (Pal'овский исходник) или 23.976 (Forced FILM). Далее ползём на закладку "Разрешение". Теперь нужно развернуть окно с кадром из фильма. Сразу же стоит выставить в меню "Смотреть" галку "С изменённым размером". Проверяем, правильное ли входное разрешение стоит, вспоминаем, NTSC (=FILM) у Вас или PAL.
П равим, если не правильно, далее смотрим на картинку, если она сплющена – меняем "Пропорции вх. изображения". Теперь нужно сделать кроппинг (обрезание черных линий по краям), это
необходимая операция и её нельзя игнорировать. Сначала нажимаете кнопку "Авто" в секции
«Урезать…»,
р езультат автоматического урезания
дождавшись окончания, перетягиваете ползунок для нахождения светлых краёв экрана, и, выбрав "Попиксельно", дорезаете, чтобы нигде не было видно чёрных полос, они будут мешать сжатию!
до такого результата нужно урезать
Т еперь ставите "Умное урезание (полное)". Теперь нас интересует "Выходное разрешение" и краем глаза сверяемся с величиной "Бит/(Пиксель*Кадр)" внизу оболочки по центру. Это замечательная величина была создана разработчиками GK и сейчас часто применяется. Она определяет, каким кол-вом (а точнее, частью) бит описывается каждый пиксель. Не стоит зацикливаться на определение, со временем поймёте её значение. Опускать ниже 0.15 (0.1 для x264) и делать выше 0.22 (0.18 для x264) лично я смысла не вижу, и Вам того не советую. Само собой, не только от этого соотношения зависит итоговое качество, оно ещё зависит от разрешения, общего битрейта и кол-ва движения в фильме, но в гораздо меньшей степени. Опять-таки, из всех правил бывают исключения: иногда фильм с 0.25 смотрится куда хуже, чем фильм с 0.15. А иногда наоборот. Везде нужно искать компромисс, учитывая, что на динамичные фильмы требуется увеличивать это значение, а для мелодрам, как правило, будет хватать и 0.15. В общем, если Вас сильно интересует качество, приготовьтесь к тому, что Вам придётся конвертировать по нескольку раз один и тот же фильм, меняя параметры настройки и добиваясь наилучшего качества. Вернёмся к выходному разрешению. Сразу стоит выставить делители ширины и высоты. Они нужны для совместимости со стационарами и некоторыми кодеками. Как правило, хватает 16 по ширине и 8 по высоте (XviD и x264 нормально переваривают и 8x8 и якобы ещё меньше, но я не экспериментировал). Выставив их, приступайте к тяганию ползунка. Также необходимо поглядывать на "Ошибку пропорции" – не стоит допускать её больше 2%. Кодируя для себя, я держу не больше 1%. Но и 2 процента – это не критично. Теперь, смотря на кол-во пикселей и "Бит/(Пиксель*Кадр)", Вы должны найти золотую середину. Из моей практики могу сказать, что 150тыс пикселей, в принципе, дают нормальный результат, хотя я стараюсь держать около 200тыс пикселей (я всегда кодирую фильм более чем на 1Гб!). Каждый для себя со временем сам всё решит и научится находить свой оптимум. Ещё для подобных вещей предусмотрена замечательная штуковина, называемая "Тест сжимаемости", но о нём позже. Покончив с предполагаемыми параметрами, вернёмся к окошку с кадрами фильма, оно нам поможет создать avs-скрипт. Нажимаете кнопку "Сохранить & Кодировать", и появляется окно с множеством закладок (но его не стоит бояться :-). На первой закладке "Prepare" в выпадающем меню "Movie" выбираете, если не стоит по умолчанию, "LanczosResize" - это бесспорно, лучший метод изменения размера. Всё остальное оставляете, как есть, и идёте далее – на закладку "Prepare (Options)". Тут сразу же вспоминаете или лезете за бумажкой, на которой указано, интерлейсинговый у Вас материал или прогрессивный или вообще телесиненный! Если телесин, то нажимаете самый нижний пункт "Inverse Telecine", соглашаетесь с предупреждением и идёте далее. Если же у Вас интерлейсинговый материал – выбираете "Field Deinterlace (no blend)". Ну а в случае прогрессива Вы оставляете "None" и, не долго думая, определяетесь, зашумлён ли у Вас фильм или нет, при этом стоит заметить, что фильтры не только избавляют от некоторых дефектов изображения, но и замыливают или убирают полезные детали фильма, поэтому с шумовыми фильтрами будьте осторожней. Но практически всегда, присутствует небольшой шум в виде время от времени проскакивающих чёрных пятнышек, связанный с оцифровкой киноплёнки, так что я почти всегда нажимаю "Little" и, переходя на следующую закладку "Filters", отключаю "FluxSmoothST" и "mergechroma" (хотя при PAL'овском сигнале его можно оставить, когда проскакивают цветовые дефекты сжатия PAL'а). N.B. Если Вы не поставили "Little", а оставили "None" в секции "A – Noise Filter" на предыдущей закладке, то на закладке "Filters" у Вас ничего не будет, кроме RESIZE.
в кружочках видно, что на волосах разные оттенки (чаще всего встречается «ржавчина»)
Теперь можно провести "Тест сжимаемости". Переходим на закладку "Compressibility Check", поставить "Use" и нажав кнопку "Codec settings" выбрать "Single Pass", и в поле "Target quantizer" выставить 5.00, если там не стоит, осталось только нажать "OK" и "Now". Дождавшись окончания теста, обратите внимание на секцию "Тест сжимаемости" по середине внизу.
Если в процентном соотношение Ваш битрейт 60% или выше от тестового, Вы можете с чистой совестью можете продолжить кодирование, если между 60 и 35 – стоит подумать, "можно ли откуда-нибудь ещё извлечь битрейта?" Если нет – так нет, кодируйте так, если получится уж слишком погано, тогда нужно будет уменьшать разрешение или увеличивать итоговый размер. Если меньше 35 – плохо, нужно что-то делать! Хотя, опять же, бывало и хуже и ничего – нормально получалось. Но не стоит на это полагаться.
7. Собственно кодирование
На окне с кадрами фильма перетягиваем ползунок до начала титров, и нажимаем кнопочку "Начало титров", при этом визуально ничего не произойдет, только наверху появится, что кадр "такой-то – начало титров". Нажимаем "Сохранить & Кодировать", ещё раз пробегаемся по всем закладкам, проверяя наличие и тип фильтров (деинтерлейсинг/ivtc, шумодавы) и наконец-то нажимаем в самом низу слева "Save & Encode". Сохраняем наш avs-файл, открывается новое окошко. В нём в закладках "Аудио" выбираем нужную дорожку, если она ещё не выбрана, и "Только объединить". Опять же, если у нас только одна звуковая дорожка, то "Аудио 2" не трогаем. Получается примерно так:
Переключаемся на закладку видео "XviD" и ставим "При необходимости пересчитывать битрейт" и "Кодировать титры в среднем качестве – 20" (если доступна). Нажимаете "Добавить задание в очередь" и если кодируете не один фильм, то отказываетесь от немедленного выполнения, подготавливаете и добавляете в задания. Когда список работы будет составлен, жмёте "Запустить". Собственно, осталось только ждать и наслаждаться либо плеваться (будем надеяться, с Вами такого не будет ;-) по окончании.
Удачного кодирования и побольше желания делать новые рипы, всё лучше и лучше!
14.04.2005г.
Автор: Александр "SCIF" Журавлёв
e-mail: scif@atlas-2.ru , scif@iatp.festu.ru
Домашняя страница.
icq: 701532
Материал брался из собственного опыта, форумов mediatory.ru и doom9.org и многочисленных материалов сети Internet. Также спасибо Андрею "AndrRomeda" Третьякову за отзыв о непонятных моментах в статье и добавление. Буду рад любым замечаниям. Данная статья является интеллектуальной собственностью её автора, любое распространение, использование, цитирование должно согласовываться с автором.
N.B. (Рассмотрим второй случай. :-) Если вдруг у Вас конвертирование закончилось аномально быстро (у меня – 20 мин, и всё готово), а потом в логе пошли "предупреждения", и результирующая AVI-шка получилась никудышней (кадры скачут через 5 мин фильма, и сама длится также 20 мин), то делаете следующее. Открываете вручную Ваш avs-файл в Блокноте и находите там строчку "SelectRangeEvery(280,14)". Если перед ней не стоит #, то поставьте. Т.е., в итоге должно быть так: "# SelectRangeEvery(280,14)". Сама строчка без кавычек, разумеется. Сохраняете, затем в GK снова выбираем наш avs кнопкой "Добавить" на последней закладке "Кодирование". Далее всё то же самое, и жмёте "Запустить". Кодирование должно пойти гораздо медленнее, зато получите результат! – AndrRomeda.
SCIF: Если у Вас произойдёт такая ситуация, то очень сильно хотелось бы её изучить. Напишите мне об этом и не стирайте Ваши исходные файлы.
Достарыңызбен бөлісу: |