Поиск:

Вернуться   Форум > Кино > Видео Лаборатория

Видео Лаборатория Техническая поддержка.

Ответ
 
Опции темы
Старый 04.08.2006, 12:20 Вверх     #1
Masah
Друг
 
Аватар для Masah
 
   Возраст: 51
Регистрация: 20.08.2005
Был(а) у нас: 08.01.2008 07:41
Сообщений: 527

Пол: Мужской
По умолчанию Руководство по приготовлению DVD рипов кодеком XviD и программой VirtualDub-MPEG2.

Руководство по приготовлению DVD рипов программой VirtualDub-MPEG2 и кодеком XviD.


Данное руководство написано с целью ознакомить потенциальных рипперов с некоторыми общими вопросами кодирования видео и дать им простой, но достаточно качественный и эффективный инструмент для приготовления DVD рипов с помощью кодека XviD и прораммы VirtualDub-MPEG2. Автор, а также корректоры и редакторы данного руководства очень надеются, что, освоив методику кодирования, изложенную в этом пособии, вы, уважаемые новоявленные рипперы, не остановитесь на достигнутом, а обязательно перейдёте к более мощному и широкому по предоставляемым возможностям инструменту – связке Avisynth и VirtualDubMod.
Данные рекомендации с успехом опробованы и хорошо себя зарекомендовали при кодировании DVD материала PAL и NTSC, как цветного, так и чёрно-белого, с прогрессивным и интерлейснутым изображением и частотой кадров 25 и 23,976 в секунду. Весьма вероятно, что при попытке кодировать иной материал (оцифровки видеокассет, TV сигнала), вы, уважаемые начинающие рипперы, столкнётесь с вопросами, ответов на которые здесь не найдёте. Пожалуйста, имейте это в виду.

Уважаемые рипперы, принимавшие участие в создании руководства! К сожалению, не все ваши теоретические выкладки нашли своё отражение в окончательном варианте. Я взял на себя смелость и подвергнул их некоторой редакции для упрощения понимания излагаемого материала новичками. Надеюсь, вы с пониманием отнесётесь к этому решению.

В написании руководства принимали участие:

agor, - формула расчёта соотношения сторон для разных форматов и типов изображения, ресайз, частота кадров, проходы, матрицы квантования.
grif - стандарт MPEG4, помощь в формировании структуры руководства в целом.
valja - соотношение сторон, структура видеоряда стандарта MPEG4, типы кадров и их отличия, оптимальный выбор фильтра для ресайза изображения.
Legas - идея создать руководство, ключевые кадры, зональное кодирование, цветовые пространства YV12 и RGB, тестовые кодирования, ряд общих замечаний и уточнений, выбор фильтра для ресайза изображения, настроики для совместимости со стационарными проигрывателями, web-оформление.
Рыжий Тигра AKA Elic - проходы, криволинейная компрессия, ключевые кадры, цветовые пространства, происхождение артефактов при кодировании сцен с градиентом яркости, различие форматов звука, ряд общих замечаний по структуре руководства.
Ночной сторож, http://forum.xvid.ru/ - b-frames, ресайз, форматы звуковых дорожек, терминология, ключевые кадры.
Ещё одно лицо, http://netlab.e2k.ru/, пожелавшее остаться инкогнито: общие вопросы и принципы кодирования, существенные уточнения терминологии.
Masah – претворение идеи: общее описание процесса, набор текста, скриншоты, тестовые кодирования.



Этап I: сброс содержимого DVD на жёсткий диск.



Запускаем DVD decrypter. Справа мы видим содержимое имеющегося DVD, снизу - лог работы. Всё, что нам необходимо для рипа - файлы с расширением *vob. Именно они содержат видеоряд (или ряды), аудиодорожки и потоки субтитров. Отмечаем их вручную или в меню "Edit" выбираем "Select main movie files". Затем проверяем выделенное и при необходимости добавляем необходимые *vob-ы вручную с нажатым ctrl. Помните, что заставки и рекламные ролики - тоже *vob-ы, но небольшого размера. Нет смысла их копировать на диск. В графе "Destination" можно выбрать место сохранения содержимого DVD.
Кроме данного режима можно использовать режим "IFO", включив его в меню "Mode". В этом случае, если отметить чекбокс "Enable stream processing" (закладка "Stream processing"), станет доступен сброс выделенных потоков напрямую с диска. Для копирования потоков по отдельности отметьте чекбокс ”Demux” и выделите каждый поток.
У меня этот режим работает некорректно - происходит сброс не всех выделенных дорожек, а только видео, несмотря на отмеченные потоки. Поэтому я использую режим "File".

Ещё одна настройка, которую можно использовать - установить разбиение конечного файла. Это делается в меню "Tools" - "Settings" - "File splitting" отдельно для "File mode" и Ifo mode". Если поставить "None", мы получим один большой *vob и *ifo к нему.
Помните, что в этом случае необходима файловая система, отличная от FAT16 и FAT32 (для Windows) на том разделе жёсткого диска, куда мы сбрасываем *vob. Нажимаем большую кнопку и после окончания операции закрываем DVD decripter. Больше он нам не нужен.
Итак, мы имеем 2 файла с примерно такими именами: VTS_01_0.ifo и VTS_01_1.vob. В дальнейшем нам понадобится только *vob (-ы).


Этапу II: демаксинг *vob-ов.

Запускаем DGIndex.
1. Открываем первый *vob. Он обозначается примерно так: vts_01_1.vob, затем в открывшемся окне последовательно добавляем остальные *vob-ы кнопкой «Add» и нажмаем ок:
2. Не трогая никаких настроек в меню ”File” выбираем "Save project and demux video". Указываем директорию для сохранения файлов.
3. когда программа закончит работу (статус: finish) запомните частоту кадров - framerate.
Мы должны получить файл с расширением *m2v - видеоряд без звука и субтитров, *d2v - проект для Avisynth, который нам не понадобится, и файлы аудиопотоков - сколько дорожек, столько и файлов с соответствующм расширением - на DVD это может быть *AC3, *DTS, *AAC, *MPA и *PCM. Более DGIndex нам не нужен.

Этап III: кодирование звуковых дорожек.


Большинство рипперов кодируют звуковые дорожки в формат *MP3, кодек - Lame или MPEG Layer-3. Если фильм не музыкальный, и не имеет 5-ти или 6-тиканального звука, то достаточно 48000 Hz, 96 – 128 kbps, stereo. Использование переменного битрейта целесообразно только в том случае, если ваш рип не будет разрезаться на куски или склеиваться из двух кусков в один. Иначе человек, осуществивший операцию резки/склейки, получит рассинхронизацию звука с изображением, для избежания которой ему придётся заново перекодировать звук в тот же формат с постоянным битрейтом. Это касается и файлов со звуком *AC3 - при склеивании таких файлов в месте стыка появляется громкий щелчок с последующим снижением уровня громкости. Такой звук можно, конечно, починить, но ведь мы делаем рип для просмотра, а не конструктор "Собери фильм сам", верно? Резюмируя вышеизложенное, можно предложить следующие рекомендации:

1. если наш рип подразумевает возможность деления/склеивания, например, 1,4 GB на 2 по 700 MB и наоборот, и вы делаете звук *MP3 - кодируйте с постоянным битрейтом.
2. Если вы оставляете звук *АС3 - не режьте файл на части, чтобы не создавать проблем людям, имеющим DVD-райтеры и желающим смотреть фильм как одно целое. Плюс, в последнее время проскакивают сообщения от пользователей, говорящие, что имеет место рассинхронизация видео и аудио при кодировании последнего с переменным битрейтом при просмотре на стационарных DVD проигрывателях с поддержкой MPEG4.
3. следует попытаться оставить оригинальный звук *АС3, даже если это просто стерео. Одним из достоинств АС3, помимо широко известной панорамности и многоканальности звука, является DRC, сжатие динамического диапазона. Поскольку AC3 разрабатывался для кинотеатров и домашнего видео, а акустика у них разная, то был предусмотрен дополнительный поток данных - управление усилением звука. Как правило, этот поток сочиняется звукорежиссёром
фильма ещё на стадии монтажа. Перепаковка в МР3 убьёт динамический диапазон звукового ряда. Таким образом, если замысел режиссера нем не безразличен - оставляйте AC3.

Итак, нам понадобиться программа BeSweet и графическая оболочка для неё – BeLight. Просто поместите файлы BeSweet в директорию с файлами оболочки:
А затем запустите BeLight.exe. ”File” – ”Open” – загружаем нужный файл или файлы.
Переходим на закладку требуемого формата, в нашем случае – MP3 и ставим требуемые настройки. Если мы зайдём в ”Advanced settings’, то увидим следующее:
Здесь, если мы кодируем материал с частотой кадров отличной от 25 в секунду, и мы планируем привести её именно к этой цифре – например, с 23,976 до 25, то тоже самое надо сделать и со звуком, иначе мы получим рассинхронизацию. Стартовую и требующуюся частоту кадров ставим в соответствующие окошки, отметив чекбокс ”Convert Frame Rate From…” Запускаем кодирование. Получившийся файл по умолчанию помещается в папку исходного.

Этап IV: кодирование видеоряда.


Получившийся *m2v открываем в VirtualDub-MPEG2. Затем идёт следующая последовательность действий в указанном порядке:

1. Если нужен деинтерлейсинг - устранение гребёнки по краям объектов в кадре, выбираем фильтр deinterlace, а в нём - первый алгоритм – ”Blend fields together”. Можно использовать внешние фильтры, которые, по оценкам риперов дают лучший результат, например, Smart Deintarlace

2. Производим кроппинг - с тех сторон кадра, где есть необходимость, на должное количество пикселей. Оперируя ползунком на таймлайн можно найти наиболе удобное место для этого

3. Добавляем фильтр ”Resize” и указываем желаемую высоту - height и ширину - width кадра. Высота должна быть кратна 16, а ширина - 32. Однако можно провести ресайз с кратностью и длины, и ширины равной 16 - в том случае, если такое отступление даст возможность сохранить или максимально приблизиться к оригинальному aspect ratio. Если это не удаётся и получаемое соотношение сторон далеко от оригинального, желательно сохранение кратности по ширине равной 32. Некоторые рипперы сообщают о появлении нежелательных артефактов при декодировании видеопотока при отступления от этого правила.

Стоит быть готовым к тому, что после кроппинга, особенно значительного, особенно неравномерного с разных сторон кадра, сохранение исходного соотношения сторон (Aspect ratio) весьма и весьма затруднительно. Обратите внимание на этот параметр в разных рипах других людей и вы увидите огромный разброс: 2,44:1, 1,72:1, 1,26:1, 1,38:1... Две важнейшие составляющие нам надо втиснуть в рамки жёстко заданного aspect ratio:

а. правильная геометрия кадра;
б. кратность длины сторон кадра.

Не факт, к сожалению, что они удачно соотнесутся друг с другом. Тогда все бы делали рипы со стандартным соотношением сторон - 4:3 или 16:9 и мы бы не имели такого разнообразия этого параметра.

Однако попробовать стоит. Рассчитаем необходимое соотношение сторон по пропорции (для исходного 4:3):
4:3 = высота (пикселях):ширина (пикселях), причём ширина кратна 32, а высота - 16.

Реальный пример: кадр с разрешением после кроппинга 672*464. Высота (она более важна, поэтому пляшем от неё) - 464. Делим на 32, получаем 464/32=14,5. Округляем до 14 (помним про кратность!) Итоговая ширина получается 14*32=448. Таким образом, пропорция имеет следующий вид:

4:3 = высота (пикселях):448. Отсюда по правилу решения пропорций (произведение крайних членов пропорции (в нашем случае это 4 и высота, то есть 448 равно произведению средних членов (3 и искомая высота)), вычисляем требуемую длину:
ширина = 4*448/3 = 597,3. Делим 597,3 на 16 (помним про кратность!), получаем 37,3. Округляем до 37, умножаем на 16, получаем 592. Искомое разрешение нашего кадра, максимально близкое к aspect ratio 4:3, так как мы округляли (0,5 пикселя мы отбросили по высоте - 14 вместо 14,5 и 0,3 - по ширине - 37 вместо 37,3) - 592*448. Проверим:
4/3 = 1,3(3), 592/448=1,321 То есть финальный кадр будет чуточку уже стандартного, очень не намного. В фильтр ”Resize” подставляем найденные значения - 592 и 448 и сохраняем. Но (!) - вернее, большое жирное НО! - если предпросмотр показывает нарушение геометрии кадра, круглое у вас не кругло, квадратное не квадратно, то хоть тресни, а придётся:

а. попробовать принять кратность по высоте равной 16.
б. отступать от правила кратности вообще - большой минус рипа, так как может сделать его несмотрибельным, да и просто дурной тон;
в. Сделать кроппинг больше или меньше необходимого – исключительно теоретическая опция;
г. отказаться от стандартного соотношения сторон, то есть выбрать меньшее зло, что и делает большинство риперов.
В нашем примере так и произошло. Арифметически рассчитанное разрешение сопровождалось искажением картинки – она выглядела вытянутой по вертикали. После коррекции вручную нормальная геометрия кадра появилась при разрешении 704*448.

Учитывая, что соотношение сторон пикселя на DVD равно 1,094 для PAL 4:3, 1,459 для PAL 16:9 и 0,9113 для NTSC 4:3 и 1,215 для 16:9, для нашего примера можно воспользоваться следующей формулой:

Искомая ширина (для нашего примера)= ширина после кроппинга (672)*соотношение сторон пикселя (1,094)*желаемую высоту (448 )/высоту после кроппинга (464) = 709. Округляя её по правилу кратности (709/16=44,3 => 44*16=704), мы получили ту же ширину, но автоматически. «И не надо мучить глаза», - как сказал один риппер. Более подробно о правильном ресайзе и выборе разрешения кадра можно прочитать здесь.

5. Предпросмотром убеждаемся в отсутствии геометрических искажений, причём делаем это как можно более тщательно, просмотрев не менее 20 кадров из разных частей видеоряда. Я сравниваю пропорции картинки на мониторе и телевизоре, на экране которого запускаю оригинальный DVD.

6. В ниспадающем меню ”Filter Mode” выбираем один из алгоритмов интерполяции. Некоторые риперы указывают на следующие особенности разных алгоритмов интерполяции: "Precise Bicubic" - он дает четкую картинку и в то же время сглаживает (при уменьшении) шумы, "Precise Bilinear" - он больше сглаживает картинку и способствует повышению сжимаемости видеоряда, ”Lancros3” – даёт самый чёткий ресайз. Я использу. этот алгоритм.


7. Имеющиеся в окне фильтров два чекбокса не отмечаем и нажимаем ок. Фильтры выбраны, приступаем к кодированию. Стоит ещё раз обратить внимание на последовательность включения фильтров: деинтерлейсинг, кроппинг, ресайз. В противном случае можно получить артефакты в виде чёрных полос или неожиданные пропорции кадра.


Итак, настройки кодека. В начале немного теории.

Стандартный рип, сделанный кодеком XviD, содержит 3 типа кадров (frames):

1. ключевые кадры - i-frames
2. промежуточные кадры - p-frames
3. b-frames - аналога на русском я не знаю.

i-frames содержат видеоинформацию и кодируются с минимальным сжатием, следовательно, имеют максимальную детализацию изображения; размер их по моим наблюдения составляет от 4 килобайт до 150 килобайт; навигация по видеоряду, операции резки/склейки осуществляются только по i-frames. В начале видеоряда всегда стоит ключевой кадр.

p-frames содержат видеоинформацию об отличии видеокадра от предыдущего - то есть, при его распаковке мы получим не полный кадр, а, грубо говоря, отличие от предыдущего. На статических сценах кадры меняются сравнительно мало, поэтому отличия содержат меньше видеоинформации, чем полный кадр, и, благодарая этому, p-frames значительно меньше, чем i-frames. Но, для получения полного видеокадра, нам нужно иметь полный предыдущий кадр, чтобы добавить к нему это отличие. Для получения следующего – полный предыдущий и так далее, то есть, нам нужно декодировать подряд всю цепочку кадров, начиная с ближайшего i-frame, имеющего полную информацию о кадре.

b-frames содержат видеоинформацию, вычисляемую по двум кадрам - предыдушему и последующему. Алгоритм весьма сложный, разный у разных кодеков. Очень грубо говоря, делается однозначная и легко вычисляемая интерполяция между предыдущим и последующим кадрами, и b-frame содержит информацию о том, насколько реальный кадр отличается от этой интерполяции. Поскольку чаще всего предыдущий и последующий кадры, как правило, p-frame, (хотя может быть и i-frame), а b-frame вычисляется по их отличию, то он является разницей между двумя разницами. Это очень грубая аналогия, конечно. Они разработаны для того, чтобы уменьшить размер файла на выходе и сэкономить битрейт для кодирования i-frames и p-frames. Например: нам надо закодировать, чисто теоретически, 3 одинаковых кадра: i, p и ещё один p с битрейтом 20 бит/сек. На i-frame уйдёт 10 бит, на p-frames - по 5 бит соответственно. А теперь представьте, что вместо одного p-frame у вас b-frame, на который уйдёт не 5, а 3 бита. Оставшиеся 2 бита кодек добавит либо к i-frame, либо к p-frame - куда нужнее, тем самым увеличив качество данного кадра, то есть детализацию. Это раз.

Два: размер b-frame будет меньше, чем заменённого им p-frame (данное справедливо для кодека XviD), так как b-frame - это не картинка, а разница между двумя другими разницами, как было сказано выше. Таким образом, мы выигрываем ещё и в размере.

Итак, стандартный видеоряд представлен следующей последовательностью кадров:

i-p-b-p-b-p-b-p-b-p....i в следующей пропорции (она установлена в кодеке по умолчанию и может быть изменена): ключевой кадр, по 150 чередующихся p-frames и b-frames, и вновь ключевой кадр. То есть на 300 кадров видеоряда мы имеем 1 ключевой кадр. Это, я напоминаю, по умолчанию; в то же время кодек, определяя начало новой сцены, ставит первым ключевой кадр; таким образом, этот параметр не значит, что у нас на 300 кадров действительно будет лишь 1 ключевой; как минимум, их будет столько, сколько новых сцен в данном отрезке видеоряда. Разные рипперы используют разное количество, вернее, величину этого параметра – от 100 до 10 000. Количество ключевых файлов влияет на три параметра:
1. облегчение навигации по фильму и операций резки/склейки;
2. качество видеоряда;
3. размер файла;

Второй элемент кодирования, который нужно рассмотреть - квантайзер. Это так называемый DRF - Detail Removal Factor - величина, показывающая степень потери детализации изображения, то есть обратно пропорциональная качеству. Чем больше квантайзер, тем меньше детализация кадра. Визуально это проявляется появлением блоков - квадратных артефактов в кадре. Соответственно, чем меньше квантайзер, тем больше детализация кадра, следовательно - его качество, а также битрейт, необходимый для его сжатия и, - частично - его размер. По умолчанию минимальный квантайзер равен 1; максимальный – 31.

Третий теоретический элемент, который каждый знает, но, возможно, плохо представляет себе, что же это такое (так было со мной) - битрейт. Что это такое легко понять на элементарном житейском примере:

представьте себе, что нам надо отправить почтой открытку. Если размер почтового ящика равен или больше размера открытки, то проблем не возникнет. А если нет? Тогда вы берёте и делаете копию открытки, уменьшив её размер до размера ящика. Соответственно, часть деталей при этом неизбежно теряется. А теперь представьте, что у вас 150 000 открыток (1:40 продолжительность видеоряда) и один почтовый ящик. Ящик, точнее его размер - как раз и есть битрейт, в который кодек должен поместить кадры (открытки). Представьте теперь, что этот ящик резиновый, но, втиснув в него очень большую открытку, другую мы должны будем пропорционально уменьшить – это пример переменного битрейта, с которым кодирует XviD. А операция по уменьшению, сопровождающаяся потерей детализации, называется квантизацией, степень уменьшения детализации - соответственно, квантайзером.

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

Теперь мы подошли к так называемому Quality Factor-у. Этот индекс качества рассчитывается следующим образом:

QF = средний битрейт (бит)/количество пикселей в кадре (т. е. высота*ширина)*частоту кадров/секунду (pal - 25). Как вы видите, основными составляющими этого индекса, которыми стоит оперировать, являются битрейт и разрешение кадра. Битрейт прямо-, а разрешение обратнопропорционально ему. Считается, что для цветных рипов вполне достаточно 0,23, для чёрно-белых - 0,13. В качестве примера,рассчитаем его для моего рипа "Сломанных цветов":

QF = 1036*1000 (переводим в биты)/720*384 (разрешение кадра)*25 (частота кадров в фильме) = 0,150 бит/пиксел! То есть более чем в полтора раза меньше требуемой! Тем не менее, по самому рипу этого не скажешь. В последнее время многие рипперы не придерживаются этого правила, без заметных на глаз потерь в качестве кодирования.
Второй показатель качества кодирования - средний квантайзер. Возможно, он более объективен: допустим, у нас есть динамичный видеоряд, сложный для кодирования и спокойный - более простой. При одинаковом битрейте и разрешении, а следовательно, и QF, качество кодирования тоже должно быть одинаковым. Однако это далеко не факт, что подтверждается практикой. Таким образом, для оптимальной оценки качества рипа следует использовать два этих показателя.

Теория закончена. Перед тем как приступить к кодированию, следует настроить кодек и VirtualDub-MPEG2 для кодирования в цветовом пространстве YV12. Использование YV12 позволит сохранить оригинальную цветовую палитру видеоряда и увеличит скорость кодирования до 20 – 30% за счёт отсутствия перекодировки сигнала в RGB. Преимущества данного пространства перед RGB, что стоит по умолчанию, можно прочитать здесь. Для этого делаем следующее:

1. Устанавливаем в настройках декодека XviD YV12 в ”Output Colourspace”:
2. В разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 создаём строковый параметр vidc.yv12 со значением xvidvfw.dll: правый клик => New => String value:
3. Затем вновь правый клик по созданному параметру, Modify и прописываем xvidvfw.dll в строке ”Value data”. Должно быть так:
ОК и закрываем редактор реестра.
Или создайте файл *TXT, скопируйте в него следующую строку:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"vidc.yv12"="xvidvfw.dll"
и измените его расширение на *REG и запустите.

3. Теперь запускаем VirtualDub-MPEG2. Меню ”Video” – ”Color Depth”. Ставим настройки согласно скриншоту и сохраняем по умолчанию.
Теперь, когда всё настроено, переходим к компрессии.
Открываем *m2v в VirtualDub-MPEG2, ждём, затем ”Video” – ”Full processing Mode” (если стоит по умолчанию) - сразу ”Compression”.
В левом окне выбираем XviD, затем ”Configure”. В открывшемся окне настроек перед каждой кодировкой или после каждого обновления кодека рекомендуется нажать ”Load defaults” и приступаем:
1. ”Profile @ level” - набор готовых предустановок кодека для пригтовления рипов. Подробно описание каждого профиля можно прочитать тут. Выбираем ”Unrestricted” - для установки всего вручную.

2. после выбора нажимаем ”More”, располагающуюся рядом. Закладка ”Profile”.

”quantization type” - выбор матрицы квантайзеров: ”H.263” - для низкобитрейтных рипов (до 900 kb/s), ”MPEG” - более 900, ”MPEG Custom” - редактировать матрицу. Выбираем этот пункт, если хотите загрузить нестандартную матрицу квантования. Я тестировал стандартную матрицу ”MPEG”, обе матрицы ”Bulletproof-а”, обе матрицы ”Jawor-а”, ”Professional”, ”Packed DVD by Fl0ppy” и ”Ultimate Matrix”. Я не работал с низкобитрейтными матрицами, VHS-матрицами и прочими. В конечном итоге лучшей для моего материала оказалась матрица от Bulletproof-а – ”Bulletproof's High Quality Matrix”. Однако в случае с кодированием аниме, в котором мне однажды довелось принять участие, она просто спасовала – её результат был худший из пяти опробованных. Уверен, что стоит поэкспериментировать с различными матрицами.

”Adaptive quantization” – снижение битрейта кодеком в тех местах кадра, где, по его мнению, разница в цвете не заметна человеческому глазу (что-то наподобие психоакустической модели в кодеке Lame). ”Global motion compensation” - сохранение большего количества бит информации при кодирования панорамного движения соответственно - использую при необходимости, если в фильме много такого движения. Включение ”Global motion compensation” исключит воспроизведение рипа на стационарных плейерах с поддержкой MPEG4. Кроме этого, разработчик кодека настоятельно рекомендует использовать данную опцию совместно с ”VHQ Mode” - будет описано ниже.

”Interlace encoding” – сжатие не кадров, а полей. Интерлейсинг включение этой опции не убирает.

”Quarter pixel” – включает алгоритм поиска и определения движения с точностью до четверти пикселя. Я попробовал эту функцию и получил следующее: чёткость картинки приятно возросла на сценах, где не было обилия мелких объектов, однако на сценах, где имелось множество мелких разноцветных деталей, вместе с вышеописанным плюсом появился существенный минус - какое-то мелкое зерно, наподобие снега, в кадре. Пришлось отказаться и кодировать заново. Возможно, если материал не содержит таких деталей, то стоит использовать. Имейте ввиду, что включение ”Quarter pixel” может создать проблемы при воспроизведения рипа на стационарных плейерах с поддержкой MPEG4.

”B-vops” - включает/выключает b-frames:

”Max consecutive b-vops” - количество b-frames, идущих подряд, то есть без чередования с p-frames. Увеличение этого параметра повышает сжимаемость видеоряда. Разные рипперы используют от 1 до 4-ёх идущих подряд b-frames; количество более 1 может вызвать проблемы при воспроизведении рипа на стационарных проигрывателях с поддержкой MPEG4.

”Quantizer ratio” и ”Quantizer offset” - во сколько раз максимум можно кодеку повысить расчётный квантайзер при кодировании и сколько к нему можно ещё прибавить - соответственно. (Помните, что увеличение квантайзера на b-frames приводит к снижению битрейта, требуемого для их кодирования, что, несмотря на то, что снижает их качество, позволяет перераспределить освободившийся битрейт на i-frames и p-frames, что должно повысить качество картинки в целом).

”Packed bitstream” - упаковывает b-frame и следующий за ним p-frame в один поток. Это даёт кодеку возможность декодировать видеопоток без задержки в один кадр. Использование этой функции может затруднить возможность воспроизведения рипа на стационарных плейерах с поддержкой MPEG4 - в зависимости от типа чипа и его прошивки.

Закладка "Level". Здесь нам ничего не доступно.
Закладка "Aspect Ratio" - Pixel aspect ratio – большинство риперов выбирают эту опцию (она стоит по умолчанию) и форму пикселя - square (квадратный) (она тоже стоит по умолчанию).

Теперь нажимаем ок и возвращаемся в главное окно настроек кодека. Повторим, что у нас должно стоять:
”Profile @ level” – ”Unrestricted”;
”Quantization type” - загружена выбранная вами матрица квантования;
”Adaptive quantization”, ”Interlace encoding”, ”Quarter pixel”, ”B-vops” - вариативно. ”Global motion compensation” – также вариативно.
Рекомендуется не раз и не два поэкспериментировать с шестью последними параметрами (”Quantization type”, ”Adaptive quantization”, ”Interlace encoding”, ”Quarter pixel”, ”B-vops”, ”Global motion compensation) для того, чтобы добиться максимально возможного качества картинки.
Далее, в основном окне настроек кодека в ниспадающем меню "Encoding type" выбираем ”Two pass - 1st pass” - первый проход из двух. Кнопаем на ”More”, находящуюся рядом:
”Full quality 1st pass” - включает/выключает полный проход видеоряда. При отмеченном чекбоксе кодек записывает в результат первого прохода не только статистику, но и видеоданные. Это позволяет уменьшить неточность предсказания битрейта кадра с 30-50% до 2-3%, а в итоге позволяет сэкономить битрейт почти на треть. Увеличивает время работы кодека, по моим наблюдениям, раза в полтора минимум. Имеет смысл включить в том случае, если мы не довольны результатом кодирования и вынуждены проводить его второй раз. ”Discard first pass” - не писать реальные видеоданные в выходной поток.

”Stats filename” - место и имя для файла статистики; по умолчанию кодек сохранит его в корень какого-либо диска.

Теперь ок - и мы в главном окне настроек кодека. Идём дальше:

”Zones” - здесь можно указать места видеоряда, где разрешается кодеку значительно снизить битрейт, повысив квантайзер до указанного вами предела при кодировании, например, финальные титры. Кроме этого, в настройках зон можно отметить чекбокс ”Cartoon Mode” – в случае кодирования аниме субъективно это улучшило картинку. Стоит отметить также чекбокс "Chroma optimizer enabled", если вы кодируете мультипликацию.
”Quality preset” - готовые пресеты поиска и обработки движения кодеком. Выставляем всё вручную: в ниспадающем меню выбираем ”User defined” - определяется пользователем, затем нажимаем ”More”. Здесь мы имеем следующее:
”Motion search precision” - точность поиска движения. Чем выше эта точность, тем более качественная получается картинка и тем дольше работает кодек. Я ставлю максимальную точность – ”Ultra high”.

”VHQ Mode” - включает алгоритмы стандарта MPEG4 для поиска движения. Если отключено, то кодек обрабатывает каждый кадр отдельно, и каждый кадр такого видеоряда будет ключевым. Максимум – ”Wide search” в ниспадающем меню. Если мы используем b-frames, обязательно ркомендуется включить эту функцию также и для них.

”Use chroma motion” - включает алгоритмы поиска движения по изменению цвета. Согласно руководству кодека, препятствует появлению блоков.

”Turbo”. Если честно, читая руководство кодека, я просто не понял, что именно она делает - ускоряет ли работу кодека в целом или более точно прогнозирует время работы. Я не использую эту функцию.

”Frame drop ratio” - количество кадров, которое разрешается кодеку оставить незакодированными при условии нехватки битрейта. По умолчанию стоит ноль, то есть кодируются все кадры.

”Maximum i-frame interval” - показывает, сколько кадров (p-frames, b-frames) будет стоять между двумя ключевыми. Этот параметр освещён выше.
Итак, повторим:
”Motion search precision” - Ultra high
”VHQ mode” - Wide search
”Use chroma motion” - отмечено
Turbo – вариативно.
”Frame drop ratio” - 0
”Maximum i-frame interval” – вариативно: от 100 до 10 000.
”Zones” и ”Cartoon mode” – вариативно.

Закладка ”Quntization”. Здесь можно указать минимальный (меньше 1 - нельзя) и максимальный квантайзер на каждый тип кадров. По наблюдениям некоторых риперов, ограничение максимального квантайзера единицей на i-frames значительно улучшает качество статичных сцен. В любом случае помните, что чем больше квантайзер, тем хуже детализация кадра.

”Trellis quantization” - оптимизирует сам процесс квантования. Согласно руководству кодека, незначительно снижает скорость работы и качество кодирования, однако позволяет более точно рассчитать требуемый битрейт и в целом - понижает его.

Кнопка "Other options" даёт возможность изменить некоторые настройки кодека: заголовок FourCC, определяющий, каким декодеком будет воспроизводиться данный видеоряд, включить/отключить постпроцессинг - дополнительную обработку материала уже при воспроизведении, а также указать способ оптимизации кодека во время кодирования. На качество кодирования эти параметры не влияют.

Теперь ок - и мы в главном окне настроек кодека. Ещё раз ок - и мы закрыли его. Нажимаем F7 или выбираем в меню "File" "Save as *avi". В открывшемся проводнике указываем место и имя (например, pass1) и обязательно внизу отмечаем чекбокс "Don't run this job..." Всё. Настройки первого прохода сделаны.
Переходим ко второму проходу. ”Video” – ”Compression” - Xvid – ”Configure”. В ниспадающем меню ”Encoding type” выбираем ”Twopass - 2nd pass”. Можно нажать на кнопку "More", находящуюся рядом:
”Stats Filename”: если файл статистики, собранной кодеком во время первого прохода, переименован или перемещён, то указываем к нему путь.

”Intra frame tuning”, ”Overflow threatment” - эти параметры управляют компрессией i-frames. Последнее – ”Curve compression” - включение алгоритма криволинейной компрессии. Суть его в следующем:
если качество видеоряда нас не удовлетворило, мы, внимательно просмотрев его весь, разрешаем кодеку снизить битрейт (High bitrate scenes degradation) на высокобитрейтных сценах или повысить (Low bitrate scenes improvement) на низкобитрейтных на указанное нами количество процентов. То есть вручную делаем то, что кодек делает всеми своими алгоритмами самостоятельно. Некоторые риперы пользуются этим алгоритмом для улучшения качества статичных сцен, которые кодек обрабатывает некорректно, чересчур понижая на них битрейт ниже среднего из-за незначительного количества движения. Это характерно для спокойных, нединамичных сцен, а также для чёрно-белого материала. Малейшие артефакты в таких сценах очень заметны - поэтому для них стоит прибавить битрейт; в сценах же с большим количеством движения артефакты заметны будут только в режиме стоп-кадра.

Теперь мы должны решить, что будем ограничивать - размер финального файла, оставив битрейт на усмотрение кодеку, или укажем ему средний битрейт, оставив право распоряжаться размером. Большинство рипперов выбирает первый вариант, поэтому опишем его.

На кнопочке слева от строки с цифрами должно быть написано "Target size". Если там стоит битрейт - щёлкните по ней, затем нажмите кнопку "Calc". Мы попали в калькулятор кодека.
1. Ставим продолжительность и частоту кадров (из DGIndex) кодируемого видеоряда. Format - оставляем контейнер avi (выбор большинства риперов для кодирования в XviD) или выбираем нужный.
2. "Audio - Format" - ставим "None". (Большинство рипперов не кодируют видео и аудио одновременно)
3.Теперь считаем суммарный размер аудиодорожек (если их несколько) - они должны быть уже в том виде, в котором будут присутствовать в рипе, то есть закодированы в нужный формат. Размер нам нужен в килобайтах.
4. Определяемся с размером файла. Имейте ввиду, что:
подавляющее большинство фильмов продолжительностью до 100 минут с одной аудиодорожкой в формате *МР3 и разрешением примерно 576*416 следует пытаться закодировать в 700 мегабайт.

Итак, сжимаем фильм до 700 мегабайт. В ниспадающем меню "Target size" выбираем 716800 - в килобайтах. Затем от этой цифры отнимаем размер аудиодорожки в байтах, скажем 64736 - примерно 64 мегабайта. Результат - 65024 - вводим в имеющееся окно - это и будет будущий размер нашего видеоряда. Нажимаем ввод. Окно калькулятора закрывается. Обратите внимание, что в строке "Target size" (левый скриншот!) стоит именно рассчитанный размер! Иногда это не срабатывает - нужно повторно войти в калькулятор, поставить курсор в поле с выбранным размером и вновь нажать ввод. Калькулятор закроется, и мы должны увидеть соответствующий размер; возможно, он будет немного больше рассчитанного, как в данном примере. Почему это происходит – я не знаю. Запомните, что настраивая второй проход, мы работаем только с калькулятором, не касаясь настроек, сделанных ранее для первого прохода.

Теперь ок и ещё раз ок, чтобы выйти в главное окно программы. Вновь F7 и указываем место и имя уже конечного видеоряда. Если результат первого прохода не нужен, то можно указать его имя. Не забываем поставить галочку в чекбоксе "Don't run this job..."
и нажимаем F4 или "File - Job control":
В открывшемся окне очереди заданий запускаем первое кнопкой "Start" и ждём.
После появления окна работы кодека:
мы можем посмотреть размеры всех обрабатываемых типов файлов, квантайзеры, битрейт и их средние значения. Это полезно на втором проходе, так как первый осуществляется с фиксированным квантайзером, равным 2. Кнопками F9 - F10 можете включить/отключить видео на входе/выходе соответственно и, развернув главное окно даба на весь экран, оценивать качество кодирования, сравнивая картинки.

Этап V: сборка рипа.

Окончательная сборка рипа осуществляется в программме VirtualDubMod. Причина - он работает с несколькими аудиодорожками, в отличие от обычного VirtualDub-MPEG2. Если наш рип должен содержать только одну дорожку - можно воспользоваться и им, оперируя опциями в закладке "Audio". Мы опишем VirtualDubMod.

Открываем видеоряд. Затем ”Streams” - Stream List. Кнопкой ”Add” добавляем необходимые аудиопотоки, приготовленные нам DGIndex на первом этапе (очень желательно, чтобы они были сконвертированы в нужный формат заранее), причём первый добавленный будет воспроизводиться по умолчанию, для включения последующих придётся пользоваться соответствующей опцией плейера или фильтром:
Затем, когда необходимые потоки добавлены - ок и сохраняем конечный рип с соответствующим именем, включив в меню ”Video” режим ”Direct stream copy”. В заключение просматриваем рип на предмет отсутствия рассинхронизации видео и звука.
В заключение я хочу ещё раз акцентировать внимание на тех условиях, которые являются потенциально проблематичными для воспроизведения рипа на стационарных проигрывателях с поддержкой MPEG4:
1. ”Quarter pixel”
2. ”Global motion compensation”
3. ”Max consecutive b-vops” более 1.
4. ”Packed bitstream”
5. переменный битрейт звуковой дорожки.
6. использование нестандартных матриц квантования. По поводу матрицы ”Bulletproof's High Quality Matrix” могу сказать, что все мои рипы закодированы именно ею и все они без проблем воспроизводятся у меня на Xoro HSD 400 pro с последней официальной прошивкой.

Этап VI: извлечение субтитров.


Для этого нам понадобиться исходный *vob (-ы) и программа Subrip.
Меню ”File” – ”Open vobs” – в открывшемся окне – ”Open dir”, указываем наш *vob или *ifo, затем выбираем нужный поток субтитров в ниспадающем меню ”language stream”, после - ”Start”:
Программа будет показывать нам каждый графический символ, а мы - указывать ей с клавиатуры текстовый эквивалент. Пример: программа показывает символ «Ф» - набираем заглавную «Ф», на символ «п» - маленькую «п», на символ «ро» - надо нажать подряд две буквы без пробела – «р» и «о». Через какое-то время матрица распознавания символов пополнится и работа пойдёт быстрее. Вместо символа «Ы» и «ы» выбираем что-либо маловероятное, например, &*, которую затем в текстовом редакторе меняете на соответствующую букву. По окончании работы программы сохраняем (нижнее окно программы) файл субтитров в формате *srt (выбор большинства рипперов), или во все форматы, что очень хороший тон. Редактируете файл на предмет двойных кавычек, пунктуации, особенно ненужных многоточий – этим почему-то грешат русские субтитры (по моему опыту) и сохраняете. Помните, что если имя фильма и имя файла субтитров совпадают, то субтитры будут подгружены плейером или фильтром автоматически при нахождении обоих в одной папке.
В качестве примера качества рипов, сделанных по вышеизложенным рекомендациям, вы можете скачать из сети ed2k мои рипы - «Людвиг», «Рокко…», «Орфей», «Завещание Орфея», «Сломанные цветы», «Хиросима, любовь моя» и просмотреть, воспользовавшись функцией «Предпросмотр». Найти их можно очень легко, задав поиск файлов *avi по моему нику – Masah.

В плане расширения и углубления ваших знаний и умений предлагается посетить и изучить следующие ресурсы:
http://www.chiariglione.org/mpeg/standards.htm
http://www.mpeg.org/MPEG/video.html
http://xvid.ru/docs/rip/dvd/avsynru.htm
http://www.dimonka.lux.co.il/wbboard...d=36&styleid=1
http://www.ixbt.com/divideo/avisynth1.shtml
http://www.short-media.com/review.php?r=267
http://www.hopka.org.ua/articles/
http://www.short-media.com/review.php?r=267
и, конечно же,
http://www.doom9.org/

Ссылки на используемые программы:

DVD decrypter – поскольку распространение программы является нелегальным, http ссылки дать не могу. Следует скачать из сети ed2k.
DGIndex
BeLight
BeSweet
Кодек XviD
VirtualDub-MPEG2
VirtualDubMod
Subrip

Ссылки и все материалы руководства актуальны на 4 августа 2006 года. Архив со всеми используемыми программами находится здесь: http://www.megaupload.com/?d=S1UNOYFF
Версии программ в архиве также актуальны на 4 августа 2006 года.

- Как отличить хорошую картину от плохой?
- Посмотреть миллион картин.

Курт Воннегут-младший.

Последний раз редактировалось Masah; 23.08.2006 в 07:35..
Masah вне форума   Ответить с цитированием
Старый 20.01.2007, 00:52 Вверх     #2
Fromandos
Новичок
 
Аватар для Fromandos
 
  
Регистрация: 24.05.2006
Был(а) у нас: 02.03.2009 18:21
Сообщений: 9

Пол: Мужской
По умолчанию

Masah,
---------------------------------
Шалом, Israel!
Masah, я внимательно ознакомился с твоей инструкцией, но у меня возникли вопросы по настройке кодека XviD: меня интересует, что за набор Format: AVI-OpenDML, Matroska и т.д, находящиеся в Conteiner?
--------------
Спасибо, Fromandos
Fromandos вне форума   Ответить с цитированием
Старый 26.01.2007, 07:26 Вверх     #3
ryslan
Новичок
 
  
Регистрация: 26.01.2007
Был(а) у нас: 02.03.2009 01:56
Сообщений: 5

Пол: Мужской
По умолчанию

У меня такая проблема. При перекодировке некоторых двд выходной файл проигрывается какими-то рывками. Звук нормальный, а картинка на сценах, где происходит движение объектов или наезд\панорама камеры дергается (как-бы происходит мгновенное замирание с последущим кратковременным нормальным проигрыванием). Кодировал и DivX, и Xvid - одинаково. Вот что я еще обнаружил: при перекодировании wmv в DivX или Xvid всегда на выходе получаются такие "рывки". Кто знает, как с этим бороться?
ryslan вне форума   Ответить с цитированием
Старый 28.01.2007, 00:54 Вверх     #4
Fromandos
Новичок
 
Аватар для Fromandos
 
  
Регистрация: 24.05.2006
Был(а) у нас: 02.03.2009 18:21
Сообщений: 9

Пол: Мужской
По умолчанию

Ты выходной файл записываешь куда: на диск (болвалку, матрицу) или на флешку (USB)? Если на флешку, которую ты затем вставляшь в проигрыватель, то тогда и получается то о чем ты говоришь. У меня такая же проблема, если я с помощью флешки смотрю записанный фильм. Если запишешь на болванку, такой проблемы не будет!

Удачи!., С Ней И Без Нее!
Fromandos вне форума   Ответить с цитированием
Старый 29.01.2007, 02:19 Вверх     #5
ryslan
Новичок
 
  
Регистрация: 26.01.2007
Был(а) у нас: 02.03.2009 01:56
Сообщений: 5

Пол: Мужской
По умолчанию

Да, нет. Дело совсем не в этом, хотя такая ситуация вполне возможна (недостаток скорости флэшки). Дерганье при воспроизведении с жесткого диска.
ryslan вне форума   Ответить с цитированием
Старый 29.01.2007, 11:47 Вверх     #6
Fromandos
Новичок
 
Аватар для Fromandos
 
  
Регистрация: 24.05.2006
Был(а) у нас: 02.03.2009 18:21
Сообщений: 9

Пол: Мужской
По умолчанию

Ryslan, уточни тогда, при воспроизведении какого именно диска возникает эта проблема? Если на твоем HDD - то естественно проблема в нем. Опиши конкретно, очень мало информации, чтоб сделать заключение! Ну, в противном случае, перегони мне на PM этот проблемный кусок!

Удачи!., С Ней И Без Нее!
Fromandos вне форума   Ответить с цитированием
Старый 29.01.2007, 13:10 Вверх     #7
bumpo
Banned
 
Аватар для bumpo
 
   Возраст: 65
Регистрация: 21.10.2006
Был(а) у нас: 08.05.2008 20:12
Сообщений: 1,050

Пол: Мужской
По умолчанию

Masah,
Я абсолютный "чайник" в этом вопросе,но насколько я знаю есть программы которые делают рип,например FairUse Wizard.
bumpo вне форума   Ответить с цитированием
Старый 30.01.2007, 09:18 Вверх     #8
ryslan
Новичок
 
  
Регистрация: 26.01.2007
Был(а) у нас: 02.03.2009 01:56
Сообщений: 5

Пол: Мужской
По умолчанию

2 Fromandos: еще раз поясню ситуацию - есть двд диск с несколькими фильмами закодированными примерно с одинаковыми параметрами. После перекодировки в мпег4 один из фильмов воспроизводится "рывками" (другие с этого же диска - нормально). Жесткий диск - не причем, т.к. его скорости хватает на одновременое воспроизведение десятка фильмов. Дело в настройках кодера (DivX, Xvid). Я и спрашиваю у знатоков какие параметры кодера "пошевелить", что бы убрать этот эффект.

2 bumpo: пользуюсь #1 DVD Ripper - лучший ИМХО (все настраивается - например, разрешение выходного видео можно установить какое угодно да еще и обрезку темных полей сделать). Перепробывал все, что есть для этого и остановился именно на нем. VirtualDub-MPEG2 пользую только в случае, если двд закодирован с ошибками или поврежден.
FairUse Wizard - плох тем, что берет только двд диски, а двд файлы с жеского диска кушать не желает (можно конечно делать образ и потом запускать с виртуального дисковода, но зачем мне эта дополнительная суета?).
ryslan вне форума   Ответить с цитированием
Старый 30.01.2007, 23:46 Вверх     #9
Fromandos
Новичок
 
Аватар для Fromandos
 
  
Регистрация: 24.05.2006
Был(а) у нас: 02.03.2009 18:21
Сообщений: 9

Пол: Мужской
По умолчанию

Ryslan! Да, ты уже не новичек, а продвинутый!
Я бы попробывал поставить кодек по default и посмотрел, что из этого получиться! Интересно, а как называется этот злополучный фильм, если он у меня есть в коллекции, так я его перегоню!

Удачи!., С Ней И Без Нее!
Fromandos вне форума   Ответить с цитированием
Старый 31.01.2007, 04:30 Вверх     #10
ryslan
Новичок
 
  
Регистрация: 26.01.2007
Был(а) у нас: 02.03.2009 01:56
Сообщений: 5

Пол: Мужской
По умолчанию

2 Fromandos: я обычно использую предустановленные профили (например, Home Theater), которые гарантированно дают возможность воспроизведения на аппаратных плеерах. А фильм, на котором последний раз такое случилось The Longest Yard. Кусочек фильма можешь посмотреть здесь ВВВ.megaupload.com/?d=D6Y8U3C3 (1.9М -ВВВ замени на www ). Как видишь, облака смещаются не плавно, а рывками. В исходном (двд) этого небыло.
Спасибо за искреннее желание помочь
ryslan вне форума   Ответить с цитированием
Ответ


Метки
100, в поисках, важно, артефакты, время, видео, большой, вопрос, выбираем, выбор, avi, avisynth, где, заставки, звук, ролики, руководство, dvd, режима, картинки, как это сделать, когда, информация, идеи, люди, навигация, образ, найти, настройка, материалы, программа, проблема, проблемы, происхождение, процесс, предсказания, минус, новый, помочь, операция, остаться, оформление, mpeg, сам, сборка, сборник, скачать, символ, собака, смотреть, ссылки, фильм, фильмы, хуже, open, тебе, video, это просто, если, дело, действительно, жёсткий, цветы, что


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Словарь терминов и сокращений AlexStorm Видео Лаборатория 3 28.06.2007 15:12


Часовой пояс GMT, время: 10:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Follow FriendsForumCom on Twitter liveinternet.ru Рейтинг@Mail.ru