DivX. Основы создания видео на компьютере
Микширование
Объединять звук с видео можно при помощи программы VirtualDubMod,
это переделанный Virtualdub и со своей задачей он справляется на все
100%. Он понимает звук MP3, AC3, OGG, WAV, в общем, весь набор.
Правда, при использовании MP3 VBR (переменный битрейт), и
последующем открытии в Virtualdub, он будет утверждать, что у вас
проблемы со звуком. Поясню на счёт переменных битрейтов. Официально,
на сайте VirtualDub заявлено, что формат AVI не поддерживает
переменный битрейт, вернее его можно вставить в AVI, но он может
быть рассинхронизирован с видео. У меня проблем ни разу не было, но
эта информация официальная.
Так же следует учитывать, что при микшировании видео и аудио MP3,
происходит дописывание к получаемому файлу 10-20 мегабайт. Это
служебная информация (называемая "frame overhead"). При создании
видео формата OGM этого не происходит (поясню, формат OGM получается
при микшировании обычного AVI и аудио формата OGG, VirtualDubMod
тоже это делает).
Я рекомендовал бы вам пользоваться форматом OGM, для этого есть
несколько предпосылок.
- В OGM не расходуется место на "frame overhead"
- Звук OGG на низких битрейтах гораздо качественнее, чем MP3
того же битрейта
- Он без проблем работает с переменными битрейтами.
Короче, делаем это так: в VirtualDubMod открываем видео файл. В
разделе "Video" ставим опцию "Direct stream copy". В разделе
"Streams" заходим в опцию "Stream list" и выбираем файл с уже
приготовленным ранее звуком. Далее, заходим во вкладку File->
Save as... Там выбираем формат, в который будем сохранять (AVI,
OGM), выбираем "Direct stream copy" в подразделе "Video mode" и
нажимаем сохранить. Работа закончена.
Обо всём понемногу
По поводу одно или двух проходного кодирования, на первый взгляд,
разницы никакой, при детальном просмотре двух и одно проходного
кодирования я выяснил, что там, где есть движение, двухпроходное
кодирование работает достаточно эффективно. Для двух проходного
метода есть два режима работы - первый и второй проход, они описаны
ниже, в настройках работы DivX. Ещё, в пользу двух проходного
кодирования можно отнести практически 100% попадание размера файла в
рассчитанный размер. При однопроходном кодировании, размеры файла
могут очень сильно варьироваться.
Немного о пользовании Virtuldub. Если у вас возникнет желание
зажать в два прохода, есть возможность не подходить каждый раз к
компьютеру, когда выполнится проход, а сделать это в виде скрипта,
который автоматически выполнит оба прохода, а вы только проверите
результат. Делается это так. В настройках звука ставим "No audio",
звук будет наложен после обработки видео. Сделайте все установки в
кодировщике на первый проход (Video -> Compression ->
DivX5-> Configure -> 2-pass, first pass), установите битрейт и
другие установки. Зайдите в сохранение ( File -> Safe as AVI ),
поставьте галку "add operation to job list and defer processing"
наберите название AVI файла и нажмите сохранить, процесс сразу не
запуститься, он будет занесён в очередь. Также настраиваем на второй
проход (2-pass, second pass), заходим в сохранение и производим там
те же действия. После этого можно продолжить заниматься своими
делами. Когда компьютер освободится (например, ночью), запускаем
Virtualdub и даём команду (File -> Run script ->
VirtualDub.jobs) на исполнение скрипта, написанного нами ранее. Файл
VirtualDub.jobs находится в каталоге с установленным VirtualDub.
VirtualDub выполнит все задания, написанные нами ранее. После
выполнения скрипта, закройте VirtualDub и удалите файл
VirtualDub.jobs. При помощи этого скрипта можно также монтировать
фильмы (запоминаются все вырезки, вставки, наложения, всё так, как
вы хотели сохранить), подбирать наиболее качественное сжатие (ставим
несколько заданий на сжатие одного и того же файла, но с разными
размерами картинки, на утро нам предложат несколько авишек). В
общем, очень удобная вещь. А в целом для описания работы с
VirtualDub требуется отдельная статья и выходит за рамки описания
работы с DivX.
Немного о настройках DivX 5
Ниже приведено описание настроек кодера DivX 5. Некоторые функции
уже отсутствуют в DivX 5.05, но я их оставлю, для полноты описания
всех кодеков DivX 5.
Variable bitrate mode.
Доступны следующие значения: 1-pass - режим кодека, при
котором битрейт примерно выдерживается в указанном значении, это
режим с переменным битрейтом. 1-pass quality based - режим
кодека, при котором битрейт удерживается в заданном значении не
зависимо от сцены. При изменении уровня качества меняется так же и
коэффициент сжатия кадров. Этот режим не рекомендуется использовать
для хранения информации, а только как материал для последующей
обработки. 2-pass first pass - Видео кодируется в два
прохода, в первый проход создаётся файл статистики, во второй уже
кодится итоговый материал. Это первый проход, когда создаётся файл
статистики. Файл, в который будет писаться *.AVI при первом проходе,
ничего в себе не несёт, он нужен как своп файл, на втором проходе
его можно заменить на настоящий AVI. 2-pass second pass - В этот
проход создаётся итоговый файл, руководствуясь данными из файла
статистики, созданным во время первого прохода.
MPEG-4 Tools Use Quarter Pel - Функция,
предназначенная для просчёта движения пикселов с точностью до 1/4
пиксела. Реального выигрыша от этой функции я не вижу никакой, а на
слабых компьютерах это вообще противопоказано. Use GMC (Global
Motion Compensation) - Помогает улучшать сцены, где используются
наезды на объект, панорамирование. То есть, пытается передать
максимум информации из предыдущих кадров (ведь они практически не
изменяются, особенно при панорамировании). Я бы не рекомендовал
использовать этот режим, уже наблюдались проблемы с разваливанием
картинки на квадраты при использовании этой функции. Use
Bidirectional encoding - режим работы, при котором дельта кадры
делятся на P-frame и B-frame (в DivX 3-4 были только P-frame).При
работе B-frame используют не только предыдущий кадр, но и следующий
(P-frame рассчитывал картинку только по предыдущему кадру), что даёт
нам дополнительный толчок для повышения качества картинки. B-frame
получаются очень маленькие, значит можно больше объём выделить на
P-frame. Рекомендуется к включению.
Enable Crop - При включении этой функции видео изображение
будет подрезано на столько пикселей, сколько выставите в
пунктах: Crop top - обрезка сверху Crop left -
обрезка слева Crop right - обрезка справа Crop
bottom - обрезка снизу
Psychovisual Enhancements. Как заявлено производителем,
это попытка убрать из изображения ненужные детали (психовизуальное
восприятие человека). Про эту функцию могу описать свои выводы: В
положении Light стало лучше передавать тёмные полутона. Разницу же
между OFF и Strong я не заметил.
Maximum key frame interval. Максимальное количество дельта
кадров между ключевыми кадрами. В новый кодек изначально встроен
механизм вставления ключевых кадров по изменению сцены. Эта цифра,
как и следует ожидать, заставляет кодек вставить ключевой кадр, если
он не вставлен SCD механизмом. По умолчанию стоит 300, что
соответствует 10-12 секундам, в зависимости от frame rate. Я же
рекомендую ставить 50-100, что соответствует 2-4 секунды, это
несколько увеличивает размер конечного файла, но вместе с этим
облегчает поиск нужного фрагмента, и улучшает качество (ведь в
течение этого интервала кодек не показывает кадр целиком, а получает
из ключевого, путём передачи изменений оного, при этом возможны
любые искажения).
Scene change threshold Теоретически должен отлавливать
порог изменения сцен, при котором нужно вставлять ключевой кадр, но
реально работает не очень корректно, если выставить очень маленький,
то в некоторых местах они (ключевые кадры) будут через каждый кадр,
а там, где сцены явно изменяются, он их не ставит. Это происходит
потому, что он сравнивает соседние кадры, а сцена может меняться
5-10 кадров. Рекомендую выставить 20%.
Enable Resize - при включении этой функции будет
произведено изменение размеров видео. Output width x
height - получаемые ширина и высота. Методы расчета изменения
размеров: Bilinear (Very Soft) - билинейный, самый простой
в расчетах, соответственно самый быстрый, рекомендуется только для
уменьшения размеров. Bicubic (Soft) - кубический мягкий,
самый простой из кубических. Bicubic (Normal) - кубический
нормальный. Bicubic (Sharp) - кубический чёткий,
рекомендуется для всех видов изменения размеров, но он самый
медленный.
Pre Processing Source Заявлено производителем, как
шумодав. На самом деле просто происходит сглаживание картинки, что
несомненно, помогает при работе кодера и качество картинки в целом
растёт. В положении Extreme происходит максимальное сглаживание, в
положении Light - минимальное сглаживание.
Source Interlace. Имеет 3 положения: All frames are
progressive - с исходным видео ничего не делается кроме
сжатия. All frames are interlaced - Конвертирует из
чрезстрочного видео (при захвате сигнала PAL) в
прогрессивное. All frames telecine - Конвертирует из
чрезстрочного видео (при захвате сигнала NTSC) в прогрессивное.
Вместе с этим, частота видео снижается с 30 кадров до 24, без потери
качества.
Существенное замечание: При включении All frames are interlaced
или All frames telecine, не должно быть изменено разрешение видео
материала перед кодером.
Data rate control (RC) - управление
битрейтом Maximum quantizer и Minimum quantizer - прямой
перевод, коэффициент квантования, но реально, эти параметры задают
максимальный и минимальный коэффициенты сжатия P-frames. В работе
Maximum quantizer практически не используется, а вот Minimum
quantizer задаёт основное качество. Если Minimum quantizer выставить
в 2, то это будет означать работа без сжатия и уменьшение размера
видео будет только за счёт работы P-frames и B-frames. Rate
control averaging period, frames. Определяет как долго кодек
"помнит" как менялся битрейт в процессе кодирования. Высокое
значение этого параметра стоит ставить, если в кодируемом материале
есть длинные динамичные сцены. Rate control reaction period,
frames. Определяет, как быстро кодек меняет битрейт с изменением
сцены. Rate control up/down reaction. Определяет, как
резко кодек может менять битрейт при изменении сцены.
Performance/quality имеется четыре возможных
значения: Slowest.
Slow. Medium.
Fast. Fastest.
Значения достаточно очевидны, предлагается выбрать что важнее -
скорость кодирования или качество итогового материала. Учитывая, что
кодировать надо всего один раз, а смотреть много, то оптимальный
выбор, IMHO, очевиден...
Write conversion log file. Нужен для ускорения
2-проходного кодирования.
Продолжение темы следует:
|