DivX 4.12. Последовательность кодирования.

Список действий и программ.


1. Риппинг - перенос содержимого DVD на винт.
2. Создание фрэймсервисного проекта и выделение звука.
3. Кодинг видео.
4. Кодинг аудио.
5. Миксинг видео и аудио.
6. Нарезка на диски.
7. Субтитры.

Риппинг.

На данный момент предпочтение отдается Smart Ripper, начиная с версии 2.41.

Вставляем диск, запускаем SmartRipper, выбираем копировать Movie. Выбираем нужные чаптеры или части фильма. Не всегда фильм или сборник клипов разбиты по нормальному - столкнуться можно с совершенно непредсказуемым разбитием видео по диску. Можно копировать содержимое по VOB-ам, можно разбивая их на нужный размер, можно копировать по чаптерам - все зависит от предпочтений. Кодирование от разбивки не зависит.

Обоснование кодирования по чаптерам:
1. Никаких особых сложностей по сравнению с обычным кодированием по ВОБам не возникает.
2. При кодировании по чаптерам мы точно знаем, что ключевой кадр будет попадать на начало чаптера, а переход по чаптерам в БСплэере осуществляется именно по ключевым кадрам, и в случае, если КК будет попадать не на начало чаптера, плэер будет начинать чаптер с ближайшего следующего КК. Также можно подогнать видео под два диска по чаптерам - заранее зная, какие чаптеры войдут у нас на первый диск, а какие - на второй.
3. Если мы закодировали весь фильм, и оказалось, что он не вписался у нас по весу всего на 30-40 мег, которые нельзя превысить на болванке, то нам не понадобится перекодировать весь фильм заново - достаточно будет перекодировать только пару-тройку чаптеров (обычно динамичных, на них меньше заметны артефакты сжатия), с чуть меньшим битрейтом, чтобы подогнать размер фильма под КДшку.
4. Отличия: звук нам придется декодировать лишь полностью загрузив все чаптеры в dvd2avi, чтобы накладывать звук на общий файл, а не в каждый чаптер; заносить в dvd2avi и создавать проекты нужно будет по отдельности каждому чаптеру, создавать фреймсерв придется каждому чаптеру, кодировать кодеком придется каждый чаптер - они выстраиваются в последовательность Job в Дубе. Это все отнимет лишние 10-15 минут на выбор и добавление файлов, экономия же, в случае перекодирования, составит часы - не придется полностью кодировать заново весь фильм.

Фрэймсервер и его проект.

DVD2AVI, версий много, у каждой есть свои недостатки, идеальной нет.

Video.

Открываем в DVD2AVI либо нужный чаптер, либо все чаптеры фильма. Параметры - Video/iDCT algorithm - 32bit, Video/Field - none (Forced Film не предназначен для iVTC и использовать его не рекомендуется), остальное не трогаем.

Audio.

Если нужен оригинальный звук, то выбираем Track = 1, Ch.Format = auto select, DD = Demux all, MPEG = Demux all, 48->44 = off (это лучше делать в спец. редакторах), normalize = off (аналогично).

Если нужно получить WAV для последующего сжатия в другой формат (MP3, WMA, Divx), то DD = Decode.

Project.

Стрелками и скобками справа внизу можно выделить отрезок по ключевым кадрам. Далее File/Save Project. В указанный каталог будет скинут небольшой проект .d2v и выбранный звук.

VFAPI. Версия пока одна.

Для начала устанавливаем кодек фреймсервера - VFAPI codec, который хранится в дистрибутиве вместе с VFAPI reader, и перегружаем систему.

Запускаем VFAPI Reader (VFconv), переносим в нее мышью наш проект .d2v, на глупые вопросы на английском или японском языке отвечаем - "все ОК!", а после этого - Convert. Получаем в каталоге с проектом avi-файл с фреймсервисом. После этого переносить ни VOB, ни d2v нельзя - фреймсервер их потеряет.

Кодирование ДивХ 4.12.

Собственно ради чего написана эта статья. Кодируем в Дубе. Версия любая, кроме Нандуба, который не понимает кодека 4.12. Запускаем Дуб, переносим мышью в него фреймсервисный avi-проект. Настройки:

1. Video/Filters/Add - добавляем нужные фильтры деинтерлейсинга, изменения размера кадра (с размером кадра вы уже определились), шторок, обрезки и т.д.

2. Video/Frame Rate - если фильм 30 fps, и снят не на цифровую камеру, то мы можем попробовать применить iVTC (inverse telecine/ reconstrusct-adptive). Это даст нам уменьшение количества кадров в секунду до 24 при полном сохранении информативности видеоматериала. Кроме уменьшения реального количества кадров, а следовательно увеличения их качества при том же весе файла, это даст и снижение нагрузки на процессор. У Дуба глючный алгоритм и можно получить 2х КК. Можно применить для этих целей Дуб, пропатченный "Стасом", у него более совершенный алгоритм, но также не идеальный.

3. Video/compression/DivX 4.12/Configure - настройка кодека. Вы уже давно определились с битрейтом - какое качество вы хотите получить и в какой размер файла уложиться при этом. Задаем кодирование в два прохода, variable bitrate mode - "2 pass, first pass", performance - "Slowest", Output Stream - ваш битрейт (для идеальной картинки предпочтительно 1000-1200, для полукадра - 700-900), Max KF interval - ваш интервал для ключевых кадров (предпочтительно 25, 75, 125, но при желании можно и 250, хотя это не дает большого выигрыша по весу; при 25 будет легче перематывать фильм посекундно в поисках нужного фрагмента при просмотре). Галочку Deinterlace лучше не ставить - во-первых, вы делаете деинтерлейс Дубом, во-вторых, обнаружены глюки при применении этой опции, кодинг может вылетать. Min-Max Quantizer предлагаю не трогать, т.к. его настройка строго индивидуальна и требует экспериментов, прежде чем измененный параметр можно будет применить к определенному фильму. Вообще параметры справа лучше не менять - они строго индивидуальны для каждого фильма и требуют большой осторожности, т.к. при неправильном применении можно получить значительное ухудшение картинки. Самое важное, задать, где будет лежать и как называться log-файл для нашего проекта - местоположение указывается кнопкой select. На этом заканчивается настройка кодека для первого прохода.

4. File/Save As AVI - задаем название файла, не забыв прибавить .avi, и ставим галку "Add operation to job list". ОК. После этого опять заходим в Video/Compression/Configure и ничего не меняя, выбираем "2-pass, second pass". Опять File/Save As AVI - там уже будет стоять наше название фильма и ".avi", опять ставим галку "Add to job". ОК.

5. Процесс. Заходим в File/Job Control (F4) и делаем Start. Отдыхаем от непосильных трудов несколько часов, в зависимости от мощности машины, наблюдая время от времени, насколько все запущено. После окончания второго процесса любуемся на полученный файл, запускаем его в плэере, копируем туда-сюда, в общем делаем с ним чего захотим.

Кодирование Аудио.

Если мы хотим получить мп3, wma, divx-audio.

Значит мы сделали в dvd2avi "Decode DD". В результате получили стерео WAV, лежащий в каталоге с проектом. Этот WAV мы можем - а) привести к 44 кГц в аудио редакторах (Cool Edit Pro, Sound Forge, Wavlab и т.д.); б) нормализовать, т.е. повысить общую громкость до определенного уровня (и даже свыше этого) в тех же аудио редакторах; в) использовать динамическое повышение громкости - повысить громкость тихих участков, не изменяя громкости громких, чтобы не было общих завалов звука; г) закодировать для уменьшения места в фильме (в 5-20 раз) и ухудшения качества (в 1-4 раза) - множеством программ кодинга, как-то: L3ProducerPro (от Фраунхофера), MP3 Compressor, Lame, CodAxe, Blade, Catalist, XING, AudioActive MP3 Pro и пр. Также можно закодировать его в WMA - утилитой от Мокрософт или простым Винампом, версиями от 2.7.

Если мы хотим получить АС3.

Значит мы делали "Demux All". Если в фильме было больше одного потока DD, то мы получим несколько файлов с расширением АС3 в папке с проектом. Просто выберем нужные нам.

Миксинг Видео и Аудио.

Если мы хотим смикшировать видео с mp3.

Открываем свой видеофайл в любом Дубе. mp3 для этого должен иметь RIFF-заголовок, иметь структуру и расширение "WAV". Это умеет делать при кодировании Фраунхоферовский Продюсер 2.1, можно также добавить заголовок готовому mp3 утилитой "wavemp3" (200 кб). Далее, в Дубе - Audio/WAV audio, открываем свой WAV-MP3; Audio/interleaving - Enable, Preload = 2500, every = 500 ms, Delay = значению, указанному в названии wav, который создал dvd2avi, если же в названии delay не указан, то в Дубе = 0. После этого ставим Video/Direct stream и File/Save as AVI. После непродолжительного копирования мы можем посмотреть получившийся результат.

В некоторых случаях мы получим отставание или опережение звука. Это может быть по многим причинам. Один из способов (но не панацея), является установить в Дубе одинаковую длину видео и аудио потоков, при этом фреймрейт несколько отклонится от заданного (обычно на тысячные-десятые доли кадра), что не даст нам никаких неудобств при просмотре. Video/Frame Rate - "change so audio and video durations match". После этого снова сохраняем готовый АВИ. Если это не помогло, и звук расходится, попробуйте сдвигать начало звука (Audio/interleaving/delay), задавать вручную сотые-десятые доли фреймрейта. При кодировании сграбленного видео, особенно с некачественного источника (ТВ сигнал, старый VHS), может иметь место нелинейного выпадения фрагментов звука/видео, которые ничем не лечатся, в этом случае придется смириться с несинхроном (при этом случае он будет еще и плавать - в начале и в конце фрагмента синхрон можно подобрать, а в середине он будет уплывать в какую-то сторону).

Если мы хотим вставить АС3 или vbr-abr mp3.

Это умеет Нандуб. У него есть отдельные пункты в меню Audio для каждого из этих типов звука.

Для АС3 задаются параметры: Enable, Preload = 0, Interleave = (96/128/160 ms/1 frame), delay = должен быть указан в файле ас3, созданном dvd2avi.

Если мы хотим вставить второй поток (mp3, ac3).

Это умеет Нандуб от версии 1.0rc2. В меню Audio у него появляется пункт Secondary stream, в точности соответствующий обычному (первому) потоку звука.

Нарезка на диски.

Открываем в Дубе свой фильм. Если звук 2-потоковый или АС3, то открываем в Нандубе. Т.к. действие на протяжении фильма имеет разную динамичность, мы не сможем точно сказать, что середина фильма в минутах будет соответствовать и середине файла. Чаще всего это как раз не так. Поэтому разделить фильм по мегабайтам можно только на глаз. Резать всегда нужно только по ключевым кадрам - в Дубе переход на следующий КК осуществляется кнопками с желтыми ключиками или Shift-стрелками вправо-влево. Лучше всего резать фильм по смене сцены действия, такой разрез будет наименее болезнен при перестановке дисков при просмотре. Если не удается разрезать точно по смене сцен, то можно резать и посреди сцены, но желательно, чтобы разрез не попал на середину диалога, чтобы героя не оборвали на полуслове. Если же и это не удалось, то стоит второй кусок начать не с полуслова, а чуть-чуть раньше, чтобы не пропали интонации монолога.

Выбрав место резки, и перейдя на него по ключевым кадрам, нажимаем черную полустрелку вправо, отметив конец фрагмента. Далее нажимаем стрелку влево с палкой, чтобы перейти на начало фильма и нажимаем там черную полустрелку влево, чтобы отметить начало фрагмента. После этого ставим Video и Audio - direct stream copy и сохраняем File/Save As AVI (имя файла задаем конечно же другое, чтобы не затереть оригинальный файл с фильмом). Если нас не удовлетворяет вес первого куска фильма, то переходим по КК на позицию раньше или позже конца выделенного фрагмента и пробуем еще раз. Когда вес файла нас будет удовлетворять, переходим на конец выделенного фрагмента Edit/Move to selection end и нажимаем черную полустрелку влево, отметив тем самым начало следующего фрагмента. Потом переходим стрелкой на конец фильма и отмечаем конец второго фрагмента. Сохраняем фрагмент под другим именем.

Субтитры.

Программа SubRip позволяет определить (OCR) субтитры на любом языке из VOB-файлов.

После запуска программы можно сразу выбрать IFO файл с DVD, либо последовательность ВОБов с винта. После этого программа как правило автоматически выделяет потоки субтитров и предлагает выбрать субтитры нужного языка, а также задать имя таблицы символов. После нажатия на кнопку Start, программа начинает искать субтитры. И как правило находит. О чем и сообщает радостно, предлагая также выбрать схему цветов, при которой ей нужно будет определять символы, обычно она сразу предлагает наиболее контрастную схему без контура вокруг букв. После этого начинается распознание - прога предлагает определить, что за букву она нашла. Буква "Ы" для нее является двойной - она находит палку отдельно, поэтому лучше задавать "Ы", как последовательность из "Ь" и "l" - после получения готового результата это буквосочетание можно заменить автоматически в любом редакторе обратно на букву "Ы". С другой стороны во многих шрифтах она находит сразу буквосочетания, обычно связанные с буквами "w", "t" и т.д., у которых выступающие части могут сливаться со следующими бувками без пробела. В этом ничего страшного нет - нужно просто задать буквосочетание. Кавычки для нее так же являются парой апострофов. В этом тоже нет ничего страшного - после полного выделения текста можно задать опцию - поменять двойные апострофы на кавычки (Corrections/Post OCR correction). Также после полного определения можно задать и проверку на замену "I" и "l" - их довольно сложно опознать, в большинстве пропорциональных шрифтов они рисуются одной палкой. Программа довольно удачно их корректирует (для английского, французского и немецкого языка). Если мы кодировали только фрагмент VOB файла, то зная, сколько мы отрезали от него в начале, можно сразу откорректировать и начало субтитров (Corrections/Time correction). Так как по умолчанию SubRip создает субтитры в формате .srt (а она позволяет сохранять субтитры еще в пяти видах sub и txt), зависящие от таймштампа (прописывается время от начала фильма - начало и конец показа каждой строки субтитров), то нам нет нужды корректировать скорость их вывода (Speed Ajust) в случае, если мы применили iVTC и появилась разница в фреймрейте (VOB = 30 fps, AVI = 24 fps), но возможность корректировки скорости вывода субтитров есть.

После полного определения и корректировки мы записываем файл под своим названием с расширением srt. Это обычный текстовый файл, который мы можем в случае надобности проверить на орфографические ошибки, или заменить/добавить какие-то слова в простом текстовом редакторе (типа Нотепада).

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

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


(c) 07/2002, Сибирский Лихоман http://mydivx.lihoman.ru
Следующая статья раздела
Возврат на список статей